ENABLE="no" KEEP="7" FREQ="daily" HOUR="2" MINUTE="0" LOGDIR="" SRC_0="" DST_0="" mkdir -p /usr/local/emhttp/plugins/incbackup base64 -d <<EOF > /usr/local/emhttp/plugins/incbackup/incbackup.page TWVudT0iVXRpbGl0aWVzIgpUaXRsZT0iSW5jcmVtZW50YWwgQmFja3VwIgpJY29uPSJiYWNrdXAu cG5nIgotLS0KPD9waHAKJGNmZ19maWxlID0gJy9ib290L2NvbmZpZy9wbHVnaW5zL2luY2JhY2t1 cC9pbmNiYWNrdXAuY2ZnJzsKJGxvZ19maWxlID0gJy92YXIvbG9nL2luY2JhY2t1cC5sb2cnOwok cGlkX2ZpbGUgPSAnL3Zhci9ydW4vaW5jYmFja3VwLnBpZCc7CgovLyBBSkFYIExvZyBMb2FkZXIK aWYgKGlzc2V0KCRfUE9TVFsnYWN0aW9uJ10pICYmICRfUE9TVFsnYWN0aW9uJ10gPT0gJ2dldF9s b2cnKSB7CiAgICBpZiAoZmlsZV9leGlzdHMoJGxvZ19maWxlKSkgewogICAgICAgICRsb2dfbGlu ZXMgPSBmaWxlKCRsb2dfZmlsZSk7CiAgICAgICAgaWYgKGNvdW50KCRsb2dfbGluZXMpID4gMTUw KSB7CiAgICAgICAgICAgICRsb2dfbGluZXMgPSBhcnJheV9zbGljZSgkbG9nX2xpbmVzLCAtMTUw KTsKICAgICAgICB9CiAgICAgICAgZWNobyBodG1sc3BlY2lhbGNoYXJzKGltcGxvZGUoIiIsICRs b2dfbGluZXMpKTsKICAgIH0gZWxzZSB7CiAgICAgICAgZWNobyAiTm9jaCBrZWluZSBMb2dzIHZv cmhhbmRlbi4gU3RhcnRlbiBTaWUgZWluIEJhY2t1cC4iOwogICAgfQogICAgZXhpdDsKfQoKJGNm ZyA9IEBwYXJzZV9pbmlfZmlsZSgkY2ZnX2ZpbGUpOwppZiAoJGNmZyA9PT0gZmFsc2UpIHsKICAg ICRjZmcgPSBbJ0VOQUJMRScgPT4gJ25vJywgJ0tFRVAnID0+ICc3JywgJ0ZSRVEnID0+ICdkYWls eScsICdIT1VSJyA9PiAnMicsICdNSU5VVEUnID0+ICcwJywgJ0xPR0RJUicgPT4gJyddOwp9Cgok cGF0aHMgPSBbXTsKJGkgPSAwOwp3aGlsZSAoaXNzZXQoJGNmZ1siU1JDXyRpIl0pICYmIGlzc2V0 KCRjZmdbIkRTVF8kaSJdKSkgewogICAgJHBhdGhzW10gPSBbJ3NyYycgPT4gJGNmZ1siU1JDXyRp Il0sICdkc3QnID0+ICRjZmdbIkRTVF8kaSJdXTsKICAgICRpKys7Cn0KaWYgKGVtcHR5KCRwYXRo cykpIHsKICAgICRwYXRoc1tdID0gWydzcmMnID0+ICcnLCAnZHN0JyA9PiAnJ107Cn0KCi8vIEZv cm11bGFydmVyYXJiZWl0dW5nCmlmIChpc3NldCgkX1BPU1RbJ3NhdmUnXSkpIHsKICAgICRlbmFi bGUgPSBpc3NldCgkX1BPU1RbJ2VuYWJsZSddKSA/ICJ5ZXMiIDogIm5vIjsKICAgICRrZWVwID0g aW50dmFsKCRfUE9TVFsna2VlcCddKTsKICAgIGlmICgka2VlcCA8IDEpICRrZWVwID0gNzsKICAg IAogICAgJGZyZXEgPSAkX1BPU1RbJ2ZyZXEnXTsKICAgICRob3VyID0gJF9QT1NUWydob3VyJ107 CiAgICAkbWludXRlID0gJF9QT1NUWydtaW51dGUnXTsKICAgIAogICAgLy8gQ3JvbiBTdHJpbmcg Z2VuZXJpZXJlbgogICAgJGNyb25fc3RyID0gIiI7CiAgICBpZiAoJGZyZXEgPT0gImhvdXJseSIp IHsKICAgICAgICAkY3Jvbl9zdHIgPSAiJG1pbnV0ZSAqICogKiAqIjsKICAgIH0gZWxzZWlmICgk ZnJlcSA9PSAiZGFpbHkiKSB7CiAgICAgICAgJGNyb25fc3RyID0gIiRtaW51dGUgJGhvdXIgKiAq ICoiOwogICAgfSBlbHNlaWYgKCRmcmVxID09ICJ3ZWVrbHkiKSB7CiAgICAgICAgJGNyb25fc3Ry ID0gIiRtaW51dGUgJGhvdXIgKiAqIDAiOwogICAgfSBlbHNlaWYgKCRmcmVxID09ICJtb250aGx5 IikgewogICAgICAgICRjcm9uX3N0ciA9ICIkbWludXRlICRob3VyIDEgKiAqIjsKICAgIH0gZWxz ZSB7CiAgICAgICAgJGNyb25fc3RyID0gIiRtaW51dGUgJGhvdXIgKiAqICoiOwogICAgfQoKICAg ICRjZmdfY29udGVudCAgPSAnRU5BQkxFPSInIC4gJGVuYWJsZSAuICciJyAuICJcbiI7CiAgICAk Y2ZnX2NvbnRlbnQgLj0gJ0tFRVA9IicgLiAka2VlcCAuICciJyAuICJcbiI7CiAgICAkY2ZnX2Nv bnRlbnQgLj0gJ0ZSRVE9IicgLiAkZnJlcSAuICciJyAuICJcbiI7CiAgICAkY2ZnX2NvbnRlbnQg Lj0gJ0hPVVI9IicgLiAkaG91ciAuICciJyAuICJcbiI7CiAgICAkY2ZnX2NvbnRlbnQgLj0gJ01J TlVURT0iJyAuICRtaW51dGUgLiAnIicgLiAiXG4iOwoKICAgICRsb2dkaXIgPSBpc3NldCgkX1BP U1RbJ2xvZ2RpciddKSA/ICRfUE9TVFsnbG9nZGlyJ10gOiAnJzsKICAgICRjZmdfY29udGVudCAu PSAnTE9HRElSPSInIC4gc3RyX3JlcGxhY2UoJyInLCAnXCInLCAkbG9nZGlyKSAuICciJyAuICJc biI7CgogICAgJHNvdXJjZXMgPSBpc3NldCgkX1BPU1RbJ3NvdXJjZSddKSA/ICRfUE9TVFsnc291 cmNlJ10gOiBbXTsKICAgICRkZXN0cyA9IGlzc2V0KCRfUE9TVFsnZGVzdCddKSA/ICRfUE9TVFsn ZGVzdCddIDogW107CiAgICAKICAgICRwYXRoX2luZGV4ID0gMDsKICAgIGlmIChpc19hcnJheSgk c291cmNlcykgJiYgaXNfYXJyYXkoJGRlc3RzKSkgewogICAgICAgIGZvciAoJGkgPSAwOyAkaSA8 IGNvdW50KCRzb3VyY2VzKTsgJGkrKykgewogICAgICAgICAgICAkcyA9IHRyaW0oJHNvdXJjZXNb JGldKTsKICAgICAgICAgICAgJGQgPSB0cmltKCRkZXN0c1skaV0pOwogICAgICAgICAgICBpZiAo IWVtcHR5KCRzKSAmJiAhZW1wdHkoJGQpKSB7CiAgICAgICAgICAgICAgICAkY2ZnX2NvbnRlbnQg Lj0gJ1NSQ18nIC4gJHBhdGhfaW5kZXggLiAnPSInIC4gc3RyX3JlcGxhY2UoJyInLCAnXCInLCAk cykgLiAnIicgLiAiXG4iOwogICAgICAgICAgICAgICAgJGNmZ19jb250ZW50IC49ICdEU1RfJyAu ICRwYXRoX2luZGV4IC4gJz0iJyAuIHN0cl9yZXBsYWNlKCciJywgJ1wiJywgJGQpIC4gJyInIC4g IlxuIjsKICAgICAgICAgICAgICAgICRwYXRoX2luZGV4Kys7CiAgICAgICAgICAgIH0KICAgICAg ICB9CiAgICB9CiAgICBmaWxlX3B1dF9jb250ZW50cygkY2ZnX2ZpbGUsICRjZmdfY29udGVudCk7 CgogICAgLy8gRGlyZWN0IGNyb250YWIgaW5qZWN0aW9uCiAgICAkY3Jvbl9zY3JpcHRfcGF0aCA9 ICcvdXNyL2xvY2FsL2VtaHR0cC9wbHVnaW5zL2luY2JhY2t1cC9iYWNrdXAuc2gnOwogICAgJGN1 cnJlbnRfY3JvbiA9IHNoZWxsX2V4ZWMoImNyb250YWIgLWwgMj4vZGV2L251bGwgfCBncmVwIC12 ICIgLiBlc2NhcGVzaGVsbGFyZygkY3Jvbl9zY3JpcHRfcGF0aCkpOwogICAgaWYgKCRlbmFibGUg PT0gInllcyIpIHsKICAgICAgICAkbmV3X2Nyb24gPSAkY3VycmVudF9jcm9uIC4gJGNyb25fc3Ry IC4gIiAiIC4gJGNyb25fc2NyaXB0X3BhdGggLiAiID4gL2Rldi9udWxsIDI+JjFcbiI7CiAgICAg ICAgZmlsZV9wdXRfY29udGVudHMoIi90bXAvY3Jvbl90ZW1wIiwgJG5ld19jcm9uKTsKICAgICAg ICBleGVjKCJjcm9udGFiIC90bXAvY3Jvbl90ZW1wIik7CiAgICB9IGVsc2UgewogICAgICAgIGZp bGVfcHV0X2NvbnRlbnRzKCIvdG1wL2Nyb25fdGVtcCIsICRjdXJyZW50X2Nyb24pOwogICAgICAg IGV4ZWMoImNyb250YWIgL3RtcC9jcm9uX3RlbXAiKTsKICAgIH0KICAgIEB1bmxpbmsoIi90bXAv Y3Jvbl90ZW1wIik7CiAgICAKICAgICRtZXNzYWdlID0gIkVpbnN0ZWxsdW5nZW4gZ2VzcGVpY2hl cnQuIENyb24tSm9iIHd1cmRlIGRpcmVrdCBpbSBTeXN0ZW0gdmVyYW5rZXJ0LiI7CiAgICAKICAg IC8vIFJlbG9hZCBjZmcKICAgICRjZmcgPSBAcGFyc2VfaW5pX2ZpbGUoJGNmZ19maWxlKTsKICAg ICRwYXRocyA9IFtdOwogICAgJGkgPSAwOwogICAgd2hpbGUgKGlzc2V0KCRjZmdbIlNSQ18kaSJd KSAmJiBpc3NldCgkY2ZnWyJEU1RfJGkiXSkpIHsKICAgICAgICAkcGF0aHNbXSA9IFsnc3JjJyA9 PiAkY2ZnWyJTUkNfJGkiXSwgJ2RzdCcgPT4gJGNmZ1siRFNUXyRpIl1dOwogICAgICAgICRpKys7 CiAgICB9Cn0KCmlmIChpc3NldCgkX1BPU1RbJ3J1bl9ub3cnXSkpIHsKICAgIGV4ZWMoIi91c3Iv bG9jYWwvZW1odHRwL3BsdWdpbnMvaW5jYmFja3VwL2JhY2t1cC5zaCA+IC9kZXYvbnVsbCAyPiYx ICYiKTsKICAgICRtZXNzYWdlID0gIkJhY2t1cCBpbSBIaW50ZXJncnVuZCBnZXN0YXJ0ZXQuIjsK fQoKaWYgKGlzc2V0KCRfUE9TVFsnY2xlYXJfbG9nJ10pKSB7CiAgICBAdW5saW5rKCRsb2dfZmls ZSk7CiAgICAkbWVzc2FnZSA9ICJMb2dkYXRlaSBnZWxlZXJ0LiI7Cn0KCmlmIChpc3NldCgkX1BP U1RbJ2NoZWNrX3NpemUnXSkpIHsKICAgICRzaXplX291dHB1dCA9ICIiOwogICAgZm9yZWFjaCAo JHBhdGhzIGFzICRwKSB7CiAgICAgICAgJGRzdCA9ICRwWydkc3QnXTsKICAgICAgICBpZiAoIWVt cHR5KCRkc3QpICYmIGlzX2RpcigkZHN0KSkgewogICAgICAgICAgICAkY21kID0gImR1IC1zaGMg IiAuIGVzY2FwZXNoZWxsYXJnKCRkc3QpIC4gIi8qIDI+JjEiOwogICAgICAgICAgICAkb3V0ID0g c2hlbGxfZXhlYygkY21kKTsKICAgICAgICAgICAgJHNpemVfb3V0cHV0IC49ICJaaWVsOiAiIC4g aHRtbHNwZWNpYWxjaGFycygkZHN0KSAuICJcbiIgLiBodG1sc3BlY2lhbGNoYXJzKCRvdXQpIC4g IlxuXG4iOwogICAgICAgIH0KICAgIH0KICAgIGlmIChlbXB0eSgkc2l6ZV9vdXRwdXQpKSAkc2l6 ZV9vdXRwdXQgPSAiS2VpbmUgWmllbHZlcnplaWNobmlzc2UgZ2VmdW5kZW4uIjsKICAgICRtZXNz YWdlID0gIjxiPkVjaHRlciBTcGVpY2hlcnZlcmJyYXVjaCAoaW5rbC4gSGFyZGxpbmstQmVyZWNo bnVuZyk6PC9iPjxicj48cHJlIHN0eWxlPSdiYWNrZ3JvdW5kOiMxZTFlMWU7IGNvbG9yOiMwZjA7 IHBhZGRpbmc6MTBweDsgYm9yZGVyLXJhZGl1czo0cHg7Jz4iIC4gJHNpemVfb3V0cHV0IC4gIjwv cHJlPjxicj48aT5IaW53ZWlzOiBXZW5uIHVudGVuIGJlaSAndG90YWwnIChpbnNnZXNhbXQpIG51 ciBlaW4gQnJ1Y2h0ZWlsIHZvbiAzeCBkZXIgT3JpZ2luYWxncm9lc3NlIHN0ZWh0LCBhcmJlaXRl biBkaWUgSGFyZGxpbmtzIGFic29sdXQga29ycmVrdCEgV2luZG93cyBFeHBsb3JlciB2ZXJzdGVo dCBIYXJkbGlua3MgdWViZXIgZGFzIE5ldHp3ZXJrIG5pY2h0IHVuZCBsdWVndCBkaWNoIGJlaSBk ZXIgR3JvZXNzZSBhbi48L2k+IjsKfQoKJGlzX3J1bm5pbmcgPSBmYWxzZTsKJHBpZCA9ICIiOwpp ZiAoZmlsZV9leGlzdHMoJHBpZF9maWxlKSkgewogICAgJHBpZCA9IHRyaW0oZmlsZV9nZXRfY29u dGVudHMoJHBpZF9maWxlKSk7CiAgICBpZiAoIWVtcHR5KCRwaWQpICYmIGlzX2RpcigiL3Byb2Mv IiAuICRwaWQpKSB7CiAgICAgICAgJGlzX3J1bm5pbmcgPSB0cnVlOwogICAgfSBlbHNlIHsKICAg ICAgICBAdW5saW5rKCRwaWRfZmlsZSk7CiAgICB9Cn0KPz4KCjxzdHlsZT4KICAgIC5pbmNiYWNr dXAtY29udGFpbmVyIHsgcGFkZGluZzogMjBweDsgYmFja2dyb3VuZC1jb2xvcjogI2Y5ZjlmOTsg Ym9yZGVyLXJhZGl1czogOHB4OyBib3JkZXI6IDFweCBzb2xpZCAjZTBlMGUwOyBtYXJnaW4tYm90 dG9tOiAyMHB4OyBjb2xvcjogIzMzMzsgcG9zaXRpb246IHJlbGF0aXZlO30KICAgIC5pbmNiYWNr dXAtZm9ybS1ncm91cCB7IG1hcmdpbi1ib3R0b206IDE1cHg7IH0KICAgIC5pbmNiYWNrdXAtZm9y bS1ncm91cCBsYWJlbCB7IGRpc3BsYXk6IGlubGluZS1ibG9jazsgd2lkdGg6IDI1MHB4OyBmb250 LXdlaWdodDogYm9sZDsgdmVydGljYWwtYWxpZ246IHRvcDt9CiAgICAuaW5jYmFja3VwLWZvcm0t Z3JvdXAgaW5wdXRbdHlwZT0idGV4dCJdLCAuaW5jYmFja3VwLWZvcm0tZ3JvdXAgaW5wdXRbdHlw ZT0ibnVtYmVyIl0sIC5pbmNiYWNrdXAtZm9ybS1ncm91cCBzZWxlY3QgeyBwYWRkaW5nOiA1cHg7 IGJvcmRlcjogMXB4IHNvbGlkICNjY2M7IGJvcmRlci1yYWRpdXM6IDRweDsgYmFja2dyb3VuZC1j b2xvcjogI2ZmZjsgY29sb3I6ICMzMzM7fQogICAgLmluY2JhY2t1cC1mb3JtLWdyb3VwIGlucHV0 W3R5cGU9ImNoZWNrYm94Il0geyB0cmFuc2Zvcm06IHNjYWxlKDEuNSk7IG1hcmdpbi10b3A6IDVw eDt9CiAgICAuaW5jYmFja3VwLWJ1dHRvbiB7IHBhZGRpbmc6IDhweCAxNXB4OyBiYWNrZ3JvdW5k LWNvbG9yOiAjMDA3YmZmOyBjb2xvcjogd2hpdGU7IGJvcmRlcjogbm9uZTsgYm9yZGVyLXJhZGl1 czogNHB4OyBjdXJzb3I6IHBvaW50ZXI7IG1hcmdpbi10b3A6NXB4O30KICAgIC5pbmNiYWNrdXAt YnV0dG9uOmhvdmVyIHsgYmFja2dyb3VuZC1jb2xvcjogIzAwNTZiMzsgfQogICAgLmluY2JhY2t1 cC1idXR0b24tc2Vjb25kYXJ5IHsgYmFja2dyb3VuZC1jb2xvcjogIzI4YTc0NTsgbWFyZ2luLWxl ZnQ6IDEwcHg7IH0KICAgIC5pbmNiYWNrdXAtYnV0dG9uLXNlY29uZGFyeTpob3ZlciB7IGJhY2tn cm91bmQtY29sb3I6ICMyMTg4Mzg7IH0KICAgIC5pbmNiYWNrdXAtYnV0dG9uLWRhbmdlciB7IGJh Y2tncm91bmQtY29sb3I6ICNkYzM1NDU7IHBhZGRpbmc6IDRweCA4cHg7IG1hcmdpbi1sZWZ0OiA1 cHg7fQogICAgLmluY2JhY2t1cC1idXR0b24tZGFuZ2VyOmhvdmVyIHsgYmFja2dyb3VuZC1jb2xv cjogI2M4MjMzMzsgfQogICAgLmluY2JhY2t1cC1tZXNzYWdlIHsgcGFkZGluZzogMTBweDsgYmFj a2dyb3VuZC1jb2xvcjogI2Q0ZWRkYTsgY29sb3I6ICMxNTU3MjQ7IGJvcmRlci1yYWRpdXM6IDRw eDsgbWFyZ2luLWJvdHRvbTogMTVweDsgfQogICAgLnBhdGgtcm93IHsgbWFyZ2luLWJvdHRvbTog MTBweDsgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsgZ2FwOiA1cHg7fQogICAg CiAgICAuc3RhdHVzLWJhZGdlIHsgcGFkZGluZzogNXB4IDEwcHg7IGJvcmRlci1yYWRpdXM6IDRw eDsgZm9udC13ZWlnaHQ6IGJvbGQ7IGRpc3BsYXk6IGlubGluZS1ibG9jazsgbWFyZ2luLWJvdHRv bTogMTVweDsgcG9zaXRpb246IGFic29sdXRlOyB0b3A6IDIwcHg7IHJpZ2h0OiAyMHB4OyB6LWlu ZGV4OiAxMDsgfQogICAgLnN0YXR1cy1ydW5uaW5nIHsgYmFja2dyb3VuZC1jb2xvcjogI2NjZTVm ZjsgY29sb3I6ICMwMDQwODU7IGJvcmRlcjogMXB4IHNvbGlkICNiOGRhZmY7IH0KICAgIC5zdGF0 dXMtaWRsZSB7IGJhY2tncm91bmQtY29sb3I6ICNlMmUzZTU7IGNvbG9yOiAjMzgzZDQxOyBib3Jk ZXI6IDFweCBzb2xpZCAjZDZkOGRiOyB9CiAgICAuc3RhdHVzLWRpc2FibGVkIHsgYmFja2dyb3Vu ZC1jb2xvcjogI2Y4ZDdkYTsgY29sb3I6ICM3MjFjMjQ7IGJvcmRlcjogMXB4IHNvbGlkICNmNWM2 Y2I7IH0KCiAgICAuZGlyLXBpY2tlci1pdGVtIHsgcGFkZGluZzogOHB4OyBjdXJzb3I6IHBvaW50 ZXI7IGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZWVlOyBkaXNwbGF5OmZsZXg7IGFsaWduLWl0 ZW1zOmNlbnRlcjsgfQogICAgLmRpci1waWNrZXItaXRlbTpob3ZlciB7IGJhY2tncm91bmQtY29s b3I6ICNlOWVjZWY7IH0KICAgIAogICAgLmluY2JhY2t1cC10aXBzIHsgbWFyZ2luLXRvcDogNXB4 OyBmb250LXNpemU6IDEycHg7IGNvbG9yOiAjNjY2OyBkaXNwbGF5OiBibG9jazsgbWF4LXdpZHRo OiA2MDBweDsgbGluZS1oZWlnaHQ6IDEuNDt9CgogICAgQG1lZGlhIChwcmVmZXJzLWNvbG9yLXNj aGVtZTogZGFyaykgewogICAgICAgIC5pbmNiYWNrdXAtY29udGFpbmVyIHsgYmFja2dyb3VuZC1j b2xvcjogIzJjMmMyYzsgYm9yZGVyLWNvbG9yOiAjNDQ0OyBjb2xvcjogI2VlZTt9CiAgICAgICAg LmluY2JhY2t1cC1mb3JtLWdyb3VwIGlucHV0W3R5cGU9InRleHQiXSwgLmluY2JhY2t1cC1mb3Jt LWdyb3VwIGlucHV0W3R5cGU9Im51bWJlciJdLCAuaW5jYmFja3VwLWZvcm0tZ3JvdXAgc2VsZWN0 IHsgYmFja2dyb3VuZC1jb2xvcjogIzFhMWExYTsgYm9yZGVyLWNvbG9yOiAjNTU1OyBjb2xvcjog I2VlZTt9CiAgICAgICAgLnN0YXR1cy1pZGxlIHsgYmFja2dyb3VuZC1jb2xvcjogIzQ0NDsgY29s b3I6ICNkZGQ7IGJvcmRlci1jb2xvcjogIzU1NTsgfQogICAgICAgIC5zdGF0dXMtcnVubmluZyB7 IGJhY2tncm91bmQtY29sb3I6ICMwMDQwODU7IGNvbG9yOiAjY2NlNWZmOyBib3JkZXItY29sb3I6 ICNiOGRhZmY7IH0KICAgICAgICAuc3RhdHVzLWRpc2FibGVkIHsgYmFja2dyb3VuZC1jb2xvcjog IzcyMWMyNDsgY29sb3I6ICNmOGQ3ZGE7IGJvcmRlci1jb2xvcjogI2Y1YzZjYjsgfQogICAgICAg IC5kaXItcGlja2VyLWl0ZW06aG92ZXIgeyBiYWNrZ3JvdW5kLWNvbG9yOiAjMzMzOyBib3JkZXIt Y29sb3I6ICM0NDQ7fQogICAgICAgIC5pbmNiYWNrdXAtdGlwcyB7IGNvbG9yOiAjYWFhOyB9CiAg ICB9Cjwvc3R5bGU+Cgo8ZGl2IGNsYXNzPSJpbmNiYWNrdXAtY29udGFpbmVyIj4KICAgIDxoMiBz dHlsZT0ibWFyZ2luLXRvcDowOyI+SW5rcmVtZW50ZWxsZSBCYWNrdXAgRWluc3RlbGx1bmdlbjwv aDI+CiAgICAKICAgIDw/cGhwIGlmIChpc3NldCgkbWVzc2FnZSkpIGVjaG8gIjxkaXYgY2xhc3M9 J2luY2JhY2t1cC1tZXNzYWdlJz4kbWVzc2FnZTwvZGl2PiI7ID8+CgogICAgPD9waHAgaWYgKCRp c19ydW5uaW5nKTogPz4KICAgICAgICA8ZGl2IGNsYXNzPSJzdGF0dXMtYmFkZ2Ugc3RhdHVzLXJ1 bm5pbmciPlN0YXR1czogQmFja3VwIGzDpHVmdCBnZXJhZGUgKFBJRDogPD9waHAgZWNobyBodG1s c3BlY2lhbGNoYXJzKCRwaWQpOyA/PikgPHNwYW4gc3R5bGU9ImFuaW1hdGlvbjogYmxpbmsgMXMg bGluZWFyIGluZmluaXRlOyI+JiM5NjU0Ozwvc3Bhbj48L2Rpdj4KICAgIDw/cGhwIGVsc2VpZiAo aXNzZXQoJGNmZ1snRU5BQkxFJ10pICYmICRjZmdbJ0VOQUJMRSddID09ICd5ZXMnKTogPz4KICAg ICAgICA8ZGl2IGNsYXNzPSJzdGF0dXMtYmFkZ2Ugc3RhdHVzLWlkbGUiPlN0YXR1czogQWt0aXZp ZXJ0IChXYXJ0ZXQgYXVmIG7DpGNoc3RlbiBMYXVmKTwvZGl2PgogICAgPD9waHAgZWxzZTogPz4K ICAgICAgICA8ZGl2IGNsYXNzPSJzdGF0dXMtYmFkZ2Ugc3RhdHVzLWRpc2FibGVkIj5TdGF0dXM6 IERlYWt0aXZpZXJ0PC9kaXY+CiAgICA8P3BocCBlbmRpZjsgPz4KCiAgICA8Zm9ybSBtZXRob2Q9 IlBPU1QiPgogICAgICAgIDxkaXYgY2xhc3M9ImluY2JhY2t1cC1mb3JtLWdyb3VwIj4KICAgICAg ICAgICAgPGxhYmVsPkJhY2t1cCBBa3RpdmllcmVuOjwvbGFiZWw+CiAgICAgICAgICAgIDxpbnB1 dCB0eXBlPSJjaGVja2JveCIgbmFtZT0iZW5hYmxlIiB2YWx1ZT0ieWVzIiA8P3BocCBlY2hvIChp c3NldCgkY2ZnWydFTkFCTEUnXSkgJiYgJGNmZ1snRU5BQkxFJ10gPT0gJ3llcycpID8gJ2NoZWNr ZWQnIDogJyc7ID8+PgogICAgICAgICAgICA8c3BhbiBjbGFzcz0iaW5jYmFja3VwLXRpcHMiPkFr dGl2aWVydCBkZW4gYXV0b21hdGlzY2hlbiBIaW50ZXJncnVuZC1Dcm9uam9iIG5hY2ggZGVtIHVu dGVuc3RlaGVuZGVuIFplaXRwbGFuLiBXZW5uIGRlYWt0aXZpZXJ0LCBrYW5uc3QgZHUgQmFja3Vw cyBudXIgbWFudWVsbCBhdXNsw7ZzZW4uPC9zcGFuPgogICAgICAgIDwvZGl2PgogICAgICAgIAog ICAgICAgIDxociBzdHlsZT0iYm9yZGVyOjA7IGJvcmRlci10b3A6MXB4IHNvbGlkICNjY2M7IG1h cmdpbjogMjBweCAwOyI+CiAgICAgICAgCiAgICAgICAgPGgzPlplaXRwbGFuICYgQXVmYmV3YWhy dW5nPC9oMz4KICAgICAgICA8ZGl2IGNsYXNzPSJpbmNiYWNrdXAtZm9ybS1ncm91cCI+CiAgICAg ICAgICAgIDxsYWJlbD5BdWZiZXdhaHJ1bmcgKE1heC4gQmFja3Vwcyk6PC9sYWJlbD4KICAgICAg ICAgICAgPGlucHV0IHR5cGU9Im51bWJlciIgbmFtZT0ia2VlcCIgdmFsdWU9Ijw/cGhwIGVjaG8g aHRtbHNwZWNpYWxjaGFycyhpc3NldCgkY2ZnWydLRUVQJ10pID8gJGNmZ1snS0VFUCddIDogJzcn KTsgPz4iIHN0eWxlPSJ3aWR0aDogODBweDsiIG1pbj0iMSI+CiAgICAgICAgICAgIDxzcGFuIGNs YXNzPSJpbmNiYWNrdXAtdGlwcyI+TGVndCBmZXN0LCB3aWUgdmllbGUgVmVyc2lvbmVuIG1heGlt YWwgYmVoYWx0ZW4gd2VyZGVuLiDDhGx0ZXJlIEJhY2t1cHMgd2VyZGVuIG5hY2ggamVkZW0gTGF1 ZiBhdXRvbWF0aXNjaCBnZWzDtnNjaHQsIHVtIFBsYXR6IHp1IHNwYXJlbi4gU3RhbmRhcmQ6IDcu PC9zcGFuPgogICAgICAgIDwvZGl2PgogICAgICAgIAogICAgICAgIDxkaXYgY2xhc3M9ImluY2Jh Y2t1cC1mb3JtLWdyb3VwIj4KICAgICAgICAgICAgPGxhYmVsPkJhY2t1cCBMb2dzIE9yZG5lcjo8 L2xhYmVsPgogICAgICAgICAgICA8ZGl2IHN0eWxlPSJkaXNwbGF5OmlubGluZS1ibG9jazsgdmVy dGljYWwtYWxpZ246dG9wOyI+CiAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgaWQ9 ImxvZ2RpciIgbmFtZT0ibG9nZGlyIiB2YWx1ZT0iPD9waHAgZWNobyBodG1sc3BlY2lhbGNoYXJz KGlzc2V0KCRjZmdbJ0xPR0RJUiddKSA/ICRjZmdbJ0xPR0RJUiddIDogJycpOyA/PiIgcGxhY2Vo b2xkZXI9Ii9tbnQvdXNlci9iYWNrdXBfbG9ncyIgc3R5bGU9IndpZHRoOiAzMjBweDsiPgogICAg ICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPSJidXR0b24iIGNsYXNzPSJpbmNiYWNrdXAtYnV0dG9u IiBzdHlsZT0icGFkZGluZzogNHB4IDhweDsgbWFyZ2luLXRvcDowOyIgb25jbGljaz0ib3BlbkRp clBpY2tlcignbG9nZGlyJykiPvCfk4E8L2J1dHRvbj4KICAgICAgICAgICAgPC9kaXY+CiAgICAg ICAgICAgIDxzcGFuIGNsYXNzPSJpbmNiYWNrdXAtdGlwcyIgc3R5bGU9Im1hcmdpbi1sZWZ0OjI1 NHB4OyBtYXJnaW4tdG9wOjVweDsgZGlzcGxheTpibG9jazsiPk9wdGlvbmFsOiBXw6RobGUgZWlu IFZlcnplaWNobmlzLCBpbiBkZW0gcHJvIEJhY2t1cC1MYXVmIGVpbmUga29tcGxldHRlLCBlaWdl bmUgTG9nZGF0ZWkgZ2VzcGVpY2hlcnQgd2lyZC48L3NwYW4+CiAgICAgICAgPC9kaXY+CiAgICAg ICAgCiAgICAgICAgPGRpdiBjbGFzcz0iaW5jYmFja3VwLWZvcm0tZ3JvdXAiPgogICAgICAgICAg ICA8bGFiZWw+SMOkdWZpZ2tlaXQgJiBVaHJ6ZWl0OjwvbGFiZWw+CiAgICAgICAgICAgIDxzZWxl Y3QgbmFtZT0iZnJlcSI+CiAgICAgICAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJob3VybHkiIDw/ cGhwIGVjaG8gKGlzc2V0KCRjZmdbJ0ZSRVEnXSkgJiYgJGNmZ1snRlJFUSddID09ICdob3VybHkn KSA/ICdzZWxlY3RlZCcgOiAnJzsgPz4+U3TDvG5kbGljaDwvb3B0aW9uPgogICAgICAgICAgICAg ICAgPG9wdGlvbiB2YWx1ZT0iZGFpbHkiIDw/cGhwIGVjaG8gKCFpc3NldCgkY2ZnWydGUkVRJ10p IHx8ICRjZmdbJ0ZSRVEnXSA9PSAnZGFpbHknKSA/ICdzZWxlY3RlZCcgOiAnJzsgPz4+VMOkZ2xp Y2g8L29wdGlvbj4KICAgICAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9IndlZWtseSIgPD9waHAg ZWNobyAoaXNzZXQoJGNmZ1snRlJFUSddKSAmJiAkY2ZnWydGUkVRJ10gPT0gJ3dlZWtseScpID8g J3NlbGVjdGVkJyA6ICcnOyA/Pj5Xw7ZjaGVudGxpY2ggKFNvbm50YWdzKTwvb3B0aW9uPgogICAg ICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT0ibW9udGhseSIgPD9waHAgZWNobyAoaXNzZXQoJGNm Z1snRlJFUSddKSAmJiAkY2ZnWydGUkVRJ10gPT0gJ21vbnRobHknKSA/ICdzZWxlY3RlZCcgOiAn JzsgPz4+TW9uYXRsaWNoIChhbSAxLik8L29wdGlvbj4KICAgICAgICAgICAgPC9zZWxlY3Q+CiAg ICAgICAgICAgIDxzcGFuIHN0eWxlPSJtYXJnaW46IDAgNXB4OyI+dW08L3NwYW4+CiAgICAgICAg ICAgIDxzZWxlY3QgbmFtZT0iaG91ciI+CiAgICAgICAgICAgICAgICA8P3BocCBmb3IoJGg9MDsg JGg8MjQ7ICRoKyspOiA/PgogICAgICAgICAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9Ijw/cGhw IGVjaG8gJGg7ID8+IiA8P3BocCBlY2hvIChpc3NldCgkY2ZnWydIT1VSJ10pICYmICRjZmdbJ0hP VVInXSA9PSAkaCkgPyAnc2VsZWN0ZWQnIDogJyc7ID8+Pjw/cGhwIGVjaG8gc3RyX3BhZCgkaCwg MiwgIjAiLCBTVFJfUEFEX0xFRlQpOyA/Pjwvb3B0aW9uPgogICAgICAgICAgICAgICAgPD9waHAg ZW5kZm9yOyA/PgogICAgICAgICAgICA8L3NlbGVjdD4gOiAKICAgICAgICAgICAgPHNlbGVjdCBu YW1lPSJtaW51dGUiPgogICAgICAgICAgICAgICAgPD9waHAgZm9yKCRtPTA7ICRtPDYwOyAkbSs9 NSk6ID8+CiAgICAgICAgICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iPD9waHAgZWNobyAkbTsg Pz4iIDw/cGhwIGVjaG8gKGlzc2V0KCRjZmdbJ01JTlVURSddKSAmJiAkY2ZnWydNSU5VVEUnXSA9 PSAkbSkgPyAnc2VsZWN0ZWQnIDogJyc7ID8+Pjw/cGhwIGVjaG8gc3RyX3BhZCgkbSwgMiwgIjAi LCBTVFJfUEFEX0xFRlQpOyA/Pjwvb3B0aW9uPgogICAgICAgICAgICAgICAgPD9waHAgZW5kZm9y OyA/PgogICAgICAgICAgICA8L3NlbGVjdD4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImluY2Jh Y2t1cC10aXBzIiBzdHlsZT0ibWFyZ2luLXRvcDogMTBweDsiPkRlciBCYWNrdXAtUHJvemVzcyBs w6R1ZnQga29tcGxldHQgaW0gSGludGVyZ3J1bmQuIFVucmFpZCB3aXJkIGRhZHVyY2ggbmljaHQg YmxvY2tpZXJ0LiBUw6RnbGljaGUgQmFja3VwcyB0aWVmIGluIGRlciBOYWNodCAoei5CLiAwMjow MCBVaHIpIHdlcmRlbiBlbXBmb2hsZW4uPC9zcGFuPgogICAgICAgIDwvZGl2PgogICAgICAgIAog ICAgICAgIDxociBzdHlsZT0iYm9yZGVyOjA7IGJvcmRlci10b3A6MXB4IHNvbGlkICNjY2M7IG1h cmdpbjogMjBweCAwOyI+CgogICAgICAgIDxoMz5WZXJ6ZWljaG5pc3NlPC9oMz4KICAgICAgICA8 cCBjbGFzcz0iaW5jYmFja3VwLXRpcHMiIHN0eWxlPSJtYXJnaW4tYm90dG9tOiAxNXB4OyI+CiAg ICAgICAgICAgIDxiPldpY2h0aWcgZsO8ciBIYXJkbGlua3M6PC9iPiBXw6RobGUgYWxzIFF1ZWxs ZSB1bmQgWmllbCBhbSBiZXN0ZW4gSGF1cHQtRnJlaWdhYmVuIGF1cyAoei5CLiA8Y29kZT4vbW50 L3VzZXIvYXBwZGF0YTwvY29kZT4gJnJhcnI7IDxjb2RlPi9tbnQvdXNlci9iYWNrdXA8L2NvZGU+ KS4gRGllIEZ1bmt0aW9uICJIYXJkbGlua3MgZXJsYXViZW4iIG11c3MgaW4gZGVpbmVuIGdsb2Jh bGVuIFVucmFpZC1TaGFyZS1FaW5zdGVsbHVuZ2VuIGFrdGl2aWVydCBzZWluLCBkYW1pdCBkZXIg aW5rcmVtZW50ZWxsZSBQbGF0enNwYXItRWZmZWt0IGZ1bmt0aW9uaWVydCEKICAgICAgICA8L3A+ CiAgICAgICAgPGRpdiBpZD0icGF0aHNfY29udGFpbmVyIj4KICAgICAgICAgICAgPD9waHAgJGlk X2MgPSAwOyBmb3JlYWNoICgkcGF0aHMgYXMgJHApOiAkaWRfYysrOyA/PgogICAgICAgICAgICA8 ZGl2IGNsYXNzPSJwYXRoLXJvdyI+CiAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIg aWQ9InNyY188P3BocCBlY2hvICRpZF9jOyA/PiIgbmFtZT0ic291cmNlW10iIHZhbHVlPSI8P3Bo cCBlY2hvIGh0bWxzcGVjaWFsY2hhcnMoJHBbJ3NyYyddKTsgPz4iIHBsYWNlaG9sZGVyPSIvbW50 L3VzZXIvcXVlbGxlIiBzdHlsZT0id2lkdGg6IDMyMHB4OyI+CiAgICAgICAgICAgICAgICA8YnV0 dG9uIHR5cGU9ImJ1dHRvbiIgY2xhc3M9ImluY2JhY2t1cC1idXR0b24iIHN0eWxlPSJwYWRkaW5n OiA0cHggOHB4OyIgb25jbGljaz0ib3BlbkRpclBpY2tlcignc3JjXzw/cGhwIGVjaG8gJGlkX2M7 ID8+JykiPvCfk4E8L2J1dHRvbj4KICAgICAgICAgICAgICAgIDxzcGFuIHN0eWxlPSJtYXJnaW46 IDAgMTBweDsiPiAmcmFycjsgPC9zcGFuPgogICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRl eHQiIGlkPSJkc3RfPD9waHAgZWNobyAkaWRfYzsgPz4iIG5hbWU9ImRlc3RbXSIgdmFsdWU9Ijw/ cGhwIGVjaG8gaHRtbHNwZWNpYWxjaGFycygkcFsnZHN0J10pOyA/PiIgcGxhY2Vob2xkZXI9Ii9t bnQvdXNlci96aWVsIiBzdHlsZT0id2lkdGg6IDMyMHB4OyI+CiAgICAgICAgICAgICAgICA8YnV0 dG9uIHR5cGU9ImJ1dHRvbiIgY2xhc3M9ImluY2JhY2t1cC1idXR0b24iIHN0eWxlPSJwYWRkaW5n OiA0cHggOHB4OyIgb25jbGljaz0ib3BlbkRpclBpY2tlcignZHN0Xzw/cGhwIGVjaG8gJGlkX2M7 ID8+JykiPvCfk4E8L2J1dHRvbj4KICAgICAgICAgICAgICAgIDxidXR0b24gdHlwZT0iYnV0dG9u IiBjbGFzcz0iaW5jYmFja3VwLWJ1dHRvbiBpbmNiYWNrdXAtYnV0dG9uLWRhbmdlciIgb25jbGlj az0idGhpcy5wYXJlbnROb2RlLnJlbW92ZSgpIj5YPC9idXR0b24+CiAgICAgICAgICAgIDwvZGl2 PgogICAgICAgICAgICA8P3BocCBlbmRmb3JlYWNoOyA/PgogICAgICAgIDwvZGl2PgogICAgICAg IDxidXR0b24gdHlwZT0iYnV0dG9uIiBjbGFzcz0iaW5jYmFja3VwLWJ1dHRvbiIgc3R5bGU9Im1h cmdpbi10b3A6IDEwcHg7IiBvbmNsaWNrPSJhZGRQYXRoUm93KCkiPisgVmVyemVpY2huaXMgaGlu enVmw7xnZW48L2J1dHRvbj4KICAgICAgICAKICAgICAgICA8aHIgc3R5bGU9ImJvcmRlcjowOyBi b3JkZXItdG9wOjFweCBzb2xpZCAjY2NjOyBtYXJnaW46IDIwcHggMDsiPgogICAgICAgIAogICAg ICAgIDxkaXYgc3R5bGU9Im1hcmdpbi10b3A6IDIwcHg7Ij4KICAgICAgICAgICAgPGlucHV0IHR5 cGU9InN1Ym1pdCIgbmFtZT0ic2F2ZSIgY2xhc3M9ImluY2JhY2t1cC1idXR0b24iIHZhbHVlPSJF aW5zdGVsbHVuZ2VuIFNwZWljaGVybiI+CiAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJzdWJtaXQi IG5hbWU9InJ1bl9ub3ciIGNsYXNzPSJpbmNiYWNrdXAtYnV0dG9uIGluY2JhY2t1cC1idXR0b24t c2Vjb25kYXJ5IiB2YWx1ZT0iQmFja3VwIEpldHp0IEF1c2bDvGhyZW4iIDw/cGhwIGVjaG8gJGlz X3J1bm5pbmcgPyAnZGlzYWJsZWQnIDogJyc7ID8+PgogICAgICAgICAgICA8aW5wdXQgdHlwZT0i c3VibWl0IiBuYW1lPSJjaGVja19zaXplIiBjbGFzcz0iaW5jYmFja3VwLWJ1dHRvbiIgc3R5bGU9 ImJhY2tncm91bmQtY29sb3I6IzE3YTJiODsiIHZhbHVlPSJXYWhyZW4gU3BlaWNoZXJwbGF0eiBw csO8ZmVuIiB0aXRsZT0iUHLDvGZ0IGRpZSBlY2h0ZSBEYXRlbmdyw7bDn2UgaW5rbHVzaXZlIEhh cmRsaW5rcyBkaXJla3QgaW0gTGludXgtU3lzdGVtIj4KICAgICAgICA8L2Rpdj4KICAgIDwvZm9y bT4KPC9kaXY+Cgo8ZGl2IGNsYXNzPSJpbmNiYWNrdXAtY29udGFpbmVyIj4KICAgIDxoMz5MaXZl IExvZyA8c3BhbiBpZD0ibG9nX3NwaW5uZXIiIHN0eWxlPSJkaXNwbGF5Om5vbmU7IGZvbnQtc2l6 ZToxMnB4OyBmb250LXdlaWdodDpub3JtYWw7IGNvbG9yOiMwMDdiZmY7IG1hcmdpbi1sZWZ0OjEw cHg7Ij4oQWt0dWFsaXNpZXJlLi4uKTwvc3Bhbj48L2gzPgogICAgPHRleHRhcmVhIHJlYWRvbmx5 IGlkPSJpbmNiYWNrdXBfbG9nIiBzdHlsZT0id2lkdGg6IDEwMCU7IGhlaWdodDogMzAwcHg7IGZv bnQtZmFtaWx5OiBtb25vc3BhY2U7IGJhY2tncm91bmQ6ICMxZTFlMWU7IGNvbG9yOiAjMDBmZjAw OyBwYWRkaW5nOiAxMHB4OyBib3JkZXI6IDFweCBzb2xpZCAjNDQ0OyBib3JkZXItcmFkaXVzOiA0 cHg7Ij4KPD9waHAKaWYgKGZpbGVfZXhpc3RzKCRsb2dfZmlsZSkpIHsKICAgICRvdXRwdXQgPSBz aGVsbF9leGVjKCJ0YWlsIC1uIDE1MCAiIC4gZXNjYXBlc2hlbGxhcmcoJGxvZ19maWxlKSk7CiAg ICBlY2hvIGh0bWxzcGVjaWFsY2hhcnMoJG91dHB1dCk7Cn0gZWxzZSB7CiAgICBlY2hvICJOb2No IGtlaW5lIExvZ3Mgdm9yaGFuZGVuLiBTdGFydGVuIFNpZSBlaW4gQmFja3VwLiI7Cn0KPz4KPC90 ZXh0YXJlYT4KICAgIDxmb3JtIG1ldGhvZD0iUE9TVCIgc3R5bGU9Im1hcmdpbi10b3A6IDEwcHg7 Ij4KICAgICAgICA8aW5wdXQgdHlwZT0ic3VibWl0IiBuYW1lPSJjbGVhcl9sb2ciIGNsYXNzPSJp bmNiYWNrdXAtYnV0dG9uIGluY2JhY2t1cC1idXR0b24tZGFuZ2VyIiB2YWx1ZT0iTG9nIExlZXJl biI+CiAgICA8L2Zvcm0+CjwvZGl2PgoKPCEtLSBDdXN0b20gRGlyZWN0b3J5IFBpY2tlciBNb2Rh bCAtLT4KPGRpdiBpZD0iZGlyUGlja2VyTW9kYWwiIHN0eWxlPSJkaXNwbGF5Om5vbmU7IHBvc2l0 aW9uOmZpeGVkOyB0b3A6MDsgbGVmdDowOyB3aWR0aDoxMDAlOyBoZWlnaHQ6MTAwJTsgYmFja2dy b3VuZDpyZ2JhKDAsMCwwLDAuNik7IHotaW5kZXg6OTk5OTsiPgogICAgPGRpdiBzdHlsZT0iYmFj a2dyb3VuZDojZjlmOWY5OyB3aWR0aDo1MDBweDsgbWFyZ2luOjEwMHB4IGF1dG87IHBhZGRpbmc6 MjBweDsgYm9yZGVyLXJhZGl1czo4cHg7IGNvbG9yOiMzMzM7IGJveC1zaGFkb3c6IDAgNHB4IDE1 cHggcmdiYSgwLDAsMCwwLjIpOyI+CiAgICAgICAgPGgzIHN0eWxlPSJtYXJnaW4tdG9wOjA7Ij5P cmRuZXIgYXVzd8OkaGxlbjwvaDM+CiAgICAgICAgPGRpdiBzdHlsZT0ibWFyZ2luLWJvdHRvbTox MHB4OyBiYWNrZ3JvdW5kOiNlMmUzZTU7IHBhZGRpbmc6OHB4OyBib3JkZXItcmFkaXVzOjRweDsg Zm9udC1mYW1pbHk6bW9ub3NwYWNlOyBmb250LXNpemU6MTRweDsgY29sb3I6IzMzMzsiPgogICAg ICAgICAgICA8c3Ryb25nPkFrdHVlbGw6IDwvc3Ryb25nPiA8c3BhbiBpZD0iZHBfY3VycmVudCI+ L21udC91c2VyPC9zcGFuPgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgaWQ9ImRwX2xpc3Qi IHN0eWxlPSJoZWlnaHQ6MzAwcHg7IG92ZXJmbG93LXk6YXV0bzsgYm9yZGVyOjFweCBzb2xpZCAj Y2NjOyBtYXJnaW4tYm90dG9tOjE1cHg7IGJhY2tncm91bmQ6I2ZmZjsgYm9yZGVyLXJhZGl1czo0 cHg7IGNvbG9yOiMzMzM7Ij4KICAgICAgICAgICAgPCEtLSBEaXJzIHdpbGwgYmUgbG9hZGVkIGhl cmUgLS0+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBzdHlsZT0idGV4dC1hbGlnbjpyaWdo dDsiPgogICAgICAgICAgICA8YnV0dG9uIHR5cGU9ImJ1dHRvbiIgY2xhc3M9ImluY2JhY2t1cC1i dXR0b24gaW5jYmFja3VwLWJ1dHRvbi1zZWNvbmRhcnkiIG9uY2xpY2s9ImRwU2VsZWN0KCkiPkRp ZXNlbiBPcmRuZXIgd8OkaGxlbjwvYnV0dG9uPgogICAgICAgICAgICA8YnV0dG9uIHR5cGU9ImJ1 dHRvbiIgY2xhc3M9ImluY2JhY2t1cC1idXR0b24gaW5jYmFja3VwLWJ1dHRvbi1kYW5nZXIiIG9u Y2xpY2s9ImRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdkaXJQaWNrZXJNb2RhbCcpLnN0eWxlLmRp c3BsYXk9J25vbmUnIj5BYmJyZWNoZW48L2J1dHRvbj4KICAgICAgICA8L2Rpdj4KICAgIDwvZGl2 Pgo8L2Rpdj4KCjxzY3JpcHQ+CmZ1bmN0aW9uIGFkZFBhdGhSb3coKSB7CiAgICB2YXIgaWQgPSBE YXRlLm5vdygpOwogICAgdmFyIGRpdiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOwog ICAgZGl2LmNsYXNzTmFtZSA9ICdwYXRoLXJvdyc7CiAgICBkaXYuaW5uZXJIVE1MID0gJzxpbnB1 dCB0eXBlPSJ0ZXh0IiBpZD0ic3JjXycgKyBpZCArICciIG5hbWU9InNvdXJjZVtdIiBwbGFjZWhv bGRlcj0iL21udC91c2VyL3F1ZWxsZSIgc3R5bGU9IndpZHRoOiAzMjBweDsiPiA8YnV0dG9uIHR5 cGU9ImJ1dHRvbiIgY2xhc3M9ImluY2JhY2t1cC1idXR0b24iIHN0eWxlPSJwYWRkaW5nOiA0cHgg OHB4OyIgb25jbGljaz0ib3BlbkRpclBpY2tlcihcJ3NyY18nICsgaWQgKyAnXCcpIj7wn5OBPC9i dXR0b24+IDxzcGFuIHN0eWxlPSJtYXJnaW46IDAgMTBweDsiPiAmcmFycjsgPC9zcGFuPiA8aW5w dXQgdHlwZT0idGV4dCIgaWQ9ImRzdF8nICsgaWQgKyAnIiBuYW1lPSJkZXN0W10iIHBsYWNlaG9s ZGVyPSIvbW50L3VzZXIvemllbCIgc3R5bGU9IndpZHRoOiAzMjBweDsiPiA8YnV0dG9uIHR5cGU9 ImJ1dHRvbiIgY2xhc3M9ImluY2JhY2t1cC1idXR0b24iIHN0eWxlPSJwYWRkaW5nOiA0cHggOHB4 OyIgb25jbGljaz0ib3BlbkRpclBpY2tlcihcJ2RzdF8nICsgaWQgKyAnXCcpIj7wn5OBPC9idXR0 b24+IDxidXR0b24gdHlwZT0iYnV0dG9uIiBjbGFzcz0iaW5jYmFja3VwLWJ1dHRvbiBpbmNiYWNr dXAtYnV0dG9uLWRhbmdlciIgb25jbGljaz0idGhpcy5wYXJlbnROb2RlLnJlbW92ZSgpIj5YPC9i dXR0b24+JzsKICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdwYXRoc19jb250YWluZXInKS5h cHBlbmRDaGlsZChkaXYpOwp9CnZhciB0ZXh0YXJlYSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk KCdpbmNiYWNrdXBfbG9nJyk7CnRleHRhcmVhLnNjcm9sbFRvcCA9IHRleHRhcmVhLnNjcm9sbEhl aWdodDsKCi8vIEF1dG8tVXBkYXRlIExvZyAoRGlyZWt0ZXIgQXVmcnVmIGRlciBzZXBhcmF0ZW4g UEhQIERhdGVpIHVtIGRhcyBVbnJhaWQgRnJhbWV3b3JrIHp1IHVtZ2VoZW4pCnNldEludGVydmFs KGZ1bmN0aW9uKCkgewogICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2xvZ19zcGlubmVyJyku c3R5bGUuZGlzcGxheSA9ICdpbmxpbmUnOwogICAgZmV0Y2goJy9wbHVnaW5zL2luY2JhY2t1cC9n ZXRfbG9nLnBocCcpCiAgICAudGhlbihmdW5jdGlvbihyKSB7IAogICAgICAgIGlmICghci5vaykg dGhyb3cgbmV3IEVycm9yKCdOZXR3b3JrIHJlc3BvbnNlIHdhcyBub3Qgb2snKTsKICAgICAgICBy ZXR1cm4gci50ZXh0KCk7IAogICAgfSkKICAgIC50aGVuKGZ1bmN0aW9uKHRleHQpIHsKICAgICAg ICB2YXIgaXNBdEJvdHRvbSA9ICh0ZXh0YXJlYS5zY3JvbGxIZWlnaHQgLSB0ZXh0YXJlYS5zY3Jv bGxUb3AgPD0gdGV4dGFyZWEuY2xpZW50SGVpZ2h0ICsgMTApOwogICAgICAgIGlmICh0ZXh0ICYm IHRleHQudHJpbSgpICE9PSAiIiAmJiAhdGV4dC5pbmNsdWRlcygnNTA0IEdhdGV3YXkgVGltZS1v dXQnKSAmJiAhdGV4dC5pbmNsdWRlcygnPGh0bWw+JykpIHsKICAgICAgICAgICAgdGV4dGFyZWEu dmFsdWUgPSB0ZXh0OwogICAgICAgIH0KICAgICAgICBpZiAoaXNBdEJvdHRvbSkgdGV4dGFyZWEu c2Nyb2xsVG9wID0gdGV4dGFyZWEuc2Nyb2xsSGVpZ2h0OwogICAgICAgIGRvY3VtZW50LmdldEVs ZW1lbnRCeUlkKCdsb2dfc3Bpbm5lcicpLnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7CiAgICB9KQog ICAgLmNhdGNoKGZ1bmN0aW9uKGUpIHsKICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgn bG9nX3NwaW5uZXInKS5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnOwogICAgfSk7Cn0sIDUwMDApOwoK dmFyIGRwVGFyZ2V0SWQgPSAiIjsKZnVuY3Rpb24gb3BlbkRpclBpY2tlcihpbnB1dElkKSB7CiAg ICBkcFRhcmdldElkID0gaW5wdXRJZDsKICAgIHZhciBzdGFydFBhdGggPSBkb2N1bWVudC5nZXRF bGVtZW50QnlJZChpbnB1dElkKS52YWx1ZTsKICAgIGlmICghc3RhcnRQYXRoIHx8IHN0YXJ0UGF0 aC50cmltKCkgPT09ICIiKSBzdGFydFBhdGggPSAiL21udC91c2VyIjsKICAgIGxvYWREaXIoc3Rh cnRQYXRoKTsKICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdkaXJQaWNrZXJNb2RhbCcpLnN0 eWxlLmRpc3BsYXkgPSAnYmxvY2snOwp9CgpmdW5jdGlvbiBsb2FkRGlyKHBhdGgpIHsKICAgIGRv Y3VtZW50LmdldEVsZW1lbnRCeUlkKCdkcF9saXN0JykuaW5uZXJIVE1MID0gJzxkaXYgc3R5bGU9 InBhZGRpbmc6MTBweDt0ZXh0LWFsaWduOmNlbnRlcjsiPkxhZGUuLi48L2Rpdj4nOwogICAgCiAg ICBmZXRjaCgnL3BsdWdpbnMvaW5jYmFja3VwL2dldF9kaXJzLnBocD9wYXRoPScgKyBlbmNvZGVV UklDb21wb25lbnQocGF0aCkpCiAgICAudGhlbihmdW5jdGlvbihyKSB7IHJldHVybiByLmpzb24o KTsgfSkKICAgIC50aGVuKGZ1bmN0aW9uKGRhdGEpIHsKICAgICAgICBkb2N1bWVudC5nZXRFbGVt ZW50QnlJZCgnZHBfY3VycmVudCcpLmlubmVyVGV4dCA9IGRhdGEuY3VycmVudDsKICAgICAgICB2 YXIgaHRtbCA9ICIiOwogICAgICAgIGlmIChkYXRhLmRpcnMgJiYgZGF0YS5kaXJzLmxlbmd0aCA+ IDApIHsKICAgICAgICAgICAgZGF0YS5kaXJzLmZvckVhY2goZnVuY3Rpb24oZCkgewogICAgICAg ICAgICAgICAgaHRtbCArPSAnPGRpdiBjbGFzcz0iZGlyLXBpY2tlci1pdGVtIiBvbmNsaWNrPSJs b2FkRGlyKFwnJyArIGQucGF0aCArICdcJykiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MThweDsg bWFyZ2luLXJpZ2h0OjhweDsiPvCfk4E8L3NwYW4+ICcgKyBkLm5hbWUgKyAnPC9kaXY+JzsKICAg ICAgICAgICAgfSk7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgaHRtbCA9ICc8ZGl2IHN0 eWxlPSJwYWRkaW5nOjEwcHg7IGNvbG9yOiM4ODg7Ij5LZWluZSBVbnRlcm9yZG5lciB2b3JoYW5k ZW4uPC9kaXY+JzsKICAgICAgICB9CiAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2Rw X2xpc3QnKS5pbm5lckhUTUwgPSBodG1sOwogICAgfSkKICAgIC5jYXRjaChmdW5jdGlvbihlKSB7 CiAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2RwX2xpc3QnKS5pbm5lckhUTUwgPSAn PGRpdiBzdHlsZT0icGFkZGluZzoxMHB4OyBjb2xvcjpyZWQ7Ij5GZWhsZXIgYmVpbSBMYWRlbjog JyArIGUgKyAnPC9kaXY+JzsKICAgIH0pOwp9CgpmdW5jdGlvbiBkcFNlbGVjdCgpIHsKICAgIGlm IChkcFRhcmdldElkKSB7CiAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoZHBUYXJnZXRJ ZCkudmFsdWUgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZHBfY3VycmVudCcpLmlubmVyVGV4 dDsKICAgIH0KICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdkaXJQaWNrZXJNb2RhbCcpLnN0 eWxlLmRpc3BsYXkgPSAnbm9uZSc7Cn0KPC9zY3JpcHQ+CjxzdHlsZT4KQGtleWZyYW1lcyBibGlu ayB7CiAgICAwJSB7IG9wYWNpdHk6IDE7IH0KICAgIDUwJSB7IG9wYWNpdHk6IDA7IH0KICAgIDEw MCUgeyBvcGFjaXR5OiAxOyB9Cn0KPC9zdHlsZT4K EOF base64 -d <<EOF > /usr/local/emhttp/plugins/incbackup/backup.sh IyEvYmluL2Jhc2gKCmV4cG9ydCBQQVRIPS91c3IvbG9jYWwvc2JpbjovdXNyL2xvY2FsL2Jpbjov dXNyL3NiaW46L3Vzci9iaW46L3NiaW46L2JpbgoKc291cmNlIC9ib290L2NvbmZpZy9wbHVnaW5z L2luY2JhY2t1cC9pbmNiYWNrdXAuY2ZnCkxPR0ZJTEU9Ii92YXIvbG9nL2luY2JhY2t1cC5sb2ci CgpEQVRFPSQoZGF0ZSArJVktJW0tJWRfJUgtJU0tJVMpClBFUl9SVU5fTE9HPSIiCmlmIFsgLW4g IiRMT0dESVIiIF0gJiYgWyAtZCAiJExPR0RJUiIgXTsgdGhlbgogICAgUEVSX1JVTl9MT0c9IiRM T0dESVIvYmFja3VwXyR7REFURX0ubG9nIgpmaQoKbG9nKCkgewogICAgbG9jYWwgbXNnPSIkKGRh dGUgJyslWS0lbS0lZCAlSDolTTolUycpIC0gJDEiCiAgICBlY2hvICIkbXNnIiA+PiAiJExPR0ZJ TEUiCiAgICBpZiBbIC1uICIkUEVSX1JVTl9MT0ciIF07IHRoZW4KICAgICAgICBlY2hvICIkbXNn IiA+PiAiJFBFUl9SVU5fTE9HIgogICAgZmkKfQoKaWYgWyAtZiAiJExPR0ZJTEUiIF07IHRoZW4K ICAgIHNpemU9JChzdGF0IC1jJXMgIiRMT0dGSUxFIikKICAgIGlmIFsgJHNpemUgLWd0IDUyNDI4 ODAgXTsgdGhlbgogICAgICAgIG12ICIkTE9HRklMRSIgIiRMT0dGSUxFLm9sZCIKICAgIGZpCmZp CgpQSURGSUxFPS92YXIvcnVuL2luY2JhY2t1cC5waWQKaWYgWyAtZiAiJFBJREZJTEUiIF07IHRo ZW4KICAgIFBJRD0kKGNhdCAiJFBJREZJTEUiKQogICAgaWYgcHMgLXAgIiRQSUQiID4gL2Rldi9u dWxsIDI+JjE7IHRoZW4KICAgICAgICBsb2cgIkVpbiBCYWNrdXAgbGFldWZ0IGJlcmVpdHMgKFBJ RCAkUElEKS4gQnJlY2hlIGFiLiIKICAgICAgICBleGl0IDAKICAgIGVsc2UKICAgICAgICBybSAt ZiAiJFBJREZJTEUiCiAgICBmaQpmaQplY2hvICQkID4gIiRQSURGSUxFIgp0cmFwICdybSAtZiAi JFBJREZJTEUiOyBleGl0JyBJTlQgVEVSTSBFWElUCgpsb2cgIi0tLSBJbmtyZW1lbnRlbGxlcyBC YWNrdXAgZ2VzdGFydGV0IC0tLSIKCmlmIFsgIiRFTkFCTEUiICE9ICJ5ZXMiIF07IHRoZW4KICAg IGxvZyAiQmFja3VwIGlzdCBkZWFrdGl2aWVydC4gQmVlbmRlLiIKICAgIHJtIC1mICIkUElERklM RSIKICAgIGV4aXQgMApmaQoKaWYgWyAteiAiJEtFRVAiIF0gfHwgWyAiJEtFRVAiIC1sdCAxIF07 IHRoZW4KICAgIEtFRVA9NwpmaQoKaT0wCkhBU19FUlJPUj0wCgp3aGlsZSB0cnVlOyBkbwogICAg U1JDX1ZBUj0iU1JDXyRpIgogICAgRFNUX1ZBUj0iRFNUXyRpIgogICAgU1JDPSIkeyFTUkNfVkFS fSIKICAgIERTVD0iJHshRFNUX1ZBUn0iCiAgICAKICAgIGlmIFsgLXogIiRTUkMiIF0gfHwgWyAt eiAiJERTVCIgXTsgdGhlbgogICAgICAgIGJyZWFrCiAgICBmaQogICAgCiAgICBsb2cgIj4+PiBW ZXJhcmJlaXRlIFBmYWQtUGFhciBbJGldOiAkU1JDIC0+ICREU1QiCiAgICAKICAgIGlmIFsgISAt ZCAiJFNSQyIgXTsgdGhlbgogICAgICAgIGxvZyAiRkVITEVSOiBRdWVsbHZlcnplaWNobmlzICRT UkMgZXhpc3RpZXJ0IG5pY2h0LiIKICAgICAgICBIQVNfRVJST1I9MQogICAgICAgIGk9JCgoaSsx KSkKICAgICAgICBjb250aW51ZQogICAgZmkKICAgIAogICAgbWtkaXIgLXAgIiREU1QiCiAgICAK ICAgIExBVEVTVF9ESVI9JChscyAtZCAiJERTVCIvMjAqLyAyPi9kZXYvbnVsbCB8IHRhaWwgLW4g MSkKICAgIFRBUkdFVF9ESVI9IiREU1QvJERBVEUiCiAgICAKICAgIFJTWU5DX09VVD0iL3RtcC9y c3luY19vdXRfJCQiCiAgICBSU1lOQ19FUlI9Ii90bXAvcnN5bmNfZXJyXyQkIgogICAgCiAgICBp ZiBbIC1uICIkTEFURVNUX0RJUiIgXSAmJiBbIC1kICIkTEFURVNUX0RJUiIgXTsgdGhlbgogICAg ICAgIGxvZyAiVmVyd2VuZGUgaW5rcmVtZW50ZWxsZSBCYXNpcyAoSGFyZGxpbmtzKTogJExBVEVT VF9ESVIiCiAgICAgICAgcnN5bmMgLWEgLXYgLS1kZWxldGUgLS1saW5rLWRlc3Q9IiRMQVRFU1Rf RElSIiAiJFNSQy8iICIkVEFSR0VUX0RJUi8iID4gIiRSU1lOQ19PVVQiIDI+ICIkUlNZTkNfRVJS IgogICAgZWxzZQogICAgICAgIGxvZyAiRXJzdGVzIFZvbGwtQmFja3VwIChrZWluZSBWb3J2ZXJz aW9uIGdlZnVuZGVuKS4iCiAgICAgICAgcnN5bmMgLWEgLXYgLS1kZWxldGUgIiRTUkMvIiAiJFRB UkdFVF9ESVIvIiA+ICIkUlNZTkNfT1VUIiAyPiAiJFJTWU5DX0VSUiIKICAgIGZpCiAgICAKICAg IFJTWU5DX0VYSVQ9JD8KICAgIAogICAgY2F0ICIkUlNZTkNfT1VUIiA+PiAiJExPR0ZJTEUiCiAg ICBjYXQgIiRSU1lOQ19FUlIiID4+ICIkTE9HRklMRSIKICAgIGlmIFsgLW4gIiRQRVJfUlVOX0xP RyIgXTsgdGhlbgogICAgICAgIGNhdCAiJFJTWU5DX09VVCIgPj4gIiRQRVJfUlVOX0xPRyIKICAg ICAgICBjYXQgIiRSU1lOQ19FUlIiID4+ICIkUEVSX1JVTl9MT0ciCiAgICBmaQogICAgCiAgICBp ZiBbICRSU1lOQ19FWElUIC1lcSAwIF07IHRoZW4KICAgICAgICBsb2cgIlJzeW5jIGVyZm9sZ3Jl aWNoIGJlZW5kZXQgZsO8ciAkU1JDIC0+ICREU1QiCiAgICAgICAgL3Vzci9sb2NhbC9lbWh0dHAv d2ViR3VpL3NjcmlwdHMvbm90aWZ5IC1pICJub3JtYWwiIC1zICJJbmNyZW1lbnRhbCBCYWNrdXAi IC1kICJFcmZvbGdyZWljaDogJFNSQyIgLW0gIlppZWw6ICREU1QgYWJnZXNjaGxvc3Nlbi4iCiAg ICBlbHNlCiAgICAgICAgbG9nICJXQVJOVU5HOiBSc3luYyBtZWxkZXRlIEZlaGxlciBiZWkgJFNS QyAtPiAkRFNUIChFeGl0IENvZGU6ICRSU1lOQ19FWElUKSIKICAgICAgICBIQVNfRVJST1I9MQog ICAgICAgIAogICAgICAgIEVSUl9NU0c9JChoZWFkIC1uIDMgIiRSU1lOQ19FUlIiIHwgdHIgJ1xu JyAnICcgfCB0ciAtZCAnIicgfCB0ciAtZCAiXCciKQogICAgICAgIGlmIFsgLXogIiRFUlJfTVNH IiBdOyB0aGVuCiAgICAgICAgICAgIEVSUl9NU0c9IlVuYmVrYW5udGVyIEZlaGxlciAoQ29kZSAk UlNZTkNfRVhJVCkuIgogICAgICAgIGZpCiAgICAgICAgCiAgICAgICAgL3Vzci9sb2NhbC9lbWh0 dHAvd2ViR3VpL3NjcmlwdHMvbm90aWZ5IC1pICJ3YXJuaW5nIiAtcyAiSW5jcmVtZW50YWwgQmFj a3VwIiAtZCAiRmVobGVyIGJlaTogJFNSQyIgLW0gIlppZWw6ICREU1QgfCAkRVJSX01TRyIKICAg IGZpCiAgICAKICAgIHJtIC1mICIkUlNZTkNfT1VUIiAiJFJTWU5DX0VSUiIKICAgIAogICAgbG9n ICJQcnVlZmUgQXVmYmV3YWhydW5nIChtYXggJEtFRVAgQmFja3VwcykuLi4iCiAgICBESVJTPSgk KGxzIC1kICIkRFNUIi8yMCovIDI+L2Rldi9udWxsIHwgc29ydCkpCiAgICBDT1VOVD0keyNESVJT W0BdfQogICAgCiAgICBpZiBbICRDT1VOVCAtZ3QgJEtFRVAgXTsgdGhlbgogICAgICAgIFRPX0RF TEVURT0kKChDT1VOVCAtIEtFRVApKQogICAgICAgIGZvciAoKGo9MDsgajxUT19ERUxFVEU7IGor KykpOyBkbwogICAgICAgICAgICBsb2cgIkxvZXNjaGUgYWx0ZXMgQmFja3VwOiAke0RJUlNbJGpd fSIKICAgICAgICAgICAgcm0gLXJmICIke0RJUlNbJGpdfSIKICAgICAgICBkb25lCiAgICBmaQog ICAgCiAgICBsb2cgIjw8PCBBYmdlc2NobG9zc2VuIGZ1ZXIgWyRpXS4iCiAgICBpPSQoKGkrMSkp CmRvbmUKCmxvZyAiLS0tIElua3JlbWVudGVsbGVzIEJhY2t1cCBrb21wbGV0dCBiZWVuZGV0IC0t LSIKCmlmIFsgIiRIQVNfRVJST1IiID0gIjEiIF07IHRoZW4KICAgIC91c3IvbG9jYWwvZW1odHRw L3dlYkd1aS9zY3JpcHRzL25vdGlmeSAtaSAid2FybmluZyIgLXMgIkluY3JlbWVudGFsIEJhY2t1 cCIgLWQgIkJhY2t1cCBtaXQgRmVobGVybiBhYmdlc2NobG9zc2VuIiAtbSAiQml0dGUgcHJ1ZWZl IGRhcyBMb2cuIgplbHNlCiAgICAvdXNyL2xvY2FsL2VtaHR0cC93ZWJHdWkvc2NyaXB0cy9ub3Rp ZnkgLWkgIm5vcm1hbCIgLXMgIkluY3JlbWVudGFsIEJhY2t1cCIgLWQgIkJhY2t1cCBlcmZvbGdy ZWljaCBhYmdlc2NobG9zc2VuIgpmaQoKcm0gLWYgIiRQSURGSUxFIgp0cmFwIC0gSU5UIFRFUk0g RVhJVAo= EOF base64 -d <<EOF > /usr/local/emhttp/plugins/incbackup/get_dirs.php PD9waHAKaGVhZGVyKCdDb250ZW50LVR5cGU6IGFwcGxpY2F0aW9uL2pzb24nKTsKJHBhdGggPSBp c3NldCgkX0dFVFsncGF0aCddKSA/IHJ0cmltKCRfR0VUWydwYXRoJ10sICcvJykgOiAnL21udC91 c2VyJzsKaWYgKGVtcHR5KCRwYXRoKSB8fCBzdHJwb3MoJHBhdGgsICcvbW50JykgIT09IDApIHsK ICAgICRwYXRoID0gJy9tbnQnOwp9CiRkaXJzID0gW107CmlmICgkcGF0aCAhPT0gJy9tbnQnKSB7 CiAgICAkZGlyc1tdID0gWyduYW1lJyA9PiAnLi4gKFp1cnVlY2spJywgJ3BhdGgnID0+IGRpcm5h bWUoJHBhdGgpXTsKfQokaXRlbXMgPSBAc2NhbmRpcigkcGF0aCk7CmlmICgkaXRlbXMpIHsKICAg IGZvcmVhY2ggKCRpdGVtcyBhcyAkaXRlbSkgewogICAgICAgIGlmICgkaXRlbSA9PSAnLicgfHwg JGl0ZW0gPT0gJy4uJykgY29udGludWU7CiAgICAgICAgJGZ1bGxQYXRoID0gJHBhdGggLiAnLycg LiAkaXRlbTsKICAgICAgICBpZiAoaXNfZGlyKCRmdWxsUGF0aCkpIHsKICAgICAgICAgICAgJGRp cnNbXSA9IFsnbmFtZScgPT4gJGl0ZW0sICdwYXRoJyA9PiAkZnVsbFBhdGhdOwogICAgICAgIH0K ICAgIH0KfQplY2hvIGpzb25fZW5jb2RlKFsnY3VycmVudCcgPT4gJHBhdGgsICdkaXJzJyA9PiAk ZGlyc10pOwo/Pg== EOF base64 -d <<EOF > /usr/local/emhttp/plugins/incbackup/get_log.php PD9waHAKJGxvZ19maWxlID0gJy92YXIvbG9nL2luY2JhY2t1cC5sb2cnOwppZiAoZmlsZV9leGlz dHMoJGxvZ19maWxlKSkgewogICAgJG91dHB1dCA9IHNoZWxsX2V4ZWMoInRhaWwgLW4gMTUwICIg LiBlc2NhcGVzaGVsbGFyZygkbG9nX2ZpbGUpKTsKICAgIGVjaG8gaHRtbHNwZWNpYWxjaGFycygk b3V0cHV0KTsKfSBlbHNlIHsKICAgIGVjaG8gIk5vY2gga2VpbmUgTG9ncyB2b3JoYW5kZW4uIjsK fQo/Pg== EOF chmod +x /usr/local/emhttp/plugins/incbackup/backup.sh source /boot/config/plugins/incbackup/incbackup.cfg if [ "$ENABLE" == "yes" ]; then CRON_STR="" if [ "$FREQ" == "hourly" ]; then CRON_STR="$MINUTE * * * *"; elif [ "$FREQ" == "daily" ]; then CRON_STR="$MINUTE $HOUR * * *"; elif [ "$FREQ" == "weekly" ]; then CRON_STR="$MINUTE $HOUR * * 0"; elif [ "$FREQ" == "monthly" ]; then CRON_STR="$MINUTE $HOUR 1 * *"; else CRON_STR="$MINUTE $HOUR * * *"; fi CRON_JOB="$CRON_STR /usr/local/emhttp/plugins/incbackup/backup.sh > /dev/null 2>&1" crontab -l 2>/dev/null | grep -v "/usr/local/emhttp/plugins/incbackup/backup.sh" > /tmp/cron_temp echo "$CRON_JOB" >> /tmp/cron_temp crontab /tmp/cron_temp rm -f /tmp/cron_temp fi echo "" echo "----------------------------------------------------" echo " incbackup plugin installed (Update 18)" echo "----------------------------------------------------" echo "" rm -rf /usr/local/emhttp/plugins/incbackup crontab -l 2>/dev/null | grep -v "/usr/local/emhttp/plugins/incbackup/backup.sh" > /tmp/cron_temp crontab /tmp/cron_temp rm -f /tmp/cron_temp echo "" echo "----------------------------------------------------" echo " incbackup plugin uninstalled" echo "----------------------------------------------------" echo ""