From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751394AbdJNX3m (ORCPT ); Sat, 14 Oct 2017 19:29:42 -0400 Received: from mga07.intel.com ([134.134.136.100]:15506 "EHLO mga07.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750918AbdJNX3l (ORCPT ); Sat, 14 Oct 2017 19:29:41 -0400 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.43,378,1503385200"; d="gz'50?scan'50,208,50";a="1205903473" Date: Sun, 15 Oct 2017 07:29:36 +0800 From: kbuild test robot To: Will Deacon Cc: kbuild-all@01.org, linux-kernel@vger.kernel.org, "Paul E. McKenney" Subject: [rcu:rcu/next 30/45] include/linux/compiler.h:343:2: error: implicit declaration of function 'smp_read_barrier_depends' Message-ID: <201710150732.Bveddu9V%fengguang.wu@intel.com> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="ew6BAiZeqk4r7MaW" Content-Disposition: inline User-Agent: Mutt/1.5.23 (2014-03-12) X-SA-Exim-Connect-IP: X-SA-Exim-Mail-From: fengguang.wu@intel.com X-SA-Exim-Scanned: No (on bee); SAEximRunCond expanded to false Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org --ew6BAiZeqk4r7MaW Content-Type: text/plain; charset=us-ascii Content-Disposition: inline tree: https://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu.git rcu/next head: ea788e7da4886dff9782ad61d4c5e6ebadfa8260 commit: c3a030152f67ef977129c11e5b37a8e6071d4b6f [30/45] locking/barriers: Kill lockless_dereference config: sparc-alldefconfig (attached as .config) compiler: sparc-linux-gcc (GCC) 6.2.0 reproduce: wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross git checkout c3a030152f67ef977129c11e5b37a8e6071d4b6f # save the attached .config to linux build tree make.cross ARCH=sparc All errors (new ones prefixed by >>): In file included from include/uapi/linux/stddef.h:1:0, from include/linux/stddef.h:4, from include/uapi/linux/posix_types.h:4, from include/uapi/linux/types.h:13, from include/linux/types.h:5, from include/linux/thread_info.h:10, from arch/sparc/include/asm/current.h:14, from include/linux/sched.h:11, from arch/sparc/kernel/asm-offsets.c:13: include/linux/list.h: In function 'list_empty': >> include/linux/compiler.h:343:2: error: implicit declaration of function 'smp_read_barrier_depends' [-Werror=implicit-function-declaration] smp_read_barrier_depends(); /* Enforce dependency ordering from x */ \ ^ include/linux/compiler.h:346:22: note: in expansion of macro '__READ_ONCE' #define READ_ONCE(x) __READ_ONCE(x, 1) ^~~~~~~~~~~ include/linux/list.h:202:9: note: in expansion of macro 'READ_ONCE' return READ_ONCE(head->next) == head; ^~~~~~~~~ cc1: some warnings being treated as errors make[2]: *** [arch/sparc/kernel/asm-offsets.s] Error 1 make[2]: Target '__build' not remade because of errors. make[1]: *** [prepare0] Error 2 make[1]: Target 'prepare' not remade because of errors. make: *** [sub-make] Error 2 vim +/smp_read_barrier_depends +343 include/linux/compiler.h 312 313 /* 314 * Prevent the compiler from merging or refetching reads or writes. The 315 * compiler is also forbidden from reordering successive instances of 316 * READ_ONCE, WRITE_ONCE and ACCESS_ONCE (see below), but only when the 317 * compiler is aware of some particular ordering. One way to make the 318 * compiler aware of ordering is to put the two invocations of READ_ONCE, 319 * WRITE_ONCE or ACCESS_ONCE() in different C statements. 320 * 321 * In contrast to ACCESS_ONCE these two macros will also work on aggregate 322 * data types like structs or unions. If the size of the accessed data 323 * type exceeds the word size of the machine (e.g., 32 bits or 64 bits) 324 * READ_ONCE() and WRITE_ONCE() will fall back to memcpy(). There's at 325 * least two memcpy()s: one for the __builtin_memcpy() and then one for 326 * the macro doing the copy of variable - '__u' allocated on the stack. 327 * 328 * Their two major use cases are: (1) Mediating communication between 329 * process-level code and irq/NMI handlers, all running on the same CPU, 330 * and (2) Ensuring that the compiler does not fold, spindle, or otherwise 331 * mutilate accesses that either do not require ordering or that interact 332 * with an explicit memory barrier or atomic instruction that provides the 333 * required ordering. 334 */ 335 336 #define __READ_ONCE(x, check) \ 337 ({ \ 338 union { typeof(x) __val; char __c[1]; } __u; \ 339 if (check) \ 340 __read_once_size(&(x), __u.__c, sizeof(x)); \ 341 else \ 342 __read_once_size_nocheck(&(x), __u.__c, sizeof(x)); \ > 343 smp_read_barrier_depends(); /* Enforce dependency ordering from x */ \ 344 __u.__val; \ 345 }) 346 #define READ_ONCE(x) __READ_ONCE(x, 1) 347 --- 0-DAY kernel test infrastructure Open Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation --ew6BAiZeqk4r7MaW Content-Type: application/gzip Content-Disposition: attachment; filename=".config.gz" Content-Transfer-Encoding: base64 H4sICAed4lkAAy5jb25maWcAlFxLc9u4st7Pr2Bl7mJmkUSWn6lbXoAgKCIiCIYA9fCGpchy ohpb8pHkmcm/v90gJb4A+dzFTKLuxrsfXzfA/P7b7x55O2xfFof1cvH8/Mv7sdqsdovD6tF7 Wj+v/tcLpJdI7bGA608gHK83b/9+3r8udkvv6tPF1afBx93yyhuvdpvVs0e3m6f1jzdov95u fvsd5KlMQj4qbq58rr313ttsD95+dfitoquUZPT+V+vn5RAIp5aGdHNlaQv0qAhYWP68/wBT +lnO7PPSzGNf/rocFo+rp5L0odU4zSQtxlRmrNBsput50DQvfPiTJQEnSU0nOWyDaVvThMjr HxEfRYKJmvAgE1YEgtSUhLEAKYUgaaE00azDUyPDjlky0o1xRixhGacFV6TdYTrSxI8ZNJiw WN1fHumnrSlirvT9h8/P6++fX7aPb8+r/ef/yRMiWJGxmBHFPn/qbA/PvhVTmY1hFHOMI6MV z7j9b69AqcT8TI5ZUsikUCKtZ8QT2CWWTGCncHDB9f3l8LS3mVSqoFKkPGb3Hz7UR13R4CyU TVdiSUk8YZniMsF2FjIckJb1PGAHSB7rIpJK43LvP/yx2W5Wf57aqilJW8o2VxOeUsvg5azh aGU2L4jWpKkCYUSSIG6cY65YzP3j5sFmevu37/tf+8Pqpd6804HCXqtITvtHTWFtYzjVRKtj X3r9strtbd1FD0UKrWTAaXNJiUQOh+k1V9VmWzmoyqAfqtBcwO42ZUrLTvPPerH/yzvAlLzF 5tHbHxaHvbdYLrdvm8N686Oem+Z0bIyKUCrzRPNk1JyjrwJjiwy2GCR0b6yM5p7qLxn6mRfA a/YFPws2g52wuptSuNlcddprosYKe7FuCvYONhvHqKxCJk6h0pLZiPpofFYxP+dxAG4mGVIr n4/Lv1hNAZuHoDY81PcXtydXkPFEjwtFQtaVuWzY2SiTeaqsg9KI0XEqoRs8ew2u0TI82hL4 ZTivhsprVSSquZNgBBmQLO1THnRkFYwbGOs1c7NODYwzVGDTacYoeM3AvvcsJnP7dsdjaDwx zikLbCZOC5mCsvMHVoQyQ2uCPwRJKGtOtSum4C82VZsrquNG6EjAPfFEBs1Ni8iEFTkPLm4a MdA0BB2mDIaBRjoj7Rk41bvTkwDfx/EUGp2PmBag4WYUUOPWsLC7Nbm57TifimM7Tan4rPIS dX9jEFZz0TrlI60gvpJxrhnuMbgFS6cnUR/CkzlVzScND1tqev3bz0f1DxaHBUb1Bht7CfPm gkMYf9b5CZrZ6CWVrQ3io4TEYdD0H7DkJsG4akOotS4Nz2ydaoMFwhvBiwQTDpOuGvcsy0S2 0KbH0KVPsoybc6+VRvgsCBxWk9KLwVXP61agLl3tnra7l8VmufLY36sN+HgC3p6il4dYVLvj iSh3oDA+vqUNKs59sL7WKWG4JxowxLilbjHxbTsFHTS7Iz6sMxuxY4zvdlGEGWPoeosMYrMU do/SEoxIFkDgte8QHINmogiIJgWADR5y8EHcEQAgloU8hiBnWYgxeVlKtKzaMAxOLkgMuob+ kGJIdHViIKxxDpGUDVM4ogeAZCbuFzrKGAk6XgchJkl591BMp1MChwg4qADsDSp4xFxtJwhh ECJFJjWjECYsk9QRT0x/YLgNVRAyyGOAFaDExlDRtjtzYzPYhNOs2ztkJhgRFdljJoBjP1e4 MsuMZBAUmUZLJlSXKzpyIBIDWeUqBczfo3fFEcoAcmIhqAFHjQ9DZZ/ppEL5dGydr5GRxs+T uBizLGFxkU1n/y/how24G8F+wSRAKfR/NUZDvDytrnhPWfAQZ4UEA2o5nQxTkBz3J2/7vzKp oHLy8ftiD7nmX6Wred1tIessoWN/Sihf2RbsbrvD9tYfTQCVnMqIZXBGVqdCAH6FDacL2iEw EDQV1sQOJTAsDupxKjW29Oojaq+bx35AwkZvAEMUVRz25lsOCKvNQYDiqzY4rsmQU7wDbTQb ZVyfB0CYktqdHEpQEYDnYqXpZ06xqe8Atbg8cF0yJf0DTxe7wxpLA57+9braNw8ZhtPcwB2I ewi5rJFNBVLVoo14kCc2Mgt5i1xmY9JTy58rTIObwYvLEoMmUjYz2YoagCvCbelzaPiteVrH lPPYwLKKo4ijJU7gTKtq3PsPy6f/nPJY8e3MTBvM8dxvG+iR4YffLGPyxKiCSsGR5wmqNSar zTzf8NFPV/xzPGvbKagrczVuMqvWp5lj2H5oK2ipY7vtcrXfb3feAXTM5KVPq8XhbdfWNwiO dvfxUFwMBraQ+1AMrwctJ/9QXLZFO73Yu7mHbrqJT5RhhmwRz6YKUMcposNBtDfqyImmDNJ1 3WcAduR+BukSKAZkRp1AL8i8dJgQ68OgUYhjkDtgjgXuIJ3RqAEQIOWhDBrOjB8pPf7FqeYU QqsWpEVCgVkPwlIsefXCpC8lNinQERtJa5kwBkSQaqMIEHzV/VULRXbCs+CjjOgOZEmjOeCC IMgK7SxH+hCs2rnWWIkzxigwuguEOdDv/dXgy00nbGFwVABlUlNqsqXSWCeALMhAirFoYayY gSMkoCBWHQszCX13ej1xH1Ip7QHywc/t3v/BxDjpKEYgkEwJAG5EnOMOtq032eRzpqxpTfzB aEWKCpG0dvlIn0BWmGiS2QNYJWXTD/T/rc0zZeMitoYRiGucYAUngSyU2Vq1cb3xG/7b3tu+ YvDae3+klHurw/LTn3X8UAA7GwEJflFIKFqLpNy+LMptKaIZNVjt1z8208Vu5WFzuoW/qLfX 1+0OOqgcHtDZ5vF1u94cWhEVugUsa2o5jnEpyRzZDuynBCQMYEuE/dIf+3e1fDssvj+vzCWB Z9LDQyOYIqoSGuF9Kylv5+Sm7h7kkKUczQnTgQgCRit1rPpSNOOp7nkPInMHECmbCa6s5VwY G4duVUqZTbXMKBTT+K9cHzFEsPp7DdlwsFv/XYKIuki+XlZkT5baUu9KXmbHEYvTZk2mRQYb 01GrKg6QTYs0tJkTmFkSkFgmrcJI2V3IMzElsMOmzNhwyNMiliRoTuAkCo6sTA8apzYDez9J tCZ26qms9FXzD0GNfWINZuhdpgaC2rYfTKCI5tDFhCtpB56noAYuBrrhlNmLmAj7FVgfAps8 DC0oAa350RxiCxUIbfMXsqHFMsQMRGhwRc3JA1lCmuyqPYJbSaW1ZFeBchvgTyBnwh9nwXzo RvLlRk/PVaqPYnEHc5ZKnvmB97jeo50/et9Xy8XbHtwQ3pmBNgLA4mgxZZPn1fKwemxu5bHr jNhrLzSAbSzSsabBxL6GZCJYEdLevMR6v7QdnmLgzzOFt12X8WQwtPcKaifmCCatXJbQWKoc bEGhIroUTDlXNeyec+kwGSqNtz957npAwym+XNLZTa+ZXv272Ht8sz/s3l5M4W3/E0LBo3fY LTZ77MqDZHmFh7Rcv+Jfj66IPB9Wu4UXpiMCLnr38g9GkMftP5vn7eLRKy8Bj7J8c4DUW3Bq rKJ0Xkeeojy0kCegLn1q3VG03R+cTLrYPdqGccpvX0+YXh0Wh5UnFpvFjxXuiPcHlUr82fXE OL9Td/Ve00jaT20WmyzfySQhOJyMg4VDWHRcnIBYJz9vRhAetPwFb8PcahMUr/S6oSmnPEFx rDm0qiuEB3gXmTmUFPtzMdBH2gtA2k4XTiPtLYRvXt8OzpXwJM1bcdwQijDEDCHu1Ds7QliR B6dyRkKZusVYOGBxKSSIzvisK2Tmnu9Xu2dMGtdY3H5adHxM1V5CxDs/j69yfl6ATd7j+/nI sbU9+NFqOWZzXwKya9zFVBQ43LHfUqETJx4Dxzqdk0jCptoRR04yCBoxuNsP8SSmtJySqSNY 1lJ58u6kJBzi1XmRme700j/LZnUa69KpGlpIAGBSZaP788BGjuWIw59pamOqeUJSyPqtHdI5 wDhlZZn0y4D65jnWfMjyEw2ezm7E9fCAEVnM7cleYzSZ02hszZVroRBfYOCY/RmVqdaZQUia xsyMckbIp+L6y639mEuJiZrNZsThucqZHPcb0Kq9inoyXNUtxnREzHMbe9ZRCeB6IGFhzG4u leZ1UpParwt+ZSByz/wjCJ0mlPPP0kO32jB+3Orm9aGp72BR6FTh6UiYnwW/G1wNu0T4P+KY LhniW2kZDcyF9IxM7YHGcFE3IIeAlmeEgCtcVxhVN5CZn++DpL5LIDcS9qSCCGYFbRSw1gJg 7a4BNqs2WjcqaZPmw7GypoBWmqjY1KBUU7JRdDiig6mtEAGSNQNz2cB+m5gnfPblrkj1vDFM zEaEzp3E8nr2fnh9095AEmNdpswpHXUBc9tYKJ7Y0juIZ2Xpr5m6joHURzqQJi+evcdT/OrO 4254Pei1Srabj4axL5sb/GuB1FUfOcl0zLW1nFhKQHypKhLdtsB54OC+zxWPmqWMBtFaVqp6 pTSZOd62lBKjDEwMNJKrGKAm6DMu4lyDyra+ajL6L0XfE5vhxfUMLO1dSTDIc+xQASBO3+sE frEZ3iAGfMSpjB2ZfyVt7sFyB0JMBS/Kh3i222gwp/IlQKuEdCSWbzm47Ghr7ZIvv9zY4w/4 vio1sFsMhf9SC0YeUpvucsdbMJU6oDws2n4D4cD+adov56U69ZbP2+VfjRmVaevG1PjSaI6Z DaJiyPjxWSgW082WgbcQKbqmwxb6W3mHnytv8fhoLvnARE2v+0/NFY5SLl33mNML+5zlFK1h Yj/3kgtwyRGSS77KAWjMrXoh2vcEhlBMuN0DllzzaKKgEe8nEMniAF7N7tvK+gRRKXO9MqlE wtuLu8F1+K7M3TC01+GPQlzf3Z4VEGR28eW8SErvbi9v7BddTZmr4fl+Ek0LHTFAN0o7zbwS pfrm5u7yXZnb2+uzMkooenUr7GrVFvIv39kGRaPrm9nsXDntKDrRF8OL84NO7y5vhrfR+SMu hZhDyuylA1xPiaZRYA9gyscne4r7JkiVAXm7WS/3nlo/r5fbjecvln+9Qha8aqmvshU3AJqT Znd1/Y+2Cwxl6e7t+bB+etsszSOAqkJgMRURBj0A3GLiLSOEmJjNqONtVy0VxTRw5DkgE/Gb q+FFkQpHLhRpfAalOLVrI3YxZiKN7QaNbKFvXLqFbCWuB3ZdIf7sejA4vxF4ceTQRmRrXhBx eXk9K7Si5Mw2aOGAxxkb4VWw9YUXIPI2DgJCecVb/w4YldWFzqnPmGe2SxmeFQk7tWi8BgD3 Tq8d9Bsr/evE3o+SydzOIMlc2jkRyVIrRwAWHvuBlTcTzTb1btKzFxeCBZyYWGVLSEa7xetP tNNOmCY09f4gb4/rrUe3p/cPf7q/xgkygbmc5WmkkQp3i5eV9/3t6Qlyn6BfaA8dr5AIHccm 4QSDsy2izm5GxHz40k+5tpv99tkUtMH//KpcQ7+GWBbxe7lUiwx/xrmA9OtuYOdncqogC2p4 OMiLgt6cIkACvQkAsYUZeADL1wCw5/hwzny5Y/cmPHAly3nEbVUq7Lq69zp569fVEhMgbPDY rQGiPLnqVmMMlWa57RWf4WEZptcgzxixPVs2y2XxmDfeXCCNQkTK5l0awPpk3u2bGlV39F2X v1ptYOtGMsm4o1CPIkwAMLKHS8OOWSdeNJkPY9ab54gJnzuyYcMPM3v8QSb05y5tGYG5eylT SNik45ESDjzP3A+QUYCDv7clv4ane4etpzyB7MnRYAyIBGC+7kBl4MTUAGznNGKWyIl0dIsV UpuqHun4I7XvwUnEcdzIz3IBqCQlwfCc1OjL1eAcfxoxFp9VK0EgdzVlxjMi8zDuvFpusjl+ YCZD3TYeAJrgU/paab7sOK9aiXYkhsADv8zsBU7kppCOgyFDKu5W+5RpEs8T+xtiI4DJPD3T AZapM5lwao+ERibjkJ442Yrwc8tQRKjc8UzJ8DELizulrLaExoMHz+uI1kYmT9LYUZFAfubK z9GEsUAM0NJetja9C5Lpr3J+dgjNJ3boZpgyVa5s0/CjLFf4SZA+Y8M5Bq0iVXYIjBIzngj3 JB5YJs8u4WEeQHQ648zKjKiIcjv0MNEqTm1vZHJId2REOQAerSHqdz/pRX6FVdrE07PziLZi fef6oLw1BJopRz6276GRnv78tcdvq7148Qtryf1sB0dLI/tlWCJTw59Rxu3XhcgdkWDE+oDR DL/9x6C4Zxz2lyni4OPrj9Q1kzxOubPIlk/tByCEI7WAgOy8TUnYFF/o2Ucqv33hPo8779mP SBrysvIb2waBgotVbVJEtVRzO7HC4vcfdofl4ENTAD/3Aa1pt6qInVY1tte0LAw5ZptU5fHy i1ZN21fMDUGe6LD8Hq89vqHj+xsLufOGqEkvcs7Mg157foezzia9j65PVUqcaUetsRrpIKN+ OVqlz4sDvhTs8HozCdTF8O7m7GRB5NpRYGmKXNsdVkPk5u66CIngsd36GpK3V/abpVpkeDVw lIgrEaXHF7ea3J0VEld3+p3Vo8jltUPLjgLXX7r6YDhK3AzfWYn/7epucF4kS6+po2hxFJlc Dob2muFR4mGefBP9Aup28xE/CX1HSUINfxtcnB9BJY6a8Wkdt5ftZZwyPrXa4HsjxywCQSxp fPlqThA/D49PhVsFtHlCC/x2ye7v8lnAVep6QZg7yjMTnunq/qE/l8l6B7OwLQCbcQluu91t 9b5uudvut08HL4JAsfs48X68rfYH23VF+V4Ta0v4NNxey9QAjl0wbHr8oqFfCTD3EWr7trNX CMvSXsodl0tReaEDaeY7AkLnjivlo4QW9n8KgFWXRrBCO8QThMe+tGXcXAqRN1BH6/WwYXrp 4seqfGHdee6drV62hxW+iLOaBxNS45PC/rPJ7PVl/6PnskHwD2X+WQVPbjz6c/36p7fH+sLT 6SHzSZi8PG9/AFlte77d320Xj8vti423/iRmNvq3t8UzNOm2qU8gT2bc/dQSpl44dj4VGPfC jDkeec40ddVMzT/wYWVxhwWmU1tBgWSigKTQfCiTZPcXjX5SQsdOgGXusbBEBclRHDsweSj6 x4sAsvlPZJyEj4+mXQjTp6IYy4Qg+Bs6pfDCL52RYniXCLxctMO9lhT2Z5fCggF1vNAT1I4w M9L3b2TzuNuuW8+OSRJk0nF3FxCbMSbdVwuQDtkVAF9MFY7Cnnlp2yukKm7zmmH7brZ+1Fz+ 40rmIxSHQZy+ynAooyZBat6fqIvBsMipzuyoD7v6qnoViXLW+ElHqUet4cFshkVoV1vgXZ7h Xbl4GeP4bxkoF/+rmzVzs0b/V8jV9ESOA9H7/gqOe9hZmBVCuwcO+WyyJHYTO0DPJWJ6WgxC MKihpZ1/v1XlpOM4VZ7DiFFe2XHc5XL5473SiC1NbeR1qqojRcu/5JKAOB2MJON2TIt7DPVz kvj4zBGGw4vFY73IdUbcSeYcpxaV45nMJsT99hQqazfrcI/wiCttq9LbrM3DB5V70A8KIlPV iQPYfrjptHCBmJDM8v6Iyi+lEd2kxBt8AjbwLnqGp5Q9bL8HRxdmQahzcP4JBtUpUhHQ/Rnv r4z+5+LiTGpFl5dcC3JtTsvEnior1es4zUKtt1BW9FW78EY3EbzvDt9+EDFret0YeR15Y069 GzXQGC8hMFSyoYdEBWy0qsALF9VlV1WdtwXnd8gv8te14zJ3imAh12nKFrtVYeu0F1NN92fR K2NHV8al307KY/ZS3SZqVcijO8kjWCljV1EIt8TEMBVpTSpDkVIZJFICZG46mAgkH4wE2qZS EPJ+AfaKtHuGnTd+DDeRjlrL2I26P4+iFzLaxl66Xkhfecs4cytGgcjUUi+H6iCw8/1h+zyX S6NrllV7AxP0yoQLhbf90+vHM+20fHvZQU7PrDUHITBcoDBDIRtOQGu9ItHAo4jOUUisKYzB Eb6wOB8Pal/eIMB8Iu03CLLb53dq0NY933ttGj1TkUjhXdIqT8PLIxo6vOmMdSJkHj+xRalC LHkJWc25n6m11bpPTNOjVBT/iyikaiCe6po3cZe52JgxkFGPDQrKmIKI5xhaGrxww9QQmrgO 0KqenenQARJ6lkBLc69z3Mxl6ggrwv3Pk3z39fD4GGinUJiGBAyP7ySxIjRZa5jflLROn9Sb eunmE1pIrG9XctBORPm1iUYLTT6pYaV/eHP+c/Xw+hjogijoGehAzedHM7y/TequuDybgzgI dGcvF6oLqDgQ6W4sd10U66BXqHXY5qnHT35/f3t6pbuOf5y8HD52/+3gP0gQ/5Mo4seK7+6c vAy4RV2GO66TFboIagx2Cs9uoKXLixqjg5KUEzUX/kEmlGqfzcIgv416iry/tJBOieqHEBNt 1y4FOl2dKPoI0cDu3j9CBR8LC5bs4jz+2QjAiLtHYrBsgGNerQa2MT+gye4aDK3mTw/JgEKk cLMO8bSyEouM8K4TlpmEtihRRUSRyLdKKlYzbS65/MjKjnQWpW6Rb8hluUQa7E7wDLLDtlus JKbRlDRrXgpp0sG6XuWpH/E8dYwuNYlCOS3VCZpOZLFwOLPbHvZPHz+5+e+62AipTpF1qJAE fVwY2m4hnauobRTk5w387lFPjhZQmV5viACfJUHGvDCTtlEtxDK0aXReOPdnY62TUpi+M8n8 eDBH5/K7uFrkA2JaqQRi93LIuGD49HX/ADPQ/scBRr5/mgVjCOUIWrNUuiMHmHDmU46qN7ZV GfReiUTpuZylb1IXSkBRCaPSs4uJR+1dPVNcwQuNWWV5dwD0M38wg+Xs57O84sMJwpXteo5F l4V61/SADZRzg7rKinTzN1PUIfxR1GCStHfB9bvAIhU21gEVK+avuNZVSlXyG4YA8cdhk9L2 qBM5/GTC5iDOj0K/TTtGX/BKZgTq0+xfdjSbnqgh3uUceoRZ+fzCKz534tyzYI6aXiJzHA3o GIfPcEZXHSdRj2xWf0Eu4swFdJsLfZTn/GYyyk8jr5oPO4P2kgSGKkN+dCcVQWRJJP49QePm 1fmGK03p3G/3P9Fb3QigXgAA --ew6BAiZeqk4r7MaW--