Bash Shell Script Программирование классического примера (2 -е издание)
Цена: 2 086руб. (¥116)
Артикул: 688215812981
Вес товара: ~0.7 кг. Указан усредненный вес, который может отличаться от фактического. Не включен в цену, оплачивается при получении.
PGltZyBjbGFzcz0iZGVzY19hbmNob3IiIGlkPSJkZXNjLW1vZHVsZS0xIiBzcmM9Imh0dHA6Ly9hc3NldHMuYWxpY2RuLmNvbS9raXNzeS8xLjAuMC9idWlsZC9pbWdsYXp5bG9hZC9zcGFjZWJhbGwuZ2lmIj48ZGl2PjxkaXY+0J7RgdC90L7QstC90LDRjyDQuNC90YTQvtGA0LzQsNGG0LjRjzwvZGl2PjxkaXY+PHRhYmxlIHdpZHRoPSI3MDAiIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjEwIiBjZWxscGFkZGluZz0iNSI+PHRib2R5Pjx0cj48dGQgd2lkdGg9IjgyIj48c3Ryb25nPtC90LDQuNC80LXQvdC+0LLQsNC90LjQtSDRgtC+0LLQsNGA0LA6PC9zdHJvbmc+PC90ZD48dGQgd2lkdGg9IjI3NyI+QmFzaCBTaGVsbCBTY3JpcHQg0J/RgNC+0LPRgNCw0LzQvNC40YDQvtCy0LDQvdC40LUg0LrQu9Cw0YHRgdC40YfQtdGB0LrQvtCz0L4g0L/RgNC40LzQtdGA0LAgKDIgLdC1INC40LfQtNCw0L3QuNC1KTwvdGQ+PHRkIHdpZHRoPSI4MiI+PHN0cm9uZz7RhNC+0YDQvNCw0YI6PC9zdHJvbmc+PC90ZD48dGQgd2lkdGg9IjE2OSI+PC90ZD48L3RyPjx0cj48dGQ+PHN0cm9uZz7QkNCy0YLQvtGAOjwvc3Ryb25nPjwvdGQ+PHRkPlvnvo5dINCa0LDRgNC7Jm1pZGRvdDvQmtCw0YDQuyDQkNC70YzQsdC40L3QsywgW9C60YDQsNGB0L7RgtCwXSBKUCZtaWRkb3Q7SlAgVm9zc2VuIHwuPC90ZD48dGQ+PHN0cm9uZz7QmtC+0LvQuNGH0LXRgdGC0LLQviDRgdGC0YDQsNC90LjRhjo8L3N0cm9uZz48L3RkPjx0ZD48L3RkPjwvdHI+PHRyPjx0ZD48c3Ryb25nPtCm0LXQvdGLOjwvc3Ryb25nPjwvdGQ+PHRkPjE1OTwvdGQ+PHRkPjxzdHJvbmc+0J7Qv9GD0LHQu9C40LrQvtCy0LDQvdC90LDRjyDQtNCw0YLQsDo8L3N0cm9uZz48L3RkPjx0ZD4yMDIxLTAxLTAxPC90ZD48L3RyPjx0cj48dGQ+PHN0cm9uZz7QndC+0LzQtdGAIElTQk46PC9zdHJvbmc+PC90ZD48dGQ+PC90ZD48dGQ+PHN0cm9uZz7QktGA0LXQvNGPINC/0LXRh9Cw0YLQuDo8L3N0cm9uZz48L3RkPjx0ZD4yMDIxLTAxLTAxPC90ZD48L3RyPjx0cj48dGQ+PHN0cm9uZz7QmNC30LTQsNGC0LXQu9GM0YHRgtCy0L46PC9zdHJvbmc+PC90ZD48dGQ+0J3QsNGA0L7QtNC90YvQtSDRgdC+0L7QsdGJ0LXQvdC40Y8g0Lgg0YLQtdC70LXQutC+0LzQvNGD0L3QuNC60LDRhtC40Lg8L3RkPjx0ZD48c3Ryb25nPtCS0LXRgNGB0LjRjzo8L3N0cm9uZz48L3RkPjx0ZD4xPC90ZD48L3RyPjx0cj48dGQ+PHN0cm9uZz7QotC40L/RiyDQv9GA0L7QtNGD0LrRgtCwOjwvc3Ryb25nPjwvdGQ+PHRkPtC60L3QuNCz0Lg8L3RkPjx0ZD48c3Ryb25nPtCY0L3QtNC40LnRgdC60LjQuTo8L3N0cm9uZz48L3RkPjx0ZD4xPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj48ZGl2PjxkaXY+0JrRgNCw0YLQutC+0LUg0YHQvtC00LXRgNC20LDQvdC40LU6PC9kaXY+PGRpdj5CYXNoIC0g0Y3RgtC+INC+0LHQvtC70L7Rh9C60LAsINC40YHQv9C+0LvRjNC30YPQtdC80LDRjyDQsiBMaW51eC7Qn9C+0LvRjNC30L7QstCw0YLQtdC70Lgg0LzQvtCz0YPRgiDRg9C/0YDQsNCy0LvRj9GC0Ywg0YHQuNGB0YLQtdC80L7QuSBMaW51eCDQsiDRhNC+0YDQvNC1INC60L7QvNCw0L3QtCDQsiDRhNC+0YDQvNC1INC60L7QvNCw0L3QtNGLLtCSINC60LDRh9C10YHRgtCy0LUg0LjRgdC/0L7Qu9GM0LfQvtCy0LDQvdC40Y8gQmFzaCDQlNCw0YLQsCDQvtCx0YDQsNCx0L7RgtC60Lgg0Lgg0LLRgNC10LzRjzvQktGC0L7RgNC+0LUg0LjQt9C00LDQvdC40LUg0Y/QstC70Y/QtdGC0YHRjyDQvdC+0LLRi9C8INC00LvRjyBHSVQsINC4INC60LDQttC00YvQuSDRjdC60LfQtdC80L/Qu9GP0YAg0YHQvtC00LXRgNC20LjRgiDQvtC00LjQvSDQuNC70Lgg0L3QtdGB0LrQvtC70YzQutC+INC/0YDQuNC80LXRgNC+0LIg0Lgg0L7QsdGB0YPQttC00LDQtdGCINC/0YDQuNC90YbQuNC/INGA0LDQsdC+0YLRiyDRgNC10YjQtdC90LjRjy48cD4uLi4uLi48L3A+PC9kaXY+PC9kaXY+PGRpdj48ZGl2PtCm0LLQtdGCINGB0YLRgNCw0L3QuNGG0LA6PC9kaXY+PGRpdj48cD4uLi4uLi48L3A+PC9kaXY+PC9kaXY+PGRpdj48ZGl2PtCe0LEg0LDQstGC0L7RgNC1OjwvZGl2PjxkaXY+0JzQsNGI0LjQvdCwJm1pZGRvdDvQmtCw0YDQuyDQkNC70YzQsdC40L3Qsywg0LTQvtC60YLQvtGAINC60L7QvNC/0YzRjtGC0LXRgNC90YvRhSDQvdCw0YPQuiwg0L/RgNC+0YTQtdGB0YHQvtGAINC60L7QvNC/0YzRjtGC0LXRgNC90YvRhSDQvdCw0YPQuiDQsiDQktC+0LXQvdC90L4gLdC80L7RgNGB0LrQvtC5INCw0LrQsNC00LXQvNC40Lgg0KHQqNCQLCDRgNCw0LHQvtGC0LDQuyDQsiDQutC+0LzQv9Cw0L3QuNC4INGA0LDQt9C70LjRh9C90YvRhSDQvNCw0YHRiNGC0LDQsdC+0LIg0Lgg0LjQvNC10LXRgiDQsdC+0LPQsNGC0YvQuSDQvtC/0YvRgiDQv9GA0L7Qs9GA0LDQvNC80L3QvtCz0L4g0L7QsdC10YHQv9C10YfQtdC90LjRjy48YnI+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IEpQJm1pZGRvdDtKUCBWb3NzZW4g0L3QsNGH0LDQuyDQt9Cw0L3QuNC80LDRgtGM0YHRjyDQutC+0LzQv9GM0Y7RgtC10YDQsNC80Lgg0LIg0L3QsNGH0LDQu9C1IDE5ODAgLdGFINCz0L7QtNC+0LIg0Lgg0L3QsNGH0LDQuyDRgdC+0YHRgNC10LTQvtGC0L7Rh9C40YLRjNGB0Y8g0L3QsCDRgNCw0LHQvtGC0LUg0YEg0LjQvdGE0L7RgNC80LDRhtC40L7QvdC90L7QuSDQsdC10LfQvtC/0LDRgdC90L7RgdGC0YzRjiDQsiDQutC+0L3RhtC1IDE5OTAgLdGFINCz0L7QtNC+0LIuPGJyPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO1vQktCy0LXQtNC10L3QuNC1INC/0LXRgNC10LLQvtC00YfQuNC60LBdIE1lbmppYSwgR05VL0xpbnV4INCyIC1ERVBUSCBVU0VSLCDQu9GO0LHQuNGCINC/0YDQvtGB0LvQtdC00LjRgtGMINC40YHRgtC+0YfQvdC40Log0L7RgNC40LPQuNC90LDQu9CwLCDQutC+0L/QsNGPINCy0YXQvtC00Ysg0Lgg0LLRi9GF0L7QtNGLINC/0L7Qt9Cw0LTQuCDRgtC10YXQvdC40LrQuCwg0LAg0YLQsNC60LbQtSDQvtCx0LvQsNGB0YLQuCDQv9GA0L7Qs9GA0LDQvNC80LjRgNC+0LLQsNC90LjRjyDQuCDRgtC10L7RgNC40Lgg0Y/Qt9GL0LrQsCwg0YLQtdGF0L3QvtC70L7Qs9C40Lgg0LrQvtC80L/QuNC70Y/RhtC40LgsINC/0YDQvtC10LrRgtC40YDQvtCy0LDQvdC40Y8g0L7Qv9C10YDQsNGG0LjQvtC90L3QvtC5INGB0LjRgdGC0LXQvNGLINC4INGA0LXQsNC70LjQt9Cw0YbQuNC4ICwg0LLQtdCxIC3RgNCw0LfRgNCw0LHQvtGC0LrQsCDQuCDQtNGA0YPQs9C40LUg0L/QvtC70Y8uINCh0YbQtdC90LDRgNC40Lkg0YTQsNC60YLQuNGH0LXRgdC60LjQuSDQsdC+0LkgKDIgLdC1INC40LfQtNCw0L3QuNC1KSDCuy48cD4uLi4uLi48L3A+PC9kaXY+PC9kaXY+PGRpdj48ZGl2PtCe0LPQu9Cw0LLQu9C10L3QuNC1OjwvZGl2PjxkaXY+0J/RgNC10LTQuNGB0LvQvtCy0LjQtSBYVjxicj7Qk9C70LDQstCwIDEgQmFzaCDQndCw0YfQsNC70L4g0YDQsNCx0L7RgtGLIDE8YnI+MS4xINCf0L7Rh9C10LzRgyBCYXNoIDI8YnI+MS4yIEJhc2ggU2hlbGwgMzxicj4xLjMg0L3QsNC/0L7QvNC40L3QsNC90LjQtSwg0YfRgtC+0LHRiyDQv9C+0LrQsNC30LDRgtGMIDM8YnI+MS40INCe0YLQvtCx0YDQsNC20LXQvdC40LUg0YLQtdC60YPRidC10Lkg0L/QvtC30LjRhtC40LggNDxicj4xLjUg0J3QsNC50YLQuCDQuCDQt9Cw0L/Rg9GB0YLQuNGC0Ywg0LrQvtC80LDQvdC00YMgNTxicj4xLjYg0KHQstGP0LfQsNC90L3QsNGPINC40L3RhNC+0YDQvNCw0YbQuNGPINGE0LDQudC70LAgNzxicj4xLjcg0J7RgtC+0LHRgNCw0LbQtdC90LjQtSDQstGB0LXRhSDRgdC60YDRi9GC0YvRhSAo0YLQvtGH0LXRh9C90YvRhSDQvdC+0LzQtdGA0L7Qsikg0YTQsNC50LvQvtCyINCyINGC0LXQutGD0YnQtdC8INC60LDRgtCw0LvQvtCz0LUgOTxicj4xLjgg0JjRgdC/0L7Qu9GM0LfRg9C50YLQtSDRgdGB0YvQu9C60YMg0L3QsCDQvtCx0L7Qu9C+0YfQutGDIDEyPGJyPjEuOSDQmNGB0L/QvtC70YzQt9GD0LnRgtC1INC40LvQuCDQt9Cw0LzQtdC90LjRgtC1INCy0YHRgtGA0L7QtdC90L3Rg9GOINC60L7QvNCw0L3QtNGDINC4INCy0L3QtdGI0L3RjtGOINC60L7QvNCw0L3QtNGDIDEzPGJyPjEuMTAg0J7Qmiwg0LHRg9C00Ywg0YLQviDQsiDQuNC90YLQtdGA0LDQutGC0LjQstC90L7QvCDRgNC10LbQuNC80LUgMTU8YnI+MS4xMSDQo9GB0YLQsNC90L7QstC40YLQtSBCYXNoINCyINC60LDRh9C10YHRgtCy0LUg0L7QsdC+0LvQvtGH0LrQuCDQv9C+INGD0LzQvtC70YfQsNC90LjRjiAxNTxicj4xLjEyIE5ldyBCYXNoIDE3PGJyPjEuMTMg0J/QvtC70YPRh9C40YLQtSDQstC10YDRgdC40Y4gQmFzaCAxOCBMaW51eC48YnI+MS4xNCDQn9C+0LvRg9GH0LjRgtGMIFhCU0QgLdCy0LXRgNGB0LjRjiBCYXNoIDE5PGJyPjEuMTUg0J/QvtC70YPRh9C40YLRjCBCYXNoIDIwINCy0LXRgNGB0LjQuCBNYWNPUzxicj4xLjE2INCf0L7Qu9GD0YfQuNGC0LUgQmFzaCAyMCDQstC10YDRgdC40LggVW5peDxicj4xLjE3INCf0L7Qu9GD0YfQuNGC0YwgV2luZG93cyDQstC10YDRgdC40Y4gQmFzaCAyMjxicj4xLjE4INCY0YHQv9C+0LvRjNC30YPRjyBCYXNoIDI0LCDQvdC1INC/0L7Qu9GD0YfQuNCyINGD0LTQsNGA0LA8YnI+MS4xOSBCQVMgLdGE0LDQudC7IDI1PGJyPtCT0LvQsNCy0LAgMiDQodGC0LDQvdC00LDRgNGC0L3Ri9C5INCy0YvRhdC+0LQgMjg8YnI+Mi4xINCS0YvQstC+0LQg0LIg0L7QutC90L4g0YLQtdGA0LzQuNC90LDQu9CwL9GC0LXRgNC80LjQvdCw0LvQsCAyOTxicj4yLjIg0JTQtdGA0LbQuNGC0LUg0L/Rg9GB0YLQvtC5INGB0LjQvNCy0L7QuyDQvdCwINCy0YvRhdC+0LTQtSAzMDxicj4yLjMg0JTQvtCx0LDQstGM0YLQtSDQvdC10YHQutC+0LvRjNC60L4g0Y3Qu9C10LzQtdC90YLQvtCyINGD0L/RgNCw0LLQu9C10L3QuNGPINGE0L7RgNC80LDRgtC+0Lwg0LIg0LLRi9GF0L7QtCAzMTxicj4yLjQg0KPRgdGC0YDQsNC90LXQvdC40LUg0YHQuNC80LLQvtC70L7QsiDQuNC30LzQtdC90LXQvdC40Y8g0LIg0LLRi9GF0L7QtNC1IDMyPGJyPjIuNSDQodC+0YXRgNCw0L3QuNGC0Ywg0LLRi9GF0L7QtCDQutC+0LzQsNC90LTRiyAzMzxicj4yLjYg0KHQvtGF0YDQsNC90LjRgtC1INCy0YvRhdC+0LQg0LTQu9GPINC00YDRg9Cz0LjRhSDRhNCw0LnQu9C+0LIgMzQ8YnI+Mi43INCh0L7RhdGA0LDQvdC40YLQtSDQstGL0LLQvtC0INC60L7QvNCw0L3QtNGLIExTIDM0PGJyPjIuOCDQntGC0L/RgNCw0LLRjNGC0LUg0YHQvtC+0LHRidC10L3QuNGPINCy0YvQstC+0LTQsCDQuCDQvtGI0LjQsdC+0Log0LIg0YDQsNC30L3Ri9C1INGE0LDQudC70YsgMzY8YnI+Mi45INCe0YLQv9GA0LDQstC40YLRjCDRgdC+0L7QsdGJ0LXQvdC40Y8g0LLRi9Cy0L7QtNCwINC4INC+0YjQuNCx0L7QuiDQsiDRgtC+0YIg0LbQtSDRhNCw0LnQuyAzNjxicj4yLjEwINCU0L7QsdCw0LLQu9C10L0g0LLRi9GF0L7QtCAzODxicj4yLjExINCY0YHQv9C+0LvRjNC30YPQudGC0LUg0YLQvtC70YzQutC+INC90LDRh9Cw0LvQviDQuNC70Lgg0LrQvtC90LXRhiDRhNCw0LnQu9CwIDM4PGJyPjIuMTIg0KDQsNC30LTQtdC7INC00L7QutGD0LzQtdC90YLQsCAzOTxicj4yLjEzINCe0YLQsdGA0L7RgdGM0YLQtSDQstGL0YXQvtC0IDQwPGJyPjIuMTQg0KHQvtGF0YDQsNC90LjRgtGMINC40LvQuCDQs9GA0YPQv9C/0LjRgNC+0LLQsNGC0Ywg0L3QtdGB0LrQvtC70YzQutC+INC60L7QvNCw0L3QtCDQstGL0LLQvtC00LAgNDA8YnI+Mi4xNSDQktGL0YXQvtC0IC0g0Y3RgtC+INCy0YXQvtC0LCDQuCDRjdGC0Lgg0LTQstC1INC/0YDQvtCz0YDQsNC80LzRiyA0MiDQv9C+0LTQutC70Y7Rh9C10L3RiyDQuiDQtNCy0YPQvCDQv9GA0L7Qs9GA0LDQvNC80LDQvDxicj4yLjE2INCf0L7QvNC10YHRgtC40YLQtSDQstGL0YXQvtC0INC60LDQuiDQstGF0L7QtCwg0YHQvtGF0YDQsNC90Y/RjyDQv9GA0Lgg0Y3RgtC+0Lwg0LXQs9C+INC60L7Qv9C40Y4gNDM8YnI+Mi4xNyDQn9C+0LTQutC70Y7Rh9C40YLQtSDQtNCy0LUg0L/RgNC+0LPRgNCw0LzQvNGLINGBINCy0YvRhdC+0LTQvtC8INCyINC60LDRh9C10YHRgtCy0LUg0L/QsNGA0LDQvNC10YLRgNCwIDQ0PGJyPjIuMTgg0J/QtdGA0LXRg9GB0YLQsNC90L7QstC40YLRjCA0NiDRgNCw0Lcg0LIg0LvQuNC90LjQuDxicj4yLjE5INCh0L7RhdGA0LDQvdC40YLRjCDQuCDQstGL0LLQvtC00LjRgtGMIDQ3LCDQutC+0LPQtNCwINC/0LXRgNC10L3QsNC/0YDQsNCy0LvQtdC90LjQtSDQvdC1INGA0LDQsdC+0YLQsNC10YI8YnI+Mi4yMCBFeGNoYW5nZSBTdGRlcnIg0LggU3Rkb3V0IDQ5PGJyPjIuMjEg0JjQt9Cx0LXQs9Cw0LnRgtC1INC90LXQvtC20LjQtNCw0L3QvdC+0LPQviDRhNCw0LnQu9CwINC/0L7QutGA0YvRgtC40Y8gNTA8YnI+Mi4yMiDQl9Cw0LjQvdGC0LXRgNC10YHQvtCy0LDQvdC90L7QtSDQv9C+0LrRgNGL0YLQvtC1INGE0LDQudC7IDUxPGJyPtCT0LvQsNCy0LAgMyDQodGC0LDQvdC00LDRgNGC0L3Ri9C5INCy0YXQvtC0IDUzPGJyPjMuMSDQktCy0LXQtNC40YLQtSDQstCy0L7QtCDQuNC3INGE0LDQudC70LAgNTM8YnI+My4yINCf0L7QvNC10YHRgtC40YLQtSDQtNCw0L3QvdGL0LUg0YEg0YHRhtC10L3QsNGA0LjQtdC8INCy0LzQtdGB0YLQtSA1NDxicj4zLjMg0JjQt9Cx0LXQs9Cw0LnRgtC1INGB0YLRgNCw0L3QvdC+0LPQviDQv9C+0LLQtdC00LXQvdC40Y8g0LIg0LfQtNC10YHRjC3QtNC+0LrRg9C80LXQvdGCIDU1PGJyPjMuNCDQktGF0L7QtCDQt9C00LXRgdGMLdC00L7QutGD0LzQtdC90YIgNTc8YnI+My41INCf0L7Qu9GD0YfQuNGC0Ywg0L/QvtC70YzQt9C+0LLQsNGC0LXQu9GM0YHQutC40Lkg0LLQstC+0LQgNTg8YnI+My42INCf0L7Qu9GD0YfQuNGC0LUg0LTQsCDQuNC70Lgg0L3QtdGCIDU5PGJyPjMuNyDQktGL0LHQtdGA0LjRgtC1INGB0L/QuNGB0L7QuiDQvtC/0YbQuNC5IDYxPGJyPjMuODxicj7Qk9C70LDQstCwIDQg0JrQvtC80LDQvdC00LAg0LLRi9C/0L7Qu9C90LXQvdC40Y8gNjQ8YnI+NC4xINCX0LDQv9GD0YHQuiDQv9GA0L7Qs9GA0LDQvNC80YsgNjQ8YnI+NC4yINCy0YvQv9C+0LvQvdC40YLRjCDQvdC10YHQutC+0LvRjNC60L4g0LrQvtC80LDQvdC0INCyINGF0L7QtNC1IDY2PGJyPjQuMyDQktGL0L/QvtC70L3QuNGC0LUg0L3QtdGB0LrQvtC70YzQutC+INC60L7QvNCw0L3QtCDQvtC00L3QvtCy0YDQtdC80LXQvdC90L4gNjc8YnI+NC40LCDRg9GB0L/QtdGI0L3QviDQu9C4INC60L7QvNCw0L3QtNCwINC30LDQv9GD0YHQutCw0LXRgtGB0Y8gNjg8YnI+NC41INCf0L7RgdC70LUg0YPRgdC/0LXRiNC90L7Qs9C+INC30LDQv9GD0YHQutCwINC60L7QvNCw0L3QtNGLINCy0YvQv9C+0LvQvdC40YLQtSDRgdC70LXQtNGD0Y7RidGD0Y4g0LrQvtC80LDQvdC00YMgNzA8YnI+NC42INCj0LzQtdC90YzRiNC40YLQtSDQutC+0LvQuNGH0LXRgdGC0LLQviDQvtC/0LXRgNCw0YLQvtGA0LAgSUYgNzE8YnI+NC43INCS0KDQldCc0K8gLdCe0J/Qm9CQ0KLQkCDQntC/0LXRgNCw0YLQuNCy0L3QsNGPINC+0L/QtdGA0LDRhtC40Y8gNzI8YnI+NC44INCe0YLQvtCx0YDQsNC20LXQvdC40LUg0YHQvtC+0LHRidC10L3QuNGPINC+0LEg0L7RiNC40LHQutC1LCDQutC+0LPQtNCwINC/0YDQvtC40LfQvtC50LTQtdGCINGB0LHQvtC5IDczPGJyPjQuOSDQmtC+0LzQsNC90LTQsCDQsiDQv9C10YDQtdC80LXQvdC90L7QuSA3NDxicj40LjEwINCS0YHQtSDRgdGG0LXQvdCw0YDQuNC4INCyINC60LDRgtCw0LvQvtCz0LUgNzU8YnI+0JPQu9Cw0LLQsCA1INCe0YHQvdC+0LLRiyDQv9GA0L7Qs9GA0LDQvNC80LjRgNC+0LLQsNC90LjRjyDRgdC60YDQuNC/0YLQsDog0L/QtdGA0LXQvNC10L3QvdCw0Y8g0L7QsdC+0LvQvtGH0LrQuCA3Njxicj41LjEg0KHRhtC10L3QsNGA0LjQuSDQt9Cw0L/QuNGB0LggNzc8YnI+NS4yINCS0YHRgtGA0L7QtdC90LjQtSDQtNC+0LrRg9C80LXQvdGC0LAg0LIg0YHRhtC10L3QsNGA0LjQuSBTaGVsbCA3ODxicj41LjMg0KPQu9GD0YfRiNC10L3QuNC1INGH0LjRgtCw0LXQvNC+0YHRgtC4INGB0YbQtdC90LDRgNC40Y8gODA8YnI+NS40INCe0YLQtNC10LvRjNC90YvQtSDQuNC80LXQvdCwINC/0LXRgNC10LzQtdC90L3Ri9GFINC40Lcg0L7QutGA0YPQttCw0Y7RidC10LPQviDRgtC10LrRgdGC0LAgODI8YnI+NS41INCt0LrRgdC/0L7RgNGC0L3QsNGPINC/0LXRgNC10LzQtdC90L3QsNGPIDgyPGJyPjUuNiDQn9GA0L7RgdC80L7RgtGA0LXRgtGMINCy0YHQtSDQt9C90LDRh9C10L3QuNGPINC/0LXRgNC10LzQtdC90L3Ri9GFIDg0PGJyPjUuNyDQmNGB0L/QvtC70YzQt9GD0LnRgtC1INC/0LDRgNCw0LzQtdGC0YDRiyDQsiDRgdC60YDQuNC/0YLQtSDQvtCx0L7Qu9C+0YfQutC4IDg1PGJyPjUuOCDQn9Cw0YDQsNC80LXRgtGA0Ysg0YHRhtC10L3QsNGA0LjRjywg0L/QtdGA0LXQtNCw0LLQsNC10LzQvtCz0L4g0YfQtdGA0LXQtyDRgdGG0LXQvdCw0YDQuNC5IDg2INGA0LDQtzxicj41Ljkg0J/QsNGA0LDQvNC10YLRgNGLLCDRgdC+0LTQtdGA0LbQsNGJ0LjQtSDQv9GA0L7QsdC10LvRiyA4Nzxicj41LjEwINCh0L/QuNGB0L7QuiDQv9Cw0YDQsNC80LXRgtGA0L7Qsiwg0YHQvtC00LXRgNC20LDRidC40Lkg0L/RgNC+0YHRgtGA0LDQvdGB0YLQstCwIDg5PGJyPjUuMTEg0KHRgtCw0YLQuNGB0YLQuNGH0LXRgdC60LjQtSDQv9Cw0YDQsNC80LXRgtGA0YsgOTE8YnI+NS4xMiDQntGC0LHRgNC+0YHRjNGC0LUg0L/QsNGA0LDQvNC10YLRgNGLIDkyPGJyPjUuMTMg0J/QvtC70YPRh9C40YLQtSDQt9C90LDRh9C10L3QuNC1INC/0L4g0YPQvNC+0LvRh9Cw0L3QuNGOIDk0PGJyPjUuMTQg0KPRgdGC0LDQvdC+0LLQuNGC0LUg0LfQvdCw0YfQtdC90LjQtSDQv9C+INGD0LzQvtC70YfQsNC90LjRjiA5NDxicj41LjE1INCY0YHQv9C+0LvRjNC30L7QstCw0L3QuNC1INC/0YPRgdGC0L7Qs9C+INC30L3QsNGH0LXQvdC40Y8g0LIg0LrQsNGH0LXRgdGC0LLQtSDQtNC+0L/Rg9GB0YLQuNC80L7Qs9C+INC30L3QsNGH0LXQvdC40Y8g0L/QviDRg9C80L7Qu9GH0LDQvdC40Y4gOTU8YnI+NS4xNiDQvdC1INGC0L7Qu9GM0LrQviDQuNGB0L/QvtC70YzQt9GD0LXRgiDRgdGC0YDQvtC60L7QstGL0LUg0LrQvtC90YHRgtCw0L3RgtGLINCyINC60LDRh9C10YHRgtCy0LUg0LfQvdCw0YfQtdC90LjRjyDQv9C+INGD0LzQvtC70YfQsNC90LjRjiA5Njxicj41LjE3INCh0L7QvtCx0YnQtdC90LjQtSDQvtCxINC+0YjQuNCx0LrQtSDRgdC+0L7QsdGJ0LXQvdC40Y8g0L7QsSDQvtGI0LjQsdC60LUuINCh0L7QvtCx0YnQtdC90LjQtSDQvtCxINC+0YjQuNCx0LrQtSA5Nzxicj41LjE4INCY0LfQvNC10L3QuNGC0LUg0L3QtdC60L7RgtC+0YDRg9GOINGB0YLRgNC+0LrRgyA5OTxicj41LjE5INCf0L7Qu9GD0YfQuNGC0LUg0LfQvdCw0YfQtdC90LjQtSDQvtC/0YDQtdC00LXQu9C10L3QvdC+0LPQviDRh9C40YHQu9CwIDEwMTxicj41LjIwINC00LvRjyDRgNC10LDQu9C40LfQsNGG0LjQuCBCYXNlTmFtZSAxMDIg0YEgQmFzaDxicj41LjIxINCY0YHQv9C+0LvRjNC30YPQudGC0LUgQmFzaCDQtNC70Y8g0YDQtdCw0LvQuNC30LDRhtC40LggRGlybmFtZSAxMDM8YnI+NS4yMiDQktGL0LHQtdGA0LjRgtC1INC30LDQvNC10L3RgyDQt9C90LDRh9C10L3QuNC1IENTViAxMDM8YnI+NS4yMyDQmNGB0L/QvtC70YzQt9GD0LnRgtC1INC/0LXRgNC10LzQtdC90L3Ri9C1INC80LDRgdGB0LjQstCwIDEwNDxicj41LjI0INCf0YDQtdC+0LHRgNCw0LfQvtCy0LDQvdC40LUg0YHQu9GD0YfQsNC10LIgMTA1PGJyPjUuMjUg0J/RgNC10L7QsdGA0LDQt9C+0LLQsNGC0Ywg0LIg0LzQtdGC0L7QtCDQuNC80LXQvdC+0LLQsNC90LjRjyDQs9C+0YDQsdCwIDEwNjxicj7Qk9C70LDQstCwIDYg0JvQvtCz0LjQutCwINC+0LHQvtC70L7Rh9C60Lgg0Lgg0LDRgNC40YTQvNC10YLQuNC60LAgMTA3PGJyPjYuMSDQoNC10LDQu9C40LfQsNGG0LjRjyDQsNGA0LjRhNC80LXRgtC40YfQtdGB0LrQvtC5INC+0L/QtdGA0LDRhtC40Lgg0LIg0YHQutGA0LjQv9GC0LUgMTA3IFNoZWxsIDEwNzxicj42LjIg0KPRgdC70L7QstC40LUg0LLQtdGC0LLQuCAxMDk8YnI+Ni4zINCk0YPQvdC60YbQuNC4INGC0LXRgdGC0L7QstC+0LPQviDRhNCw0LnQu9CwIDExMzxicj42LjQg0J/RgNC+0LLQtdGA0YzRgtC1INC90LXRgdC60L7Qu9GM0LrQviDRhNGD0L3QutGG0LjQuSAxMTU8YnI+Ni41INCi0LXRgdGC0L7QstCw0Y8g0YHRgtGA0L7QutCwINGE0YPQvdC60YbQuNC4IDExNjxicj42LjYg0KLQtdGB0YIg0Lgg0YDQsNCy0L3QvtC1INC60L7Qu9C40YfQtdGB0YLQstC+INC+0YLQvdC+0YjQtdC90LjQuSAxMTc8YnI+Ni43INCi0LXRgdGCINGBIE1vZGUgTWF0Y2ggMTE5PGJyPjYuOCDQn9GA0L7QstC10YDQutCwINGBINGA0LXQs9GD0LvRj9GA0L3Ri9C8INCy0YvRgNCw0LbQtdC90LjQtdC8IDEyMDxicj42Ljkg0JjRgdC/0L7Qu9GM0LfRg9C50YLQtSDQv9C10YDQtdC90LDQv9GA0LDQstC70LXQvdC40LUsINGH0YLQvtCx0Ysg0LjQt9C80LXQvdC40YLRjCDRgdGG0LXQvdCw0YDQuNC5IDEyMjxicj42LjEwINCm0LjQutC7INCyINGC0LXRh9C10L3QuNC1INC+0L/RgNC10LTQtdC70LXQvdC90L7Qs9C+INC/0LXRgNC40L7QtNCwINCy0YDQtdC80LXQvdC4IDEyMzxicj42LjExINCY0YHQv9C+0LvRjNC30YPQudGC0LUg0KfQuNGC0LDRgtGMIDEyNSDQsiDRhtC40LrQu9C1PGJyPjYuMTIg0KbQuNC60Lsg0L3QtdGB0LrQvtC70YzQutC+INGA0LDQtyAxMjc8YnI+Ni4xMyDQmNGB0L/QvtC70YzQt9GD0LnRgtC1INC30L3QsNGH0LXQvdC40LUg0L/Qu9Cw0LLQsNGO0YnQtdC5INC30LDQv9GP0YLQvtC5INCyINGG0LjQutC70LUgMTI4PGJyPjYuMTQg0JzQvdC+0LPQvtGD0YDQvtCy0L3QtdCy0LDRjyDRhNC40LvQuNCw0LsgMTI4PGJyPjYuMTUg0J/QsNGA0LDQvNC10YLRgNGLINC60L7QvNCw0L3QtNC90L7QuSDRgdGC0YDQvtC60Lgg0LDQvdCw0LvQuNC30LAgMTMwPGJyPjYuMTYg0KHQvtC30LTQsNGC0Ywg0L/RgNC+0YHRgtC+0LUg0LzQtdC90Y4gMTMzPGJyPjYuMTcg0JjQt9C80LXQvdC40YLQtSDQvdCw0L/QvtC80LjQvdCw0L3QuNC1INC+INC/0YDQvtGB0YLQvtC8INC80LXQvdGOIDEzNDxicj42LjE4INCh0L7Qt9C00LDQudGC0LUg0L/RgNC+0YHRgtC+0Lkg0LrQsNC70YzQutGD0LvRj9GC0L7RgCBSUE4gMTM2PGJyPjYuMTkg0KHQvtC30LTQsNGC0Ywg0LrQsNC70YzQutGD0LvRj9GC0L7RgCDQutC+0LzQsNC90LTQvdC+0Lkg0YHRgtGA0L7QutC4IDEzODxicj7Qk9C70LDQstCwIDcg0JjQvdGB0YLRgNGD0LzQtdC90YIg0L/RgNC+0LzQtdC20YPRgtC+0YfQvdC+0Lkg0L7QsdC+0LvQvtGH0LrQuCAxNDA8YnI+Ny4xINCd0LDQudC00LjRgtC1INGB0YLRgNC+0LrRgyDQsiDRhNCw0LnQu9C1IDE0MTxicj43LjIg0L7RgtC+0LHRgNCw0LbQsNGC0Ywg0LjQvNC10L3QsCDRhNCw0LnQu9C+0LIsINGB0L7QtNC10YDQttCw0YnQuNC1INGA0LXQt9GD0LvRjNGC0LDRgtGLINC/0L7QuNGB0LrQsCAxNDI8YnI+Ny4zINCj0LfQvdCw0LnRgtC1LCDRg9GB0L/QtdGI0L3QviDQu9C4INC/0L7QuNGB0LogMTQzPGJyPjcuNCDQndC1INC+0YLQu9C40YfQsNC50YLQtSDQtNC10LvQsCDQuCBTbWFsbGNhdHMgU2VhcmNoIDE0NDxicj43LjUg0J/QvtC40YHQuiDQsiDRgtGA0YPQsdC+0L/RgNC+0LLQvtC00LUgMTQ1PGJyPjcuNiDQo9C80LXQvdGM0YjQuNGC0LUg0YDQtdC30YPQu9GM0YLQsNGC0Ysg0L/QvtC40YHQutCwIDE0Njxicj43Ljcg0J/QvtC40YHQuiDRgdC70L7QttC90L7Qs9C+INGA0LXQttC40LzQsCAxNDc8YnI+Ny44INCf0L7QuNGB0LogU1NOIDE0ODxicj43Ljkg0YTQsNC50Lsg0YHQttCw0YLQuNGPINC/0L7QuNGB0LrQsCAxNDk8YnI+Ny4xMCDQl9Cw0YDQtdC30LXRgNCy0LjRgNC+0LLQsNC90L3QsNGPINGH0LDRgdGC0Ywg0LLRi9Cy0L7QtNCwIDE1MDxicj43LjExINGB0L7RhdGA0LDQvdC40YLRjCDRgtC+0LvRjNC60L4g0YfQsNGB0YLRjCDQstGF0L7QtNC90L7Qs9C+INCx0LDQvdC60LAgMTUxPGJyPjcuMTIuINCf0L7Qu9GD0YfQtdC90LjQtSDRgdC70L7QsiDQutCw0LbQtNC+0Lkg0YHRgtGA0L7QutC4IDE1Mjxicj43LjEzINCh0L/QuNGB0L7QuiDRgdCy0L7QtNC90YvRhSDQvdC+0LzQtdGA0L7QsiAxNTM8YnI+Ny4xNCDQodGC0LDRgtC40YHRgtC40YfQtdGB0LrQsNGPINGB0YLRgNC+0LrQsCBBV0sg0L/QvtGP0LLQu9GP0LXRgtGB0Y8gMTU0INGA0LDQt9CwPGJyPjcuMTUg0JjRgdC/0L7Qu9GM0LfRg9C50YLQtSDRgdGC0LDRgtC40YHRgtC40YfQtdGB0LrRg9GOINGB0YLRgNC+0LrRgyBCYXNoLCDRh9GC0L7QsdGLINC/0L7Rj9Cy0LjRgtGM0YHRjyAxNTYg0YDQsNC3PGJyPjcuMTYg0J/QvtC60LDQt9Cw0YLRjCDQtNCw0L3QvdGL0LUg0YEg0YPQtNC+0LHQvdC+0Lkg0LPQuNGB0YLQvtCz0YDQsNC80LzQvtC5IDE1Nzxicj43LjE3INCY0YHQv9C+0LvRjNC30YPQudGC0LUgQmFzaCwg0YfRgtC+0LHRiyDQu9C10LPQutC+INGA0LXQsNC70LjQt9C+0LLQsNGC0Ywg0LPQuNGB0YLQvtCz0YDQsNC80LzRgyDQoNC40YHRg9C90L7QuiAxNTk8YnI+Ny4xOCDQntGC0L7QsdGA0LDQttC10L3QuNC1INGC0LXQutGB0YLQvtCy0L7Qs9C+INC/0LDRgNCw0LPRgNCw0YTQsCAxNjAg0L/QvtGB0LvQtSDRgdC+0L/QvtGB0YLQsNCy0LvQtdC90LjRjyDRhNGA0LDQtzxicj7Qk9C70LDQstCwIDgg0JjQvdGB0YLRgNGD0LzQtdC90YIg0L/RgNC+0LzQtdC20YPRgtC+0YfQvdC+0Lkg0L7QsdC+0LvQvtGH0LrQuCAo0L/RgNC+0LTQvtC70LbQtdC90LjQtSkgMTYyPGJyPjguMSDQktGL0YXQvtC00L3QsNGPINGB0L7RgNGC0LjRgNC+0LLQutCwIDE2Mjxicj44LjIg0YbQuNGE0YDQvtCy0L7QuSDRgdC+0YDRgtC40YDQvtCy0LrQsCAxNjM8YnI+OC4zIElQIC3QsNC00YDQtdGBINGB0L7RgNGC0LjRgNC+0LLQutCwIDE2NDxicj44LjQg0JLRi9GF0L7QtNC90LDRjyDRh9Cw0YHRgtGMINC40LfQstC70LXRh9C10L3QuNGPIDE2Nzxicj44LjUg0KPQtNCw0LvQuNGC0Ywg0L/QvtC60LDRj9C90LjQtSAxNjg8YnI+OC42INCk0LDQudC7INGB0LbQsNGC0LjRjyAxNjk8YnI+OC43INCk0LDQudC7INC00LXQutC+0LzQv9GA0LXRgdGB0LjQuCAxNzE8YnI+OC44INCf0YDQvtCy0LXRgNGM0YLQtSDQutCw0YLQsNC70L7QsyAxNzIsINC60L7RgtC+0YDRi9C5INC90LUg0L/QvtCy0YLQvtGA0Y/QtdGCINGE0LDQudC7INCw0YDRhdC40LLQsCBUQVIgMTcyPGJyPjguOSDQn9C10YDQtdC00L7RgtC90YvQuSDQv9C10YDRgdC+0L3QsNC2IDE3Mzxicj44LjEwINCf0YDQtdC+0LHRgNCw0LfQvtCy0LDRgtGMINCx0YPQutCy0YMg0L/RgNC+0L/QuNGB0L3QvtCz0L4g0LIg0YHRgtGA0L7Rh9C90YPRjiDQsdGD0LrQstGDIDE3Mzxicj44LjExINCf0YDQtdC+0LHRgNCw0LfQvtCy0LDRgtGMINGE0LDQudC7IERPUyDQsiDRhNC+0YDQvNCw0YIgTGludXggMTc0PGJyPjguMTIg0KPQtNCw0LvQuNGC0Ywg0LjQvdGC0LXQu9C70LXQutGC0YPQsNC70YzQvdGL0LUg0YbQuNGC0LDRgtGLIDE3NTxicj44LjEzINCa0L7Qu9C40YfQtdGB0YLQstC+INGB0YLRgNC+0LosINGB0LvQvtCyINC40LvQuCDRgdC40LzQstC+0LvQvtCyINGB0YLQsNGC0LjRgdGC0LjRh9C10YHQutC40YUg0YTQsNC50LvQvtCyIDE3Njxicj44LjE0IFJlIC1BcnJhbmdlIEFwcmFncmFwaHMgMTc3PGJyPjguMTUg0JzQtdC90YzRiNC1IDE3OCwg0LLRiyDQvdC1INC30L3QsNC10YLQtTxicj7Qk9C70LDQstCwIDkg0J3QsNC50LTQuNGC0LUg0YTQsNC50LvRizog0L3QsNC50YLQuCwg0L3QsNC50YLQuCwg0YHQsdGA0LDRgdGL0LLQsNGC0YwgMTgwPGJyPjkuMSDQndCw0LnRgtC4INCy0YHQtSBtcDMgLdGE0LDQudC7IDE4MDxicj45LjIg0KHRgtGA0LDQvdC90YvQtSDRgdC40LzQstC+0LvRiyDQsiDQuNC80LXQvdC4INGE0LDQudC70LAgMTgyPGJyPjkuMyDQo9C70YPRh9GI0LXQvdC40LUg0KHQutC+0YDQvtGB0YLRjCDQvtCx0YDQsNCx0L7RgtC60Lgg0YTQsNC50LvQsCDQsdGL0LvQsCDQvdCw0LnQtNC10L3QsCAxODM8YnI+OS40INCh0LvQtdC00LjRgtC1INC/0L4g0YHRgdGL0LvQutC1INGB0LjQvNCy0L7Qu9CwLCDRh9GC0L7QsdGLINC90LDQudGC0Lgg0YTQsNC50LsgMTgzPGJyPjkuNSDQv9GA0Lgg0L/QvtC40YHQutC1INGE0LDQudC70L7Qsiwg0LAg0L3QtSDQtNC70Y8g0YDQsNC30LvQuNGH0LXQvdC40Y8g0YDQtdGI0LXRgtC60LggMTg0PGJyPjkuNiDQndCw0LnRgtC4INGE0LDQudC7IDE4NSDQvdCwINC00LDRgtGDPGJyPjkuNyDQndCw0LnRgtC4INGE0LDQudC70Ysg0L/QviDRgtC40L/RgyAxODU8YnI+OS44INCd0LDQudGC0Lgg0YTQsNC50LvRiyDQv9C+INGA0LDQt9C80LXRgNGDIDE4Njxicj45Ljkg0J3QsNC50YLQuCDRhNCw0LnQu9GLINC/0L4g0LrQvtC90YLQtdC90YLRgyAxODc8YnI+OS4xMCDQsdGL0YHRgtGA0L4g0L3QsNGF0L7QtNC40YIg0YHRg9GJ0LXRgdGC0LLRg9GO0YnQuNC1INC00L7QutGD0LzQtdC90YLRiyDQuCDQtdCz0L4g0YHQvtC00LXRgNC20LDQvdC40LUgMTg4PGJyPjkuMTEg0J3QsNC50YLQuCDRhNCw0LnQu9GLINC90LAg0LLQvtC30LzQvtC20L3Ri9GFINC/0L7Qt9C40YbQuNGP0YUgMTg5PGJyPtCT0LvQsNCy0LAgMTAg0JTQvtC/0L7Qu9C90LjRgtC10LvRjNC90YvQtSDRhNGD0L3QutGG0LjQuCDQv9GA0L7Qs9GA0LDQvNC80LjRgNC+0LLQsNC90LjRjyDRgdGG0LXQvdCw0YDQuNC10LIgMTkzPGJyPjEwLjEg0KHQutGA0LjQv9GCICJHdWFyZGlhbiBQcm9jZXNzIiAxOTM8YnI+MTAuMiDQn9C+0LLRgtC+0YDQvdC+0LUg0LjRgdC/0L7Qu9GM0LfQvtCy0LDQvdC40LUg0LrQvtC00LAgMTk0PGJyPjEwLjMg0JjRgdC/0L7Qu9GM0LfRg9C50YLQtSDRhNCw0LnQuyDQutC+0L3RhNC40LPRg9GA0LDRhtC40LggMTk2INCyINGB0LrRgNC40L/RgtC1IDE5Njxicj4xMC40INCk0YPQvdC60YbQuNGPINC+0L/RgNC10LTQtdC70LXQvdC40Y8gMTk3PGJyPjEwLjUg0JjRgdC/0L7Qu9GM0LfRg9C50YLQtSDRhNGD0L3QutGG0LjRjjog0L/QsNGA0LDQvNC10YLRgCDQuCDQstC+0LfQstGA0LDRidCw0LXQvNC+0LUg0LfQvdCw0YfQtdC90LjQtSAxOTg8YnI+MTAuNiBUcmVtcHR1cmUgVHJhcCAyMDA8YnI+MTAuNyDQodC60LjQtNC60LAg0LrQvtC80LDQvdC00YsgMjA0INGBINC/0YHQtdCy0LTQvtC90LjQvNCw0LzQuCAyMDQ8YnI+MTAuOCDQmNC30LHQtdCz0LDQudGC0LUg0L/RgdC10LLQtNC+0L3QuNC80L7QsiDQuCDRhNGD0L3QutGG0LjQuSAyMDY8YnI+MTAuOSDQoNCw0YHRgdGH0LjRgtCw0LnRgtC1INC/0YDQvtGI0LvQvtC1IDIwNzxicj4xMC4xMCDQndCw0L/QuNGI0LjRgtC1IFBhY2thZ2VyIDIwOTxicj7Qk9C70LDQstCwIDExINCU0LDRgtCwINC70LXRh9C10L3QuNGPIDIxNDxicj4xMS4xINCk0L7RgNC80LDRgiDQlNCw0YLQsCDQn9C+0LrQsNC30LDRgtGMIDIxNDxicj4xMS4yINCf0YDQtdC00L7RgdGC0LDQstGM0YLQtSDQtNCw0YLRgyDQv9C+INGD0LzQvtC70YfQsNC90LjRjiAyMTY8YnI+MTEuMy48YnI+MTEuNCDQn9GA0LXQvtCx0YDQsNC30L7QstCw0YLRjCDQtNCw0YLRgyDQuCDQstGA0LXQvNGPINCyINGN0L/QvtGF0YMg0Y3Qv9C+0YXQuCAyMjA8YnI+MTEuNSDQn9GA0LXQvtCx0YDQsNC30L7QstCw0YLRjCDRjdC/0L7RhdC4INGB0LXQutGD0L3QtNGLINC00L4g0YHQtdCz0L7QtNC90Y/RiNC90LXQs9C+INCy0YDQtdC80LXQvdC4IDIyMTxicj4xMS42INCY0YHQv9C+0LvRjNC30YPQudGC0LUgUGVybCwg0YfRgtC+0LHRiyDQv9C+0LvRg9GH0LjRgtGMINC00LDRgtGDINCy0YfQtdGA0LDRiNC90LXQs9C+INC00L3RjyDQuNC70Lgg0LfQsNCy0YLRgNCwIDIyMjxicj4xMS43PGJyPjExLjgg0J7QsdGA0LDQsdC+0YLQutCwINGH0LDRgdC+0LLQvtCz0L4g0L/QvtGP0YEsINC70LXRgtC90LXQtSDQstGA0LXQvNGPINC4INC/0LXRgNC10LnQvdGL0Lkg0LPQvtC0IDIyNDxicj4xMS45INCY0YHQv9C+0LvRjNC30YPQudGC0LUg0LTQsNGC0YMg0LggQ3JvbiDQtNC70Y8g0L7QsdGA0LDQsdC+0YLQutC4INGB0YbQtdC90LDRgNC40LXQsiDQsiDQtNC10L3RjCBOPHA+Li4uLi4uPC9wPjwvZGl2PjwvZGl2PjxpbWcgc3JjPSJodHRwczovL3d3dy5vMGIuY24vaS5waHA/dC5wbmcmcmlkPWd3LTEuNjNjNGQ3NjRiYTcwMyZwPTE5NTk0NTQzODQmaz05OS0zMCZ0PTE2NzM4NDQ1ODIiIHN0eWxlPSJkaXNwbGF5Om5vbmUiPg==
Продавец:新华文馨图书专营店
Адрес:Пекин
Рейтинг:
Всего отзывов:0
Положительных:0
Добавить в корзину
- Информация о товаре
- Фотографии
Основная информация
наименование товара: | Bash Shell Script Программирование классического примера (2 -е издание) | формат: | |
Автор: | [美] Карл·Карл Альбинг, [красота] JP·JP Vossen |. | Количество страниц: | |
Цены: | 159 | Опубликованная дата: | 2021-01-01 |
Номер ISBN: | Время печати: | 2021-01-01 | |
Издательство: | Народные сообщения и телекоммуникации | Версия: | 1 |
Типы продукта: | книги | Индийский: | 1 |
Краткое содержание:
Bash - это оболочка, используемая в Linux.Пользователи могут управлять системой Linux в форме команд в форме команды.В качестве использования Bash Дата обработки и время;Второе издание является новым для GIT, и каждый экземпляр содержит один или несколько примеров и обсуждает принцип работы решения.
......
Цвет страница:
......
Об авторе:
Машина·Карл Альбинг, доктор компьютерных наук, профессор компьютерных наук в Военно -морской академии США, работал в компании различных масштабов и имеет богатый опыт программного обеспечения.
JP·JP Vossen начал заниматься компьютерами в начале 1980 -х годов и начал сосредоточиться на работе с информационной безопасностью в конце 1990 -х годов.
[Введение переводчика] Menjia, GNU/Linux в -DEPTH USER, любит проследить источник оригинала, копая входы и выходы позади техники, а также области программирования и теории языка, технологии компиляции, проектирования операционной системы и реализации , веб -разработка и другие поля. Сценарий фактический бой (2 -е издание) ».
JP·JP Vossen начал заниматься компьютерами в начале 1980 -х годов и начал сосредоточиться на работе с информационной безопасностью в конце 1990 -х годов.
[Введение переводчика] Menjia, GNU/Linux в -DEPTH USER, любит проследить источник оригинала, копая входы и выходы позади техники, а также области программирования и теории языка, технологии компиляции, проектирования операционной системы и реализации , веб -разработка и другие поля. Сценарий фактический бой (2 -е издание) ».
......
Оглавление:
Предисловие XV
Глава 1 Bash Начало работы 1
1.1 Почему Bash 2
1.2 Bash Shell 3
1.3 напоминание, чтобы показать 3
1.4 Отображение текущей позиции 4
1.5 Найти и запустить команду 5
1.6 Связанная информация файла 7
1.7 Отображение всех скрытых (точечных номеров) файлов в текущем каталоге 9
1.8 Используйте ссылку на оболочку 12
1.9 Используйте или замените встроенную команду и внешнюю команду 13
1.10 ОК, будь то в интерактивном режиме 15
1.11 Установите Bash в качестве оболочки по умолчанию 15
1.12 New Bash 17
1.13 Получите версию Bash 18 Linux.
1.14 Получить XBSD -версию Bash 19
1.15 Получить Bash 20 версии MacOS
1.16 Получите Bash 20 версии Unix
1.17 Получить Windows версию Bash 22
1.18 Используя Bash 24, не получив удара
1.19 BAS -файл 25
Глава 2 Стандартный выход 28
2.1 Вывод в окно терминала/терминала 29
2.2 Держите пустой символ на выходе 30
2.3 Добавьте несколько элементов управления форматом в выход 31
2.4 Устранение символов изменения в выходе 32
2.5 Сохранить выход команды 33
2.6 Сохраните выход для других файлов 34
2.7 Сохраните вывод команды LS 34
2.8 Отправьте сообщения вывода и ошибок в разные файлы 36
2.9 Отправить сообщения вывода и ошибок в тот же файл 36
2.10 Добавлен выход 38
2.11 Используйте только начало или конец файла 38
2.12 Раздел документа 39
2.13 Отбросьте выход 40
2.14 Сохранить или группировать несколько команд вывода 40
2.15 Выход - это вход, и эти две программы 42 подключены к двум программам
2.16 Поместите выход как вход, сохраняя при этом его копию 43
2.17 Подключите две программы с выходом в качестве параметра 44
2.18 Переустановить 46 раз в линии
2.19 Сохранить и выводить 47, когда перенаправление не работает
2.20 Exchange Stderr и Stdout 49
2.21 Избегайте неожиданного файла покрытия 50
2.22 Заинтересованное покрытое файл 51
Глава 3 Стандартный вход 53
3.1 Введите ввод из файла 53
3.2 Поместите данные с сценарием вместе 54
3.3 Избегайте странного поведения в здесь-документ 55
3.4 Вход здесь-документ 57
3.5 Получить пользовательский ввод 58
3.6 Получите да или нет 59
3.7 Выберите список опций 61
3.8
Глава 4 Команда выполнения 64
4.1 Запуск программы 64
4.2 выполнить несколько команд в ходе 66
4.3 Выполните несколько команд одновременно 67
4.4, успешно ли команда запускается 68
4.5 После успешного запуска команды выполните следующую команду 70
4.6 Уменьшите количество оператора IF 71
4.7 ВРЕМЯ -ОПЛАТА Оперативная операция 72
4.8 Отображение сообщения об ошибке, когда произойдет сбой 73
4.9 Команда в переменной 74
4.10 Все сценарии в каталоге 75
Глава 5 Основы программирования скрипта: переменная оболочки 76
5.1 Сценарий записи 77
5.2 Встроение документа в сценарий Shell 78
5.3 Улучшение читаемости сценария 80
5.4 Отдельные имена переменных из окружающего текста 82
5.5 Экспортная переменная 82
5.6 Просмотреть все значения переменных 84
5.7 Используйте параметры в скрипте оболочки 85
5.8 Параметры сценария, передаваемого через сценарий 86 раз
5.9 Параметры, содержащие пробелы 87
5.10 Список параметров, содержащий пространства 89
5.11 Статистические параметры 91
5.12 Отбросьте параметры 92
5.13 Получите значение по умолчанию 94
5.14 Установите значение по умолчанию 94
5.15 Использование пустого значения в качестве допустимого значения по умолчанию 95
5.16 не только использует строковые константы в качестве значения по умолчанию 96
5.17 Сообщение об ошибке сообщения об ошибке. Сообщение об ошибке 97
5.18 Измените некоторую строку 99
5.19 Получите значение определенного числа 101
5.20 для реализации BaseName 102 с Bash
5.21 Используйте Bash для реализации Dirname 103
5.22 Выберите замену значение CSV 103
5.23 Используйте переменные массива 104
5.24 Преобразование случаев 105
5.25 Преобразовать в метод именования горба 106
Глава 6 Логика оболочки и арифметика 107
6.1 Реализация арифметической операции в скрипте 107 Shell 107
6.2 Условие ветви 109
6.3 Функции тестового файла 113
6.4 Проверьте несколько функций 115
6.5 Тестовая строка функции 116
6.6 Тест и равное количество отношений 117
6.7 Тест с Mode Match 119
6.8 Проверка с регулярным выражением 120
6.9 Используйте перенаправление, чтобы изменить сценарий 122
6.10 Цикл в течение определенного периода времени 123
6.11 Используйте Читать 125 в цикле
6.12 Цикл несколько раз 127
6.13 Используйте значение плавающей запятой в цикле 128
6.14 Многоуровневая филиал 128
6.15 Параметры командной строки анализа 130
6.16 Создать простое меню 133
6.17 Измените напоминание о простом меню 134
6.18 Создайте простой калькулятор RPN 136
6.19 Создать калькулятор командной строки 138
Глава 7 Инструмент промежуточной оболочки 140
7.1 Найдите строку в файле 141
7.2 отображать имена файлов, содержащие результаты поиска 142
7.3 Узнайте, успешно ли поиск 143
7.4 Не отличайте дела и Smallcats Search 144
7.5 Поиск в трубопроводе 145
7.6 Уменьшите результаты поиска 146
7.7 Поиск сложного режима 147
7.8 Поиск SSN 148
7.9 файл сжатия поиска 149
7.10 Зарезервированная часть вывода 150
7.11 сохранить только часть входного банка 151
7.12. Получение слов каждой строки 152
7.13 Список сводных номеров 153
7.14 Статистическая строка AWK появляется 154 раза
7.15 Используйте статистическую строку Bash, чтобы появиться 156 раз
7.16 Показать данные с удобной гистограммой 157
7.17 Используйте Bash, чтобы легко реализовать гистограмму Рисунок 159
7.18 Отображение текстового параграфа 160 после сопоставления фраз
Глава 8 Инструмент промежуточной оболочки (продолжение) 162
8.1 Выходная сортировка 162
8.2 цифровой сортировка 163
8.3 IP -адрес сортировка 164
8.4 Выходная часть извлечения 167
8.5 Удалить покаяние 168
8.6 Файл сжатия 169
8.7 Файл декомпрессии 171
8.8 Проверьте каталог 172, который не повторяет файл архива TAR 172
8.9 Передотный персонаж 173
8.10 Преобразовать букву прописного в строчную букву 173
8.11 Преобразовать файл DOS в формат Linux 174
8.12 Удалить интеллектуальные цитаты 175
8.13 Количество строк, слов или символов статистических файлов 176
8.14 Re -Arrange Apragraphs 177
8.15 Меньше 178, вы не знаете
Глава 9 Найдите файлы: найти, найти, сбрасывать 180
9.1 Найти все mp3 -файл 180
9.2 Странные символы в имени файла 182
9.3 Улучшение Скорость обработки файла была найдена 183
9.4 Следите по ссылке символа, чтобы найти файл 183
9.5 при поиске файлов, а не для различения решетки 184
9.6 Найти файл 185 на дату
9.7 Найти файлы по типу 185
9.8 Найти файлы по размеру 186
9.9 Найти файлы по контенту 187
9.10 быстро находит существующие документы и его содержание 188
9.11 Найти файлы на возможных позициях 189
Глава 10 Дополнительные функции программирования сценариев 193
10.1 Скрипт "Guardian Process" 193
10.2 Повторное использование кода 194
10.3 Используйте файл конфигурации 196 в скрипте 196
10.4 Функция определения 197
10.5 Используйте функцию: параметр и возвращаемое значение 198
10.6 Trempture Trap 200
10.7 Скидка команды 204 с псевдонимами 204
10.8 Избегайте псевдонимов и функций 206
10.9 Рассчитайте прошлое 207
10.10 Напишите Packager 209
Глава 11 Дата лечения 214
11.1 Формат Дата Показать 214
11.2 Предоставьте дату по умолчанию 216
11.3.
11.4 Преобразовать дату и время в эпоху эпохи 220
11.5 Преобразовать эпохи секунды до сегодняшнего времени 221
11.6 Используйте Perl, чтобы получить дату вчерашнего дня или завтра 222
11.7
11.8 Обработка часового пояс, летнее время и перейный год 224
11.9 Используйте дату и Cron для обработки сценариев в день N
Глава 1 Bash Начало работы 1
1.1 Почему Bash 2
1.2 Bash Shell 3
1.3 напоминание, чтобы показать 3
1.4 Отображение текущей позиции 4
1.5 Найти и запустить команду 5
1.6 Связанная информация файла 7
1.7 Отображение всех скрытых (точечных номеров) файлов в текущем каталоге 9
1.8 Используйте ссылку на оболочку 12
1.9 Используйте или замените встроенную команду и внешнюю команду 13
1.10 ОК, будь то в интерактивном режиме 15
1.11 Установите Bash в качестве оболочки по умолчанию 15
1.12 New Bash 17
1.13 Получите версию Bash 18 Linux.
1.14 Получить XBSD -версию Bash 19
1.15 Получить Bash 20 версии MacOS
1.16 Получите Bash 20 версии Unix
1.17 Получить Windows версию Bash 22
1.18 Используя Bash 24, не получив удара
1.19 BAS -файл 25
Глава 2 Стандартный выход 28
2.1 Вывод в окно терминала/терминала 29
2.2 Держите пустой символ на выходе 30
2.3 Добавьте несколько элементов управления форматом в выход 31
2.4 Устранение символов изменения в выходе 32
2.5 Сохранить выход команды 33
2.6 Сохраните выход для других файлов 34
2.7 Сохраните вывод команды LS 34
2.8 Отправьте сообщения вывода и ошибок в разные файлы 36
2.9 Отправить сообщения вывода и ошибок в тот же файл 36
2.10 Добавлен выход 38
2.11 Используйте только начало или конец файла 38
2.12 Раздел документа 39
2.13 Отбросьте выход 40
2.14 Сохранить или группировать несколько команд вывода 40
2.15 Выход - это вход, и эти две программы 42 подключены к двум программам
2.16 Поместите выход как вход, сохраняя при этом его копию 43
2.17 Подключите две программы с выходом в качестве параметра 44
2.18 Переустановить 46 раз в линии
2.19 Сохранить и выводить 47, когда перенаправление не работает
2.20 Exchange Stderr и Stdout 49
2.21 Избегайте неожиданного файла покрытия 50
2.22 Заинтересованное покрытое файл 51
Глава 3 Стандартный вход 53
3.1 Введите ввод из файла 53
3.2 Поместите данные с сценарием вместе 54
3.3 Избегайте странного поведения в здесь-документ 55
3.4 Вход здесь-документ 57
3.5 Получить пользовательский ввод 58
3.6 Получите да или нет 59
3.7 Выберите список опций 61
3.8
Глава 4 Команда выполнения 64
4.1 Запуск программы 64
4.2 выполнить несколько команд в ходе 66
4.3 Выполните несколько команд одновременно 67
4.4, успешно ли команда запускается 68
4.5 После успешного запуска команды выполните следующую команду 70
4.6 Уменьшите количество оператора IF 71
4.7 ВРЕМЯ -ОПЛАТА Оперативная операция 72
4.8 Отображение сообщения об ошибке, когда произойдет сбой 73
4.9 Команда в переменной 74
4.10 Все сценарии в каталоге 75
Глава 5 Основы программирования скрипта: переменная оболочки 76
5.1 Сценарий записи 77
5.2 Встроение документа в сценарий Shell 78
5.3 Улучшение читаемости сценария 80
5.4 Отдельные имена переменных из окружающего текста 82
5.5 Экспортная переменная 82
5.6 Просмотреть все значения переменных 84
5.7 Используйте параметры в скрипте оболочки 85
5.8 Параметры сценария, передаваемого через сценарий 86 раз
5.9 Параметры, содержащие пробелы 87
5.10 Список параметров, содержащий пространства 89
5.11 Статистические параметры 91
5.12 Отбросьте параметры 92
5.13 Получите значение по умолчанию 94
5.14 Установите значение по умолчанию 94
5.15 Использование пустого значения в качестве допустимого значения по умолчанию 95
5.16 не только использует строковые константы в качестве значения по умолчанию 96
5.17 Сообщение об ошибке сообщения об ошибке. Сообщение об ошибке 97
5.18 Измените некоторую строку 99
5.19 Получите значение определенного числа 101
5.20 для реализации BaseName 102 с Bash
5.21 Используйте Bash для реализации Dirname 103
5.22 Выберите замену значение CSV 103
5.23 Используйте переменные массива 104
5.24 Преобразование случаев 105
5.25 Преобразовать в метод именования горба 106
Глава 6 Логика оболочки и арифметика 107
6.1 Реализация арифметической операции в скрипте 107 Shell 107
6.2 Условие ветви 109
6.3 Функции тестового файла 113
6.4 Проверьте несколько функций 115
6.5 Тестовая строка функции 116
6.6 Тест и равное количество отношений 117
6.7 Тест с Mode Match 119
6.8 Проверка с регулярным выражением 120
6.9 Используйте перенаправление, чтобы изменить сценарий 122
6.10 Цикл в течение определенного периода времени 123
6.11 Используйте Читать 125 в цикле
6.12 Цикл несколько раз 127
6.13 Используйте значение плавающей запятой в цикле 128
6.14 Многоуровневая филиал 128
6.15 Параметры командной строки анализа 130
6.16 Создать простое меню 133
6.17 Измените напоминание о простом меню 134
6.18 Создайте простой калькулятор RPN 136
6.19 Создать калькулятор командной строки 138
Глава 7 Инструмент промежуточной оболочки 140
7.1 Найдите строку в файле 141
7.2 отображать имена файлов, содержащие результаты поиска 142
7.3 Узнайте, успешно ли поиск 143
7.4 Не отличайте дела и Smallcats Search 144
7.5 Поиск в трубопроводе 145
7.6 Уменьшите результаты поиска 146
7.7 Поиск сложного режима 147
7.8 Поиск SSN 148
7.9 файл сжатия поиска 149
7.10 Зарезервированная часть вывода 150
7.11 сохранить только часть входного банка 151
7.12. Получение слов каждой строки 152
7.13 Список сводных номеров 153
7.14 Статистическая строка AWK появляется 154 раза
7.15 Используйте статистическую строку Bash, чтобы появиться 156 раз
7.16 Показать данные с удобной гистограммой 157
7.17 Используйте Bash, чтобы легко реализовать гистограмму Рисунок 159
7.18 Отображение текстового параграфа 160 после сопоставления фраз
Глава 8 Инструмент промежуточной оболочки (продолжение) 162
8.1 Выходная сортировка 162
8.2 цифровой сортировка 163
8.3 IP -адрес сортировка 164
8.4 Выходная часть извлечения 167
8.5 Удалить покаяние 168
8.6 Файл сжатия 169
8.7 Файл декомпрессии 171
8.8 Проверьте каталог 172, который не повторяет файл архива TAR 172
8.9 Передотный персонаж 173
8.10 Преобразовать букву прописного в строчную букву 173
8.11 Преобразовать файл DOS в формат Linux 174
8.12 Удалить интеллектуальные цитаты 175
8.13 Количество строк, слов или символов статистических файлов 176
8.14 Re -Arrange Apragraphs 177
8.15 Меньше 178, вы не знаете
Глава 9 Найдите файлы: найти, найти, сбрасывать 180
9.1 Найти все mp3 -файл 180
9.2 Странные символы в имени файла 182
9.3 Улучшение Скорость обработки файла была найдена 183
9.4 Следите по ссылке символа, чтобы найти файл 183
9.5 при поиске файлов, а не для различения решетки 184
9.6 Найти файл 185 на дату
9.7 Найти файлы по типу 185
9.8 Найти файлы по размеру 186
9.9 Найти файлы по контенту 187
9.10 быстро находит существующие документы и его содержание 188
9.11 Найти файлы на возможных позициях 189
Глава 10 Дополнительные функции программирования сценариев 193
10.1 Скрипт "Guardian Process" 193
10.2 Повторное использование кода 194
10.3 Используйте файл конфигурации 196 в скрипте 196
10.4 Функция определения 197
10.5 Используйте функцию: параметр и возвращаемое значение 198
10.6 Trempture Trap 200
10.7 Скидка команды 204 с псевдонимами 204
10.8 Избегайте псевдонимов и функций 206
10.9 Рассчитайте прошлое 207
10.10 Напишите Packager 209
Глава 11 Дата лечения 214
11.1 Формат Дата Показать 214
11.2 Предоставьте дату по умолчанию 216
11.3.
11.4 Преобразовать дату и время в эпоху эпохи 220
11.5 Преобразовать эпохи секунды до сегодняшнего времени 221
11.6 Используйте Perl, чтобы получить дату вчерашнего дня или завтра 222
11.7
11.8 Обработка часового пояс, летнее время и перейный год 224
11.9 Используйте дату и Cron для обработки сценариев в день N
......