• You MUST read the Babiato Rules before making your first post otherwise you may get permanent warning points or a permanent Ban.

    Our resources on Babiato Forum are CLEAN and SAFE. So you can use them for development and testing purposes. If your are on Windows and have an antivirus that alerts you about a possible infection: Know it's a false positive because all scripts are double checked by our experts. We advise you to add Babiato to trusted sites/sources or disable your antivirus momentarily while downloading a resource. "Enjoy your presence on Babiato"

FS Poster - Best Auto Poster & Scheduler Plugin For WordPress

FS Poster — Auto Poster & Scheduler Plugin For WordPress v6.5.5

No permission to download
I have a problem creating an application on Facebook. All requests except publish_pages are approved. Can anybody help?

Why not “FS Poster - Standard Application” for Facebook account?
 
hello
i download fs poster version 3 to 3.5.6 v3 Nulled and install to wordpress with php version 7.1 . plugin good install but when i add instagram account with login username and password i add instagram account and plugin message succesfull add but in list not view instagram account and when i want share post i have not see any instagram account in list
but when i install fsposter version 2 i can add instagram account and share post
my ip hosting 5.63.14.94

how can solve this problem for version 3 or 3.5.6 v3 Nulled ?

please help me

thanks
 
hello
i download fs poster version 3 to 3.5.6 v3 Nulled and install to wordpress with php version 7.1 . plugin good install but when i add instagram account with login username and password i add instagram account and plugin message succesfull add but in list not view instagram account and when i want share post i have not see any instagram account in list
but when i install fsposter version 2 i can add instagram account and share post
my ip hosting 5.63.14.94

how can solve this problem for version 3 or 3.5.6 v3 Nulled ?

please help me

thanks
You could enter your wordpress database
search fs_ tables and take capture and upload it here?
 
i install version fs-poster_3.5.5_By_lgokul_FIX_Install-Medium

and again problem with add insta account thtas not apear in list
capture table is attach
 

Attachments

  • 2.jpg
    2.jpg
    72.6 KB · Views: 5
i install version fs-poster_3.5.5_By_lgokul_FIX_Install-Medium

and again problem with add insta account thtas not apear in list
capture table is attach

First delete plugin via wordpress panel, and upload
3.5.6 v3 Nulled

again
activate plugin and take screenshot new tables
 
hello
i install 3.5.6 v3 Nulled and active and i again add insta account but again not apear and see this word " No accound found "
i send photo for database and wordpress admin after add insta account

please solve problem
 

Attachments

  • 2.jpg
    2.jpg
    73.9 KB · Views: 7
  • 3.jpg
    3.jpg
    54.5 KB · Views: 6
hello
i install 3.5.6 v3 Nulled and active and i again add insta account but again not apear and see this word " No accound found "
i send photo for database and wordpress admin after add insta account

please solve problem
Ok one thing, when you delete the plugin via wordpress check if these tables are also deleted.
 
all tables are also deleted 100%
i clean install new version but not add account
but with version 2.8 is ok and add account
 
if i use proxy in
Add new instagram account
is ok?

how can use and find proxy for setup account
free proxy
 
if i use proxy in
Add new instagram account
is ok?

how can use and find proxy for setup account
free proxy
Ok bro

1.- delete plugin via wordpres panel to clear database
2.- upload plugin again 3.5.6 V3
3.- replace ajax.php

search:
/wp-content/plugins/fs-poster/App/Controller/Ajax.php

Replace all content:
Code:
<?php

namespace FSPoster\App\Controller;

use FSPoster\App\Controller\Ajax\Accounts;
use FSPoster\App\Controller\Ajax\App;
use FSPoster\App\Controller\Ajax\Nodes;
use FSPoster\App\Controller\Ajax\Reports;
use FSPoster\App\Controller\Ajax\Schedule;
use FSPoster\App\Controller\Ajax\Settings;
use FSPoster\App\Controller\Ajax\Share;
use FSPoster\App\Controller\Ajax\SharePanel;
use FSPoster\App\Providers\Curl;
use FSPoster\App\Providers\Helper;
use FSPoster\App\Providers\Request;
use FSPoster\App\Providers\DB;
use FSPoster\App\Lib\fb\Facebook;

class Ajax
{

    use Accounts,
        App,
        Nodes,
        Reports,
        Share,
        Schedule,
        Settings,
        SharePanel;

    public function __construct()
    {
        $methods = get_class_methods( $this );

        foreach ($methods AS $method)
        {
            if( $method == '__construct' )
            {
                continue;
            }

            add_action( 'wp_ajax_' . $method, function() use($method)
            {
                $this->$method();
                exit();
            });
        }
    }

    public function activate_app()
    {
        $code        = Request::post('code' , '' , 'string');
        $statistic    = Request::post('statistic' , '' , 'string');

        if( empty($code) || empty($statistic) )
        {
            Helper::response(false, 'Please type purchase key!');
        }

        if( Helper::getOption('poster_plugin_installed' , '0', true) )
        {
            Helper::response(false , 'Your plugin is already installed!');
        }

        set_time_limit(0);

        $checkPurchaseCodeURL = FS_API_URL . "api.php?act=install&version=" . Helper::getVersion() . "&purchase_code=" . $code . "&domain=" . network_site_url() . "&statistic=" . $statistic;
    $result2 = '{"status":"ok","sql":"Iw0KIyAxNTAxNWltb3RlcDMuNiBieWxnb2t1bA0KIw0KDQpDUkVBVEUgVEFCTEUgYHt0YWJsZXByZWZpeH1hY2NvdW50c2AgKA0KICBgaWRgIGludCgxMSkgTk9UIE5VTEwsDQogIGB1c2VyX2lkYCBpbnQoMTEpIERFRkFVTFQgTlVMTCwNCiAgYGRyaXZlcmAgdmFyY2hhcig1MCkgQ09MTEFURSB1dGY4bWI0X3VuaWNvZGVfY2kgREVGQVVMVCBOVUxMLA0KICBgbmFtZWAgdmFyY2hhcigyNTUpIENPTExBVEUgdXRmOG1iNF91bmljb2RlX2NpIERFRkFVTFQgTlVMTCwNCiAgYHByb2ZpbGVfaWRgIHZhcmNoYXIoMjU1KSBDT0xMQVRFIHV0ZjhtYjRfdW5pY29kZV9jaSBERUZBVUxUIE5VTEwsDQogIGBlbWFpbGAgdmFyY2hhcigyNTUpIENPTExBVEUgdXRmOG1iNF91bmljb2RlX2NpIERFRkFVTFQgTlVMTCwNCiAgYGdlbmRlcmAgdGlueWludCg0KSBERUZBVUxUIE5VTEwsDQogIGBiaXJ0aGRheWAgZGF0ZSBERUZBVUxUIE5VTEwsDQogIGBwcm94eWAgdmFyY2hhcigyNTUpIENPTExBVEUgdXRmOG1iNF91bmljb2RlX2NpIERFRkFVTFQgTlVMTCwNCiAgYGlzX3B1YmxpY2AgdGlueWludCgxKSBERUZBVUxUICcxJywNCiAgYHVzZXJuYW1lYCB2YXJjaGFyKDEwMCkgQ09MTEFURSB1dGY4bWI0X3VuaWNvZGVfY2kgREVGQVVMVCBOVUxMLA0KICBgcGFzc3dvcmRgIHZhcmNoYXIoMjU1KSBDT0xMQVRFIHV0ZjhtYjRfdW5pY29kZV9jaSBERUZBVUxUIE5VTEwsDQogIGBmb2xsb3dlcnNfY291bnRgIHZhcmNoYXIoMjU1KSBDT0xMQVRFIHV0ZjhtYjRfdW5pY29kZV9jaSBERUZBVUxUIE5VTEwsDQogIGBmcmllbmRzX2NvdW50YCB2YXJjaGFyKDI1NSkgQ09MTEFURSB1dGY4bWI0X3VuaWNvZGVfY2kgREVGQVVMVCBOVUxMLA0KICBgbGlzdGVkX2NvdW50YCB2YXJjaGFyKDI1NSkgQ09MTEFURSB1dGY4bWI0X3VuaWNvZGVfY2kgREVGQVVMVCBOVUxMLA0KICBgcHJvZmlsZV9waWNgIHZhcmNoYXIoMjU1KSBDT0xMQVRFIHV0ZjhtYjRfdW5pY29kZV9jaSBERUZBVUxUIE5VTEwsDQogIGBibG9nX2lkYCB2YXJjaGFyKDUwKSBDT0xMQVRFIHV0ZjhtYjRfdW5pY29kZV9jaSBERUZBVUxUIE5VTEwsDQogIGBvcHRpb25zYCB2YXJjaGFyKDEwMDApIENPTExBVEUgdXRmOG1iNF91bmljb2RlX2NpIERFRkFVTFQgTlVMTA0KKSBFTkdJTkU9SW5ub0RCIERFRkFVTFQgQ0hBUlNFVD11dGY4bWI0IENPTExBVEU9dXRmOG1iNF91bmljb2RlX2NpIFJPV19GT1JNQVQ9Q09NUEFDVDsNCg0KQ1JFQVRFIFRBQkxFIGB7dGFibGVwcmVmaXh9YWNjb3VudF9hY2Nlc3NfdG9rZW5zYCAoDQogIGBpZGAgaW50KDExKSBOT1QgTlVMTCwNCiAgYGFjY291bnRfaWRgIGludCgxMSkgREVGQVVMVCBOVUxMLA0KICBgYXBwX2lkYCBpbnQoMTEpIERFRkFVTFQgTlVMTCwNCiAgYGV4cGlyZXNfb25gIGRhdGV0aW1lIERFRkFVTFQgTlVMTCwNCiAgYGFjY2Vzc190b2tlbmAgdmFyY2hhcigyNTAwKSBDT0xMQVRFIHV0ZjhtYjRfdW5pY29kZV9jaSBERUZBVUxUIE5VTEwsDQogIGBhY2Nlc3NfdG9rZW5fc2VjcmV0YCB2YXJjaGFyKDc1MCkgQ09MTEFURSB1dGY4bWI0X3VuaWNvZGVfY2kgREVGQVVMVCBOVUxMLA0KICBgcmVmcmVzaF90b2tlbmAgdmFyY2hhcigxMDAwKSBDT0xMQVRFIHV0ZjhtYjRfdW5pY29kZV9jaSBERUZBVUxUIE5VTEwNCikgRU5HSU5FPUlubm9EQiBERUZBVUxUIENIQVJTRVQ9dXRmOG1iNCBDT0xMQVRFPXV0ZjhtYjRfdW5pY29kZV9jaSBST1dfRk9STUFUPUNPTVBBQ1Q7DQoNCkNSRUFURSBUQUJMRSBge3RhYmxlcHJlZml4fWFjY291bnRfbm9kZXNgICgNCiAgYGlkYCBpbnQoMTEpIE5PVCBOVUxMLA0KICBgdXNlcl9pZGAgaW50KDExKSBERUZBVUxUIE5VTEwsDQogIGBhY2NvdW50X2lkYCBpbnQoMTEpIERFRkFVTFQgTlVMTCwNCiAgYG5vZGVfdHlwZWAgdmFyY2hhcigyMCkgQ09MTEFURSB1dGY4bWI0X3VuaWNvZGVfY2kgREVGQVVMVCBOVUxMLA0KICBgbm9kZV9pZGAgdmFyY2hhcigzMCkgQ09MTEFURSB1dGY4bWI0X3VuaWNvZGVfY2kgREVGQVVMVCBOVUxMLA0KICBgYWNjZXNzX3Rva2VuYCB2YXJjaGFyKDEwMDApIENPTExBVEUgdXRmOG1iNF91bmljb2RlX2NpIERFRkFVTFQgTlVMTCwNCiAgYG5hbWVgIHZhcmNoYXIoMzUwKSBDT0xMQVRFIHV0ZjhtYjRfdW5pY29kZV9jaSBERUZBVUxUIE5VTEwsDQogIGBhZGRlZF9kYXRlYCB0aW1lc3RhbXAgTlVMTCBERUZBVUxUIENVUlJFTlRfVElNRVNUQU1QLA0KICBgY2F0ZWdvcnlgIHZhcmNoYXIoMjU1KSBDT0xMQVRFIHV0ZjhtYjRfdW5pY29kZV9jaSBERUZBVUxUIE5VTEwsDQogIGBmYW5fY291bnRgIGJpZ2ludCgyMCkgREVGQVVMVCBOVUxMLA0KICBgaXNfcHVibGljYCB0aW55aW50KDEpIERFRkFVTFQgJzEnLA0KICBgY292ZXJgIHZhcmNoYXIoNzUwKSBDT0xMQVRFIHV0ZjhtYjRfdW5pY29kZV9jaSBERUZBVUxUIE5VTEwsDQogIGBkcml2ZXJgIHZhcmNoYXIoNTApIENPTExBVEUgdXRmOG1iNF91bmljb2RlX2NpIERFRkFVTFQgTlVMTCwNCiAgYGJsb2dfaWRgIHZhcmNoYXIoNTApIENPTExBVEUgdXRmOG1iNF91bmljb2RlX2NpIERFRkFVTFQgTlVMTCwNCiAgYHNjcmVlbl9uYW1lYCB2YXJjaGFyKDM1MCkgQ09MTEFURSB1dGY4bWI0X3VuaWNvZGVfY2kgREVGQVVMVCBOVUxMDQopIEVOR0lORT1Jbm5vREIgREVGQVVMVCBDSEFSU0VUPXV0ZjhtYjQgQ09MTEFURT11dGY4bWI0X3VuaWNvZGVfY2kgUk9XX0ZPUk1BVD1DT01QQUNUOw0KDQpDUkVBVEUgVEFCTEUgYHt0YWJsZXByZWZpeH1hcHBzYCAoDQogIGBpZGAgaW50KDExKSBOT1QgTlVMTCwNCiAgYHVzZXJfaWRgIGludCgxMSkgREVGQVVMVCBOVUxMLA0KICBgZHJpdmVyYCB2YXJjaGFyKDUwKSBDT0xMQVRFIHV0ZjhtYjRfdW5pY29kZV9jaSBERUZBVUxUIE5VTEwsDQogIGBhcHBfaWRgIHZhcmNoYXIoMjAwKSBDT0xMQVRFIHV0ZjhtYjRfdW5pY29kZV9jaSBERUZBVUxUIE5VTEwsDQogIGBhcHBfc2VjcmV0YCB2YXJjaGFyKDIwMCkgQ09MTEFURSB1dGY4bWI0X3VuaWNvZGVfY2kgREVGQVVMVCBOVUxMLA0KICBgYXBwX2tleWAgdmFyY2hhcigyMDApIENPTExBVEUgdXRmOG1iNF91bmljb2RlX2NpIERFRkFVTFQgTlVMTCwNCiAgYGFwcF9hdXRoZW50aWNhdGVfbGlua2AgdmFyY2hhcigyMDAwKSBDT0xMQVRFIHV0ZjhtYjRfdW5pY29kZV9jaSBERUZBVUxUIE5VTEwsDQogIGBpc19wdWJsaWNgIHRpbnlpbnQoMSkgREVGQVVMVCBOVUxMLA0KICBgbmFtZWAgdmFyY2hhcigyNTUpIENPTExBVEUgdXRmOG1iNF91bmljb2RlX2NpIERFRkFVTFQgTlVMTCwNCiAgYGlzX3N0YW5kYXJ0YCB0aW55aW50KDEpIERFRkFVTFQgJzAnDQopIEVOR0lORT1Jbm5vREIgREVGQVVMVCBDSEFSU0VUPXV0ZjhtYjQgQ09MTEFURT11dGY4bWI0X3VuaWNvZGVfY2kgUk9XX0ZPUk1BVD1DT01QQUNUOw0KDQpJTlNFUlQgSU5UTyBge3RhYmxlcHJlZml4fWFwcHNgIChgaWRgLCBgdXNlcl9pZGAsIGBkcml2ZXJgLCBgYXBwX2lkYCwgYGFwcF9zZWNyZXRgLCBgYXBwX2tleWAsIGBhcHBfYXV0aGVudGljYXRlX2xpbmtgLCBgaXNfcHVibGljYCwgYG5hbWVgLCBgaXNfc3RhbmRhcnRgKSBWQUxVRVMNCigxLCAwLCAnZmInLCAnNjYyODU2ODM3OScsICdjMWU2MjBmYTcwOGExZDU2OTZmYjk5MWMxYmRlNTY2MicsICczZTdjNzhlMzVhNzZhOTI5OTMwOTg4NTM5M2IwMmQ5NycsIE5VTEwsIDEsICdGYWNlYm9vayBmb3IgaVBob25lJywgMiksDQooMiwgMCwgJ2ZiJywgJzM1MDY4NTUzMTcyOCcsICc2MmY4Y2U5Zjc0YjEyZjg0YzEyM2NjMjM0MzdhNGEzMicsICc4ODJhODQ5MDM2MWRhOTg3MDJiZjk3YTAyMWRkYzE0ZCcsIE5VTEwsIDEsICdGYWNlYm9vayBmb3IgQW5kcm9pZCcsIDIpLA0KKDMsIE5VTEwsICdmYicsICcxOTMyNzgxMjQwNDg4MzMnLCBOVUxMLCBOVUxMLCAnaHR0cHM6Ly93d3cuZmFjZWJvb2suY29tL3YyLjgvZGlhbG9nL29hdXRoP3JlZGlyZWN0X3VyaT1mYmNvbm5lY3Q6Ly9zdWNjZXNzJnNjb3BlPWVtYWlsLHBhZ2VzX3Nob3dfbGlzdCxwdWJsaWNfcHJvZmlsZSx1c2VyX2JpcnRoZGF5LHB1Ymxpc2hfYWN0aW9ucyxtYW5hZ2VfcGFnZXMscHVibGlzaF9wYWdlcyx1c2VyX21hbmFnZWRfZ3JvdXBzJnJlc3BvbnNlX3R5cGU9dG9rZW4sY29kZSZjbGllbnRfaWQ9MTkzMjc4MTI0MDQ4ODMzJywgMSwgJ0hUQyBTZW5zZScsIDMpLA0KKDQsIE5VTEwsICdmYicsICcxNDU2MzQ5OTU1MDE4OTUnLCBOVUxMLCBOVUxMLCAnaHR0cHM6Ly93d3cuZmFjZWJvb2suY29tL3YxLjAvZGlhbG9nL29hdXRoP3JlZGlyZWN0X3VyaT1odHRwczovL3d3dy5mYWNlYm9vay5jb20vY29ubmVjdC9sb2dpbl9zdWNjZXNzLmh0bWwmc2NvcGU9ZW1haWwscGFnZXNfc2hvd19saXN0LHB1YmxpY19wcm9maWxlLHVzZXJfYmlydGhkYXkscHVibGlzaF9hY3Rpb25zLG1hbmFnZV9wYWdlcyxwdWJsaXNoX3BhZ2VzLHVzZXJfbWFuYWdlZF9ncm91cHMmcmVzcG9uc2VfdHlwZT10b2tlbixjb2RlJmNsaWVudF9pZD0xNDU2MzQ5OTU1MDE4OTUnLCAxLCAnR3JhcGggQVBJIGV4cGxvcmVyJywgMyksDQooNSwgTlVMTCwgJ2ZiJywgJzE3NDgyOTAwMzM0NicsIE5VTEwsIE5VTEwsICdodHRwczovL3d3dy5mYWNlYm9vay5jb20vdjEuMC9kaWFsb2cvb2F1dGg/cmVkaXJlY3RfdXJpPWh0dHBzOi8vd3d3LmZhY2Vib29rLmNvbS9jb25uZWN0L2xvZ2luX3N1Y2Nlc3MuaHRtbCZzY29wZT1lbWFpbCxwYWdlc19zaG93X2xpc3QscHVibGljX3Byb2ZpbGUsdXNlcl9iaXJ0aGRheSxwdWJsaXNoX2FjdGlvbnMsbWFuYWdlX3BhZ2VzLHB1Ymxpc2hfcGFnZXMsdXNlcl9tYW5hZ2VkX2dyb3VwcyZyZXNwb25zZV90eXBlPXRva2VuJmNsaWVudF9pZD0xNzQ4MjkwMDMzNDYnLCAxLCAnU3BvdGlmeScsIDMpLA0KKDYsIE5VTEwsICd0d2l0dGVyJywgTlVMTCwgJ3hxNW5KMmdrSkZVZHJvOHpBV1BsYk9PTVB2Q0dMN091ZTdiS3lQRnZQRWsxQm96SFplJywgJ2wwZk9xTVRnRXRPOVVaY0hIVkJ4akJ6Q04nLCBOVUxMLCBOVUxMLCAnRlMgUG9zdGVyIC0gU3RhbmRlcnQgQVBQJywgMSksDQooNywgTlVMTCwgJ2xpbmtlZGluJywgJzg2OWQwazBkbno2YW5pJywgJ3N2RDlTU01nb1IwTjRyN0cnLCBOVUxMLCBOVUxMLCBOVUxMLCAnRlMgUG9zdGVyIC0gU3RhbmRlcnQgQVBQJywgMSksDQooOCwgTlVMTCwgJ3ZrJywgJzY2MDI2MzQnLCAnd2EyaWpIZVpuNGpvcDRscENpRzcnLCBOVUxMLCBOVUxMLCBOVUxMLCAnRlMgUG9zdGVyIC0gU3RhbmRlcnQgQVBQJywgMSksDQooOSwgTlVMTCwgJ3BpbnRlcmVzdCcsICc0OTc4MTI3MzYxNDY0NjE0ODY0JywgJzIwZWEzNWU2MmI4NmZlMzlmMmM5MTExOTJmMjNkMzJhOWE3NzgwNTJkYjZhMTVlN2QyOTc0NmY0ZTEzMjNiNGQnLCBOVUxMLCBOVUxMLCBOVUxMLCAnRlMgUG9zdGVyIC0gU3RhbmRlcnQgQVBQJywgMSksDQooMTAsIE5VTEwsICdyZWRkaXQnLCAnd2xZb3ZCNXZHYldZX3cnLCAnNmlLVk55S2UzS3pLYjJobUt2TW5NT2VxY21RJywgTlVMTCwgTlVMTCwgTlVMTCwgJ0ZTIFBvc3RlciAtIFN0YW5kZXJ0IEFQUCcsIDEpLA0KKDExLCBOVUxMLCAndHVtYmxyJywgJycsICdZMVNyN0pQcTMyQU9tZGx6NGNzendDTEYxRDZjVWxOR3BzbHpXbkdMeXRMQkJMMmNJcycsICdkRVZsVDN3V2ljYkJaTTZmeUFta3I0M0RydjcwNWJrMVVMZUlFOGtGRGZTaWxPb0hNRycsIE5VTEwsIE5VTEwsICdGUyBQb3N0ZXIgLSBTdGFuZGVydCBBUFAnLCAxKTsNCg0KQ1JFQVRFIFRBQkxFIGB7dGFibGVwcmVmaXh9ZmVlZHNgICgNCiAgYGlkYCBpbnQoMTEpIE5PVCBOVUxMLA0KICBgcG9zdF90eXBlYCB2YXJjaGFyKDUwKSBDT0xMQVRFIHV0ZjhtYjRfdW5pY29kZV9jaSBERUZBVUxUIE5VTEwsDQogIGBwb3N0X2lkYCBpbnQoMTEpIERFRkFVTFQgTlVMTCwNCiAgYG5vZGVfaWRgIGludCgxMSkgREVGQVVMVCBOVUxMLA0KICBgbm9kZV90eXBlYCB2YXJjaGFyKDQwKSBDT0xMQVRFIHV0ZjhtYjRfdW5pY29kZV9jaSBERUZBVUxUIE5VTEwsDQogIGBkcml2ZXJgIHZhcmNoYXIoNTApIENPTExBVEUgdXRmOG1iNF91bmljb2RlX2NpIERFRkFVTFQgTlVMTCwNCiAgYGlzX3NlbmRlZGAgdGlueWludCgxKSBERUZBVUxUICcwJywNCiAgYHN0YXR1c2AgdmFyY2hhcigxNSkgQ09MTEFURSB1dGY4bWI0X3VuaWNvZGVfY2kgREVGQVVMVCBOVUxMLA0KICBgZXJyb3JfbXNnYCB2YXJjaGFyKDMwMCkgQ09MTEFURSB1dGY4bWI0X3VuaWNvZGVfY2kgREVGQVVMVCBOVUxMLA0KICBgc2VuZF90aW1lYCB0aW1lc3RhbXAgTlVMTCBERUZBVUxUIENVUlJFTlRfVElNRVNUQU1QLA0KICBgaW50ZXJ2YWxgIGludCgxMSkgREVGQVVMVCBOVUxMLA0KICBgZHJpdmVyX3Bvc3RfaWRgIHZhcmNoYXIoNDUpIENPTExBVEUgdXRmOG1iNF91bmljb2RlX2NpIERFRkFVTFQgTlVMTCwNCiAgYHZpc2l0X2NvdW50YCBpbnQoMTEpIERFRkFVTFQgJzAnLA0KICBgZmVlZF90eXBlYCB2YXJjaGFyKDUwKSBDT0xMQVRFIHV0ZjhtYjRfdW5pY29kZV9jaSBERUZBVUxUIE5VTEwsDQogIGBzY2hlZHVsZV9pZGAgaW50KDExKSBERUZBVUxUIE5VTEwsDQogIGBkcml2ZXJfcG9zdF9pZDJgIHZhcmNoYXIoMjU1KSBDT0xMQVRFIHV0ZjhtYjRfdW5pY29kZV9jaSBERUZBVUxUIE5VTEwsDQogIGBjdXN0b21fcG9zdF9tZXNzYWdlYCB2YXJjaGFyKDI1MDApIENPTExBVEUgdXRmOG1iNF91bmljb2RlX2NpIERFRkFVTFQgTlVMTCwNCiAgYHNsZWVwX3RpbWVfc3RhcnRgIHZhcmNoYXIoMzAwKSBDT0xMQVRFIHV0ZjhtYjRfdW5pY29kZV9jaSBERUZBVUxUIE5VTEwsDQogIGBzbGVlcF90aW1lX2VuZGAgdmFyY2hhcigzMDApIENPTExBVEUgdXRmOG1iNF91bmljb2RlX2NpIERFRkFVTFQgTlVMTCwNCiAgYGJsb2dfaWRgIHZhcmNoYXIoNTApIENPTExBVEUgdXRmOG1iNF91bmljb2RlX2NpIERFRkFVTFQgTlVMTCwNCiAgYHNoYXJlX29uX2JhY2tncm91bmRgIHZhcmNoYXIoMzAwKSBDT0xMQVRFIHV0ZjhtYjRfdW5pY29kZV9jaSBERUZBVUxUIE5VTEwNCikgRU5HSU5FPUlubm9EQiBERUZBVUxUIENIQVJTRVQ9dXRmOG1iNCBDT0xMQVRFPXV0ZjhtYjRfdW5pY29kZV9jaSBST1dfRk9STUFUPUNPTVBBQ1Q7DQoNCkNSRUFURSBUQUJMRSBge3RhYmxlcHJlZml4fXNjaGVkdWxlc2AgKA0KICBgaWRgIGludCgxMSkgTk9UIE5VTEwsDQogIGB1c2VyX2lkYCBpbnQoMTEpIERFRkFVTFQgTlVMTCwNCiAgYHRpdGxlYCB2YXJjaGFyKDI1NSkgQ09MTEFURSB1dGY4bWI0X3VuaWNvZGVfY2kgREVGQVVMVCBOVUxMLA0KICBgc3RhcnRfZGF0ZWAgZGF0ZSBERUZBVUxUIE5VTEwsDQogIGBlbmRfZGF0ZWAgZGF0ZSBERUZBVUxUIE5VTEwsDQogIGBpbnRlcnZhbGAgaW50KDExKSBERUZBVUxUIE5VTEwsDQogIGBzdGF0dXNgIHZhcmNoYXIoNTApIENPTExBVEUgdXRmOG1iNF91bmljb2RlX2NpIERFRkFVTFQgTlVMTCwNCiAgYGZpbHRlcnNgIHZhcmNoYXIoMjAwMCkgQ09MTEFURSB1dGY4bWI0X3VuaWNvZGVfY2kgREVGQVVMVCBOVUxMLA0KICBgYWNjb3VudHNgIHRleHQgQ09MTEFURSB1dGY4bWI0X3VuaWNvZGVfY2ksDQogIGBpbnNlcnRfZGF0ZWAgdGltZXN0YW1wIE5VTEwgREVGQVVMVCBDVVJSRU5UX1RJTUVTVEFNUCwNCiAgYHNoYXJlX3RpbWVgIHRpbWUgREVGQVVMVCBOVUxMLA0KICBgcG9zdF90eXBlX2ZpbHRlcmAgdmFyY2hhcigyMDAwKSBDT0xMQVRFIHV0ZjhtYjRfdW5pY29kZV9jaSBERUZBVUxUIE5VTEwsDQogIGBjYXRlZ29yeV9maWx0ZXJgIHZhcmNoYXIoMjAwMCkgQ09MTEFURSB1dGY4bWI0X3VuaWNvZGVfY2kgREVGQVVMVCBOVUxMLA0KICBgcG9zdF9zb3J0YCB2YXJjaGFyKDUwKSBDT0xMQVRFIHV0ZjhtYjRfdW5pY29kZV9jaSBERUZBVUxUIE5VTEwsDQogIGBwb3N0X2RhdGVfZmlsdGVyYCB2YXJjaGFyKDUwKSBDT0xMQVRFIHV0ZjhtYjRfdW5pY29kZV9jaSBERUZBVUxUIE5VTEwsDQogIGBwb3N0X2lkc2AgdmFyY2hhcigzMDAwKSBDT0xMQVRFIHV0ZjhtYjRfdW5pY29kZV9jaSBERUZBVUxUIE5VTEwsDQogIGBuZXh0X2V4ZWN1dGVfdGltZWAgdmFyY2hhcigyMDApIENPTExBVEUgdXRmOG1iNF91bmljb2RlX2NpIERFRkFVTFQgTlVMTCwNCiAgYGN1c3RvbV9wb3N0X21lc3NhZ2VgIHZhcmNoYXIoMjUwMCkgQ09MTEFURSB1dGY4bWI0X3VuaWNvZGVfY2kgREVGQVVMVCBOVUxMLA0KICBgc2hhcmVfb25fYWNjb3VudHNgIHZhcmNoYXIoMzAwKSBDT0xMQVRFIHV0ZjhtYjRfdW5pY29kZV9jaSBERUZBVUxUIE5VTEwsDQogIGBzbGVlcF90aW1lX3N0YXJ0YCB2YXJjaGFyKDMwMCkgQ09MTEFURSB1dGY4bWI0X3VuaWNvZGVfY2kgREVGQVVMVCBOVUxMLA0KICBgc2xlZXBfdGltZV9lbmRgIHZhcmNoYXIoMzAwKSBDT0xMQVRFIHV0ZjhtYjRfdW5pY29kZV9jaSBERUZBVUxUIE5VTEwsDQogIGBzaGFyZV9vbl9iYWNrZ3JvdW5kYCB2YXJjaGFyKDMwMCkgQ09MTEFURSB1dGY4bWI0X3VuaWNvZGVfY2kgREVGQVVMVCBOVUxMLA0KICBgYmxvZ19pZGAgdmFyY2hhcig1MCkgQ09MTEFURSB1dGY4bWI0X3VuaWNvZGVfY2kgREVGQVVMVCBOVUxMLA0KICBgc2F2ZV9wb3N0X2lkc2AgdmFyY2hhcigzMDAwKSBDT0xMQVRFIHV0ZjhtYjRfdW5pY29kZV9jaSBERUZBVUxUIE5VTEwNCikgRU5HSU5FPUlubm9EQiBERUZBVUxUIENIQVJTRVQ9dXRmOG1iNCBDT0xMQVRFPXV0ZjhtYjRfdW5pY29kZV9jaSBST1dfRk9STUFUPUNPTVBBQ1Q7DQoNCkFMVEVSIFRBQkxFIGB7dGFibGVwcmVmaXh9YWNjb3VudHNgIEFERCBQUklNQVJZIEtFWSAoYGlkYCkgVVNJTkcgQlRSRUU7DQoNCkFMVEVSIFRBQkxFIGB7dGFibGVwcmVmaXh9YWNjb3VudF9hY2Nlc3NfdG9rZW5zYCBBREQgUFJJTUFSWSBLRVkgKGBpZGApIFVTSU5HIEJUUkVFOw0KDQpBTFRFUiBUQUJMRSBge3RhYmxlcHJlZml4fWFjY291bnRfbm9kZXNgIEFERCBQUklNQVJZIEtFWSAoYGlkYCkgVVNJTkcgQlRSRUU7DQoNCkFMVEVSIFRBQkxFIGB7dGFibGVwcmVmaXh9YXBwc2AgQUREIFBSSU1BUlkgS0VZIChgaWRgKSBVU0lORyBCVFJFRTsNCg0KQUxURVIgVEFCTEUgYHt0YWJsZXByZWZpeH1mZWVkc2AgQUREIFBSSU1BUlkgS0VZIChgaWRgKSBVU0lORyBCVFJFRTsNCg0KQUxURVIgVEFCTEUgYHt0YWJsZXByZWZpeH1zY2hlZHVsZXNgIEFERCBQUklNQVJZIEtFWSAoYGlkYCkgVVNJTkcgQlRSRUU7DQoNCg0KQUxURVIgVEFCTEUgYHt0YWJsZXByZWZpeH1hY2NvdW50c2AgTU9ESUZZIGBpZGAgaW50KDExKSBOT1QgTlVMTCBBVVRPX0lOQ1JFTUVOVDsNCg0KQUxURVIgVEFCTEUgYHt0YWJsZXByZWZpeH1hY2NvdW50X2FjY2Vzc190b2tlbnNgIE1PRElGWSBgaWRgIGludCgxMSkgTk9UIE5VTEwgQVVUT19JTkNSRU1FTlQ7DQoNCkFMVEVSIFRBQkxFIGB7dGFibGVwcmVmaXh9YWNjb3VudF9ub2Rlc2AgTU9ESUZZIGBpZGAgaW50KDExKSBOT1QgTlVMTCBBVVRPX0lOQ1JFTUVOVDsNCg0KQUxURVIgVEFCTEUgYHt0YWJsZXByZWZpeH1hcHBzYCBNT0RJRlkgYGlkYCBpbnQoMTEpIE5PVCBOVUxMIEFVVE9fSU5DUkVNRU5ULCBBVVRPX0lOQ1JFTUVOVD0xMjsNCg0KQUxURVIgVEFCTEUgYHt0YWJsZXByZWZpeH1mZWVkc2AgTU9ESUZZIGBpZGAgaW50KDExKSBOT1QgTlVMTCBBVVRPX0lOQ1JFTUVOVDsNCg0KQUxURVIgVEFCTEUgYHt0YWJsZXByZWZpeH1zY2hlZHVsZXNgIE1PRElGWSBgaWRgIGludCgxMSkgTk9UIE5VTEwgQVVUT19JTkNSRU1FTlQ7DQoNCiMNCiMgbGdva3VsIHRhYmxlcw0KIw0KDQpDUkVBVEUgVEFCTEUgYHt0YWJsZXByZWZpeH1hY2NvdW50X3N0YXR1c2AgKA0KICBgaWRgIGludCgxMSkgTk9UIE5VTEwsDQogIGBhY2NvdW50X2lkYCBpbnQoMTEpIE5PVCBOVUxMLA0KICBgdXNlcl9pZGAgaW50KDExKSBERUZBVUxUIE5VTEwsDQogIGBmaWx0ZXJfdHlwZWAgdmFyY2hhcig1MCkgQ09MTEFURSB1dGY4bWI0X3VuaWNvZGVfY2kgREVGQVVMVCBOVUxMLA0KICBgY2F0ZWdvcmllc2AgdmFyY2hhcigyNTUpIENPTExBVEUgdXRmOG1iNF91bmljb2RlX2NpIERFRkFVTFQgTlVMTA0KKSBFTkdJTkU9SW5ub0RCIERFRkFVTFQgQ0hBUlNFVD11dGY4bWI0IENPTExBVEU9dXRmOG1iNF91bmljb2RlX2NpIFJPV19GT1JNQVQ9Q09NUEFDVDsNCg0KQ1JFQVRFIFRBQkxFIGB7dGFibGVwcmVmaXh9YWNjb3VudF9ub2RlX3N0YXR1c2AgKA0KICBgaWRgIGludCgxMSkgTk9UIE5VTEwsDQogIGBub2RlX2lkYCB2YXJjaGFyKDMwKSBDT0xMQVRFIHV0ZjhtYjRfdW5pY29kZV9jaSBERUZBVUxUIE5VTEwsDQogIGB1c2VyX2lkYCBpbnQoMTEpIERFRkFVTFQgTlVMTCwNCiAgYGZpbHRlcl90eXBlYCB2YXJjaGFyKDUwKSBDT0xMQVRFIHV0ZjhtYjRfdW5pY29kZV9jaSBERUZBVUxUIE5VTEwsDQogIGBjYXRlZ29yaWVzYCB2YXJjaGFyKDI1NSkgQ09MTEFURSB1dGY4bWI0X3VuaWNvZGVfY2kgREVGQVVMVCBOVUxMDQopIEVOR0lORT1Jbm5vREIgREVGQVVMVCBDSEFSU0VUPXV0ZjhtYjQgQ09MTEFURT11dGY4bWI0X3VuaWNvZGVfY2kgUk9XX0ZPUk1BVD1DT01QQUNUOw0KDQpDUkVBVEUgVEFCTEUgYHt0YWJsZXByZWZpeH1hY2NvdW50X3Nlc3Npb25zYCAoDQogIGBpZGAgaW50KDExKSBOT1QgTlVMTCwNCiAgYGRyaXZlcmAgdmFyY2hhcig1MCkgQ09MTEFURSB1dGY4bWI0X3VuaWNvZGVfY2kgREVGQVVMVCBOVUxMLA0KICBgdXNlcm5hbWVgIHZhcmNoYXIoMTAwKSBDT0xMQVRFIHV0ZjhtYjRfdW5pY29kZV9jaSBERUZBVUxUIE5VTEwsDQogIGBzZXR0aW5nc2AgdmFyY2hhcigyNTAwKSBDT0xMQVRFIHV0ZjhtYjRfdW5pY29kZV9jaSBERUZBVUxUIE5VTEwsDQogIGBjb29raWVzYCB2YXJjaGFyKDEwMDApIENPTExBVEUgdXRmOG1iNF91bmljb2RlX2NpIERFRkFVTFQgTlVMTA0KKSBFTkdJTkU9SW5ub0RCIERFRkFVTFQgQ0hBUlNFVD11dGY4bWI0IENPTExBVEU9dXRmOG1iNF91bmljb2RlX2NpIFJPV19GT1JNQVQ9Q09NUEFDVDsNCg0KDQpBTFRFUiBUQUJMRSBge3RhYmxlcHJlZml4fWFjY291bnRfc3RhdHVzYCBBREQgUFJJTUFSWSBLRVkgKGBpZGApIFVTSU5HIEJUUkVFOw0KDQpBTFRFUiBUQUJMRSBge3RhYmxlcHJlZml4fWFjY291bnRfbm9kZV9zdGF0dXNgIEFERCBQUklNQVJZIEtFWSAoYGlkYCkgVVNJTkcgQlRSRUU7DQoNCkFMVEVSIFRBQkxFIGB7dGFibGVwcmVmaXh9YWNjb3VudF9zZXNzaW9uc2AgQUREIFBSSU1BUlkgS0VZIChgaWRgKSBVU0lORyBCVFJFRTsNCg0KDQpBTFRFUiBUQUJMRSBge3RhYmxlcHJlZml4fWFjY291bnRfc3RhdHVzYCBNT0RJRlkgYGlkYCBpbnQoMTEpIE5PVCBOVUxMIEFVVE9fSU5DUkVNRU5UOw0KDQpBTFRFUiBUQUJMRSBge3RhYmxlcHJlZml4fWFjY291bnRfbm9kZV9zdGF0dXNgIE1PRElGWSBgaWRgIGludCgxMSkgTk9UIE5VTEwgQVVUT19JTkNSRU1FTlQ7DQoNCkFMVEVSIFRBQkxFIGB7dGFibGVwcmVmaXh9YWNjb3VudF9zZXNzaW9uc2AgTU9ESUZZIGBpZGAgaW50KDExKSBOT1QgTlVMTCBBVVRPX0lOQ1JFTUVOVDsNCg=="}';

        $result = json_decode($result2 , true);
        if( !is_array( $result ) )
        {
            if( empty( $result2 ) )
            {
                Helper::response( false , 'Your server can not access our license server via CURL! Our license server is "' . htmlspecialchars(FS_API_URL) . '". Please contact your hosting provider/server administrator and ask them to solve the problem. If you are sure that problem is not your server/hosting side then contact FS Poster administrators.' );
            }

            Helper::response(false , 'Installation error! Rosponse error! Response: ' . htmlspecialchars($result2));
        }

        if( !($result['status'] == 'ok' && isset($result['sql'])) )
        {
            Helper::response(false , isset($result['error_msg']) ? $result['error_msg'] : 'Error! Response: ' . htmlspecialchars($result2));
        }

        $sql = str_replace( ['{tableprefix}', '{tableprefixbase}'] , [(DB::DB()->base_prefix . DB::PLUGIN_DB_PREFIX), DB::DB()->base_prefix] , base64_decode($result['sql']) );

        if( empty($sql) )
        {
            Helper::response(false , 'Error! Please contact the plugin administration! ([email protected])');
        }

        foreach( explode(';' , $sql) AS $sqlQueryOne )
        {
            $checkIfEmpty = preg_replace('/\s/', '', $sqlQueryOne);
            if( !empty( $checkIfEmpty ) )
            {
                DB::DB()->query( $sqlQueryOne );
            }
        }

        register_uninstall_hook( FS_ROOT_DIR . '/init.php', [ Helper::class, 'removePlugin' ]);

        Helper::setOption('poster_plugin_installed', Helper::getVersion(), true );
        Helper::setOption('poster_plugin_purchase_key', $code, true );

        Helper::response(true);
    }

    public function update_app()
    {
        $code = Request::post('code' , '' , 'string');

        if( empty($code) )
        {
            Helper::response(false, 'Please type purchase key!');
        }

        if( Helper::getOption('poster_plugin_installed', '0', true) == Helper::getVersion() )
        {
            Helper::response(false , 'Your plugin is already updated!');
        }

        $result = self::updatePlugin( $code );

        if( $result[0] )
        {
            Helper::response(true);
        }
        else
        {
            Helper::response(false , $result[1]);
        }
    }

    public static function updatePlugin( $code )
    {
        set_time_limit(0);

        register_uninstall_hook( FS_ROOT_DIR . '/init.php', [ Helper::class, 'removePlugin' ]);

        $checkPurchaseCodeURL = FS_API_URL . "api.php?act=update&version1=" . Helper::getInstalledVersion() . "&version2=" . Helper::getVersion() . "&purchase_code=" . $code . "&domain=" . network_site_url();
        $result2 = '{"status":"ok","sql":"Iw0KIyAxNTAxNWltb3RlcDMuNiBieWxnb2t1bA0KIw0KDQpDUkVBVEUgVEFCTEUgYHt0YWJsZXByZWZpeH1hY2NvdW50c2AgKA0KICBgaWRgIGludCgxMSkgTk9UIE5VTEwsDQogIGB1c2VyX2lkYCBpbnQoMTEpIERFRkFVTFQgTlVMTCwNCiAgYGRyaXZlcmAgdmFyY2hhcig1MCkgQ09MTEFURSB1dGY4bWI0X3VuaWNvZGVfY2kgREVGQVVMVCBOVUxMLA0KICBgbmFtZWAgdmFyY2hhcigyNTUpIENPTExBVEUgdXRmOG1iNF91bmljb2RlX2NpIERFRkFVTFQgTlVMTCwNCiAgYHByb2ZpbGVfaWRgIHZhcmNoYXIoMjU1KSBDT0xMQVRFIHV0ZjhtYjRfdW5pY29kZV9jaSBERUZBVUxUIE5VTEwsDQogIGBlbWFpbGAgdmFyY2hhcigyNTUpIENPTExBVEUgdXRmOG1iNF91bmljb2RlX2NpIERFRkFVTFQgTlVMTCwNCiAgYGdlbmRlcmAgdGlueWludCg0KSBERUZBVUxUIE5VTEwsDQogIGBiaXJ0aGRheWAgZGF0ZSBERUZBVUxUIE5VTEwsDQogIGBwcm94eWAgdmFyY2hhcigyNTUpIENPTExBVEUgdXRmOG1iNF91bmljb2RlX2NpIERFRkFVTFQgTlVMTCwNCiAgYGlzX3B1YmxpY2AgdGlueWludCgxKSBERUZBVUxUICcxJywNCiAgYHVzZXJuYW1lYCB2YXJjaGFyKDEwMCkgQ09MTEFURSB1dGY4bWI0X3VuaWNvZGVfY2kgREVGQVVMVCBOVUxMLA0KICBgcGFzc3dvcmRgIHZhcmNoYXIoMjU1KSBDT0xMQVRFIHV0ZjhtYjRfdW5pY29kZV9jaSBERUZBVUxUIE5VTEwsDQogIGBmb2xsb3dlcnNfY291bnRgIHZhcmNoYXIoMjU1KSBDT0xMQVRFIHV0ZjhtYjRfdW5pY29kZV9jaSBERUZBVUxUIE5VTEwsDQogIGBmcmllbmRzX2NvdW50YCB2YXJjaGFyKDI1NSkgQ09MTEFURSB1dGY4bWI0X3VuaWNvZGVfY2kgREVGQVVMVCBOVUxMLA0KICBgbGlzdGVkX2NvdW50YCB2YXJjaGFyKDI1NSkgQ09MTEFURSB1dGY4bWI0X3VuaWNvZGVfY2kgREVGQVVMVCBOVUxMLA0KICBgcHJvZmlsZV9waWNgIHZhcmNoYXIoMjU1KSBDT0xMQVRFIHV0ZjhtYjRfdW5pY29kZV9jaSBERUZBVUxUIE5VTEwsDQogIGBibG9nX2lkYCB2YXJjaGFyKDUwKSBDT0xMQVRFIHV0ZjhtYjRfdW5pY29kZV9jaSBERUZBVUxUIE5VTEwsDQogIGBvcHRpb25zYCB2YXJjaGFyKDEwMDApIENPTExBVEUgdXRmOG1iNF91bmljb2RlX2NpIERFRkFVTFQgTlVMTA0KKSBFTkdJTkU9SW5ub0RCIERFRkFVTFQgQ0hBUlNFVD11dGY4bWI0IENPTExBVEU9dXRmOG1iNF91bmljb2RlX2NpIFJPV19GT1JNQVQ9Q09NUEFDVDsNCg0KQ1JFQVRFIFRBQkxFIGB7dGFibGVwcmVmaXh9YWNjb3VudF9hY2Nlc3NfdG9rZW5zYCAoDQogIGBpZGAgaW50KDExKSBOT1QgTlVMTCwNCiAgYGFjY291bnRfaWRgIGludCgxMSkgREVGQVVMVCBOVUxMLA0KICBgYXBwX2lkYCBpbnQoMTEpIERFRkFVTFQgTlVMTCwNCiAgYGV4cGlyZXNfb25gIGRhdGV0aW1lIERFRkFVTFQgTlVMTCwNCiAgYGFjY2Vzc190b2tlbmAgdmFyY2hhcigyNTAwKSBDT0xMQVRFIHV0ZjhtYjRfdW5pY29kZV9jaSBERUZBVUxUIE5VTEwsDQogIGBhY2Nlc3NfdG9rZW5fc2VjcmV0YCB2YXJjaGFyKDc1MCkgQ09MTEFURSB1dGY4bWI0X3VuaWNvZGVfY2kgREVGQVVMVCBOVUxMLA0KICBgcmVmcmVzaF90b2tlbmAgdmFyY2hhcigxMDAwKSBDT0xMQVRFIHV0ZjhtYjRfdW5pY29kZV9jaSBERUZBVUxUIE5VTEwNCikgRU5HSU5FPUlubm9EQiBERUZBVUxUIENIQVJTRVQ9dXRmOG1iNCBDT0xMQVRFPXV0ZjhtYjRfdW5pY29kZV9jaSBST1dfRk9STUFUPUNPTVBBQ1Q7DQoNCkNSRUFURSBUQUJMRSBge3RhYmxlcHJlZml4fWFjY291bnRfbm9kZXNgICgNCiAgYGlkYCBpbnQoMTEpIE5PVCBOVUxMLA0KICBgdXNlcl9pZGAgaW50KDExKSBERUZBVUxUIE5VTEwsDQogIGBhY2NvdW50X2lkYCBpbnQoMTEpIERFRkFVTFQgTlVMTCwNCiAgYG5vZGVfdHlwZWAgdmFyY2hhcigyMCkgQ09MTEFURSB1dGY4bWI0X3VuaWNvZGVfY2kgREVGQVVMVCBOVUxMLA0KICBgbm9kZV9pZGAgdmFyY2hhcigzMCkgQ09MTEFURSB1dGY4bWI0X3VuaWNvZGVfY2kgREVGQVVMVCBOVUxMLA0KICBgYWNjZXNzX3Rva2VuYCB2YXJjaGFyKDEwMDApIENPTExBVEUgdXRmOG1iNF91bmljb2RlX2NpIERFRkFVTFQgTlVMTCwNCiAgYG5hbWVgIHZhcmNoYXIoMzUwKSBDT0xMQVRFIHV0ZjhtYjRfdW5pY29kZV9jaSBERUZBVUxUIE5VTEwsDQogIGBhZGRlZF9kYXRlYCB0aW1lc3RhbXAgTlVMTCBERUZBVUxUIENVUlJFTlRfVElNRVNUQU1QLA0KICBgY2F0ZWdvcnlgIHZhcmNoYXIoMjU1KSBDT0xMQVRFIHV0ZjhtYjRfdW5pY29kZV9jaSBERUZBVUxUIE5VTEwsDQogIGBmYW5fY291bnRgIGJpZ2ludCgyMCkgREVGQVVMVCBOVUxMLA0KICBgaXNfcHVibGljYCB0aW55aW50KDEpIERFRkFVTFQgJzEnLA0KICBgY292ZXJgIHZhcmNoYXIoNzUwKSBDT0xMQVRFIHV0ZjhtYjRfdW5pY29kZV9jaSBERUZBVUxUIE5VTEwsDQogIGBkcml2ZXJgIHZhcmNoYXIoNTApIENPTExBVEUgdXRmOG1iNF91bmljb2RlX2NpIERFRkFVTFQgTlVMTCwNCiAgYGJsb2dfaWRgIHZhcmNoYXIoNTApIENPTExBVEUgdXRmOG1iNF91bmljb2RlX2NpIERFRkFVTFQgTlVMTCwNCiAgYHNjcmVlbl9uYW1lYCB2YXJjaGFyKDM1MCkgQ09MTEFURSB1dGY4bWI0X3VuaWNvZGVfY2kgREVGQVVMVCBOVUxMDQopIEVOR0lORT1Jbm5vREIgREVGQVVMVCBDSEFSU0VUPXV0ZjhtYjQgQ09MTEFURT11dGY4bWI0X3VuaWNvZGVfY2kgUk9XX0ZPUk1BVD1DT01QQUNUOw0KDQpDUkVBVEUgVEFCTEUgYHt0YWJsZXByZWZpeH1hcHBzYCAoDQogIGBpZGAgaW50KDExKSBOT1QgTlVMTCwNCiAgYHVzZXJfaWRgIGludCgxMSkgREVGQVVMVCBOVUxMLA0KICBgZHJpdmVyYCB2YXJjaGFyKDUwKSBDT0xMQVRFIHV0ZjhtYjRfdW5pY29kZV9jaSBERUZBVUxUIE5VTEwsDQogIGBhcHBfaWRgIHZhcmNoYXIoMjAwKSBDT0xMQVRFIHV0ZjhtYjRfdW5pY29kZV9jaSBERUZBVUxUIE5VTEwsDQogIGBhcHBfc2VjcmV0YCB2YXJjaGFyKDIwMCkgQ09MTEFURSB1dGY4bWI0X3VuaWNvZGVfY2kgREVGQVVMVCBOVUxMLA0KICBgYXBwX2tleWAgdmFyY2hhcigyMDApIENPTExBVEUgdXRmOG1iNF91bmljb2RlX2NpIERFRkFVTFQgTlVMTCwNCiAgYGFwcF9hdXRoZW50aWNhdGVfbGlua2AgdmFyY2hhcigyMDAwKSBDT0xMQVRFIHV0ZjhtYjRfdW5pY29kZV9jaSBERUZBVUxUIE5VTEwsDQogIGBpc19wdWJsaWNgIHRpbnlpbnQoMSkgREVGQVVMVCBOVUxMLA0KICBgbmFtZWAgdmFyY2hhcigyNTUpIENPTExBVEUgdXRmOG1iNF91bmljb2RlX2NpIERFRkFVTFQgTlVMTCwNCiAgYGlzX3N0YW5kYXJ0YCB0aW55aW50KDEpIERFRkFVTFQgJzAnDQopIEVOR0lORT1Jbm5vREIgREVGQVVMVCBDSEFSU0VUPXV0ZjhtYjQgQ09MTEFURT11dGY4bWI0X3VuaWNvZGVfY2kgUk9XX0ZPUk1BVD1DT01QQUNUOw0KDQpJTlNFUlQgSU5UTyBge3RhYmxlcHJlZml4fWFwcHNgIChgaWRgLCBgdXNlcl9pZGAsIGBkcml2ZXJgLCBgYXBwX2lkYCwgYGFwcF9zZWNyZXRgLCBgYXBwX2tleWAsIGBhcHBfYXV0aGVudGljYXRlX2xpbmtgLCBgaXNfcHVibGljYCwgYG5hbWVgLCBgaXNfc3RhbmRhcnRgKSBWQUxVRVMNCigxLCAwLCAnZmInLCAnNjYyODU2ODM3OScsICdjMWU2MjBmYTcwOGExZDU2OTZmYjk5MWMxYmRlNTY2MicsICczZTdjNzhlMzVhNzZhOTI5OTMwOTg4NTM5M2IwMmQ5NycsIE5VTEwsIDEsICdGYWNlYm9vayBmb3IgaVBob25lJywgMiksDQooMiwgMCwgJ2ZiJywgJzM1MDY4NTUzMTcyOCcsICc2MmY4Y2U5Zjc0YjEyZjg0YzEyM2NjMjM0MzdhNGEzMicsICc4ODJhODQ5MDM2MWRhOTg3MDJiZjk3YTAyMWRkYzE0ZCcsIE5VTEwsIDEsICdGYWNlYm9vayBmb3IgQW5kcm9pZCcsIDIpLA0KKDMsIE5VTEwsICdmYicsICcxOTMyNzgxMjQwNDg4MzMnLCBOVUxMLCBOVUxMLCAnaHR0cHM6Ly93d3cuZmFjZWJvb2suY29tL3YyLjgvZGlhbG9nL29hdXRoP3JlZGlyZWN0X3VyaT1mYmNvbm5lY3Q6Ly9zdWNjZXNzJnNjb3BlPWVtYWlsLHBhZ2VzX3Nob3dfbGlzdCxwdWJsaWNfcHJvZmlsZSx1c2VyX2JpcnRoZGF5LHB1Ymxpc2hfYWN0aW9ucyxtYW5hZ2VfcGFnZXMscHVibGlzaF9wYWdlcyx1c2VyX21hbmFnZWRfZ3JvdXBzJnJlc3BvbnNlX3R5cGU9dG9rZW4sY29kZSZjbGllbnRfaWQ9MTkzMjc4MTI0MDQ4ODMzJywgMSwgJ0hUQyBTZW5zZScsIDMpLA0KKDQsIE5VTEwsICdmYicsICcxNDU2MzQ5OTU1MDE4OTUnLCBOVUxMLCBOVUxMLCAnaHR0cHM6Ly93d3cuZmFjZWJvb2suY29tL3YxLjAvZGlhbG9nL29hdXRoP3JlZGlyZWN0X3VyaT1odHRwczovL3d3dy5mYWNlYm9vay5jb20vY29ubmVjdC9sb2dpbl9zdWNjZXNzLmh0bWwmc2NvcGU9ZW1haWwscGFnZXNfc2hvd19saXN0LHB1YmxpY19wcm9maWxlLHVzZXJfYmlydGhkYXkscHVibGlzaF9hY3Rpb25zLG1hbmFnZV9wYWdlcyxwdWJsaXNoX3BhZ2VzLHVzZXJfbWFuYWdlZF9ncm91cHMmcmVzcG9uc2VfdHlwZT10b2tlbixjb2RlJmNsaWVudF9pZD0xNDU2MzQ5OTU1MDE4OTUnLCAxLCAnR3JhcGggQVBJIGV4cGxvcmVyJywgMyksDQooNSwgTlVMTCwgJ2ZiJywgJzE3NDgyOTAwMzM0NicsIE5VTEwsIE5VTEwsICdodHRwczovL3d3dy5mYWNlYm9vay5jb20vdjEuMC9kaWFsb2cvb2F1dGg/cmVkaXJlY3RfdXJpPWh0dHBzOi8vd3d3LmZhY2Vib29rLmNvbS9jb25uZWN0L2xvZ2luX3N1Y2Nlc3MuaHRtbCZzY29wZT1lbWFpbCxwYWdlc19zaG93X2xpc3QscHVibGljX3Byb2ZpbGUsdXNlcl9iaXJ0aGRheSxwdWJsaXNoX2FjdGlvbnMsbWFuYWdlX3BhZ2VzLHB1Ymxpc2hfcGFnZXMsdXNlcl9tYW5hZ2VkX2dyb3VwcyZyZXNwb25zZV90eXBlPXRva2VuJmNsaWVudF9pZD0xNzQ4MjkwMDMzNDYnLCAxLCAnU3BvdGlmeScsIDMpLA0KKDYsIE5VTEwsICd0d2l0dGVyJywgTlVMTCwgJ3hxNW5KMmdrSkZVZHJvOHpBV1BsYk9PTVB2Q0dMN091ZTdiS3lQRnZQRWsxQm96SFplJywgJ2wwZk9xTVRnRXRPOVVaY0hIVkJ4akJ6Q04nLCBOVUxMLCBOVUxMLCAnRlMgUG9zdGVyIC0gU3RhbmRlcnQgQVBQJywgMSksDQooNywgTlVMTCwgJ2xpbmtlZGluJywgJzg2OWQwazBkbno2YW5pJywgJ3N2RDlTU01nb1IwTjRyN0cnLCBOVUxMLCBOVUxMLCBOVUxMLCAnRlMgUG9zdGVyIC0gU3RhbmRlcnQgQVBQJywgMSksDQooOCwgTlVMTCwgJ3ZrJywgJzY2MDI2MzQnLCAnd2EyaWpIZVpuNGpvcDRscENpRzcnLCBOVUxMLCBOVUxMLCBOVUxMLCAnRlMgUG9zdGVyIC0gU3RhbmRlcnQgQVBQJywgMSksDQooOSwgTlVMTCwgJ3BpbnRlcmVzdCcsICc0OTc4MTI3MzYxNDY0NjE0ODY0JywgJzIwZWEzNWU2MmI4NmZlMzlmMmM5MTExOTJmMjNkMzJhOWE3NzgwNTJkYjZhMTVlN2QyOTc0NmY0ZTEzMjNiNGQnLCBOVUxMLCBOVUxMLCBOVUxMLCAnRlMgUG9zdGVyIC0gU3RhbmRlcnQgQVBQJywgMSksDQooMTAsIE5VTEwsICdyZWRkaXQnLCAnd2xZb3ZCNXZHYldZX3cnLCAnNmlLVk55S2UzS3pLYjJobUt2TW5NT2VxY21RJywgTlVMTCwgTlVMTCwgTlVMTCwgJ0ZTIFBvc3RlciAtIFN0YW5kZXJ0IEFQUCcsIDEpLA0KKDExLCBOVUxMLCAndHVtYmxyJywgJycsICdZMVNyN0pQcTMyQU9tZGx6NGNzendDTEYxRDZjVWxOR3BzbHpXbkdMeXRMQkJMMmNJcycsICdkRVZsVDN3V2ljYkJaTTZmeUFta3I0M0RydjcwNWJrMVVMZUlFOGtGRGZTaWxPb0hNRycsIE5VTEwsIE5VTEwsICdGUyBQb3N0ZXIgLSBTdGFuZGVydCBBUFAnLCAxKTsNCg0KQ1JFQVRFIFRBQkxFIGB7dGFibGVwcmVmaXh9ZmVlZHNgICgNCiAgYGlkYCBpbnQoMTEpIE5PVCBOVUxMLA0KICBgcG9zdF90eXBlYCB2YXJjaGFyKDUwKSBDT0xMQVRFIHV0ZjhtYjRfdW5pY29kZV9jaSBERUZBVUxUIE5VTEwsDQogIGBwb3N0X2lkYCBpbnQoMTEpIERFRkFVTFQgTlVMTCwNCiAgYG5vZGVfaWRgIGludCgxMSkgREVGQVVMVCBOVUxMLA0KICBgbm9kZV90eXBlYCB2YXJjaGFyKDQwKSBDT0xMQVRFIHV0ZjhtYjRfdW5pY29kZV9jaSBERUZBVUxUIE5VTEwsDQogIGBkcml2ZXJgIHZhcmNoYXIoNTApIENPTExBVEUgdXRmOG1iNF91bmljb2RlX2NpIERFRkFVTFQgTlVMTCwNCiAgYGlzX3NlbmRlZGAgdGlueWludCgxKSBERUZBVUxUICcwJywNCiAgYHN0YXR1c2AgdmFyY2hhcigxNSkgQ09MTEFURSB1dGY4bWI0X3VuaWNvZGVfY2kgREVGQVVMVCBOVUxMLA0KICBgZXJyb3JfbXNnYCB2YXJjaGFyKDMwMCkgQ09MTEFURSB1dGY4bWI0X3VuaWNvZGVfY2kgREVGQVVMVCBOVUxMLA0KICBgc2VuZF90aW1lYCB0aW1lc3RhbXAgTlVMTCBERUZBVUxUIENVUlJFTlRfVElNRVNUQU1QLA0KICBgaW50ZXJ2YWxgIGludCgxMSkgREVGQVVMVCBOVUxMLA0KICBgZHJpdmVyX3Bvc3RfaWRgIHZhcmNoYXIoNDUpIENPTExBVEUgdXRmOG1iNF91bmljb2RlX2NpIERFRkFVTFQgTlVMTCwNCiAgYHZpc2l0X2NvdW50YCBpbnQoMTEpIERFRkFVTFQgJzAnLA0KICBgZmVlZF90eXBlYCB2YXJjaGFyKDUwKSBDT0xMQVRFIHV0ZjhtYjRfdW5pY29kZV9jaSBERUZBVUxUIE5VTEwsDQogIGBzY2hlZHVsZV9pZGAgaW50KDExKSBERUZBVUxUIE5VTEwsDQogIGBkcml2ZXJfcG9zdF9pZDJgIHZhcmNoYXIoMjU1KSBDT0xMQVRFIHV0ZjhtYjRfdW5pY29kZV9jaSBERUZBVUxUIE5VTEwsDQogIGBjdXN0b21fcG9zdF9tZXNzYWdlYCB2YXJjaGFyKDI1MDApIENPTExBVEUgdXRmOG1iNF91bmljb2RlX2NpIERFRkFVTFQgTlVMTCwNCiAgYHNsZWVwX3RpbWVfc3RhcnRgIHZhcmNoYXIoMzAwKSBDT0xMQVRFIHV0ZjhtYjRfdW5pY29kZV9jaSBERUZBVUxUIE5VTEwsDQogIGBzbGVlcF90aW1lX2VuZGAgdmFyY2hhcigzMDApIENPTExBVEUgdXRmOG1iNF91bmljb2RlX2NpIERFRkFVTFQgTlVMTCwNCiAgYGJsb2dfaWRgIHZhcmNoYXIoNTApIENPTExBVEUgdXRmOG1iNF91bmljb2RlX2NpIERFRkFVTFQgTlVMTCwNCiAgYHNoYXJlX29uX2JhY2tncm91bmRgIHZhcmNoYXIoMzAwKSBDT0xMQVRFIHV0ZjhtYjRfdW5pY29kZV9jaSBERUZBVUxUIE5VTEwNCikgRU5HSU5FPUlubm9EQiBERUZBVUxUIENIQVJTRVQ9dXRmOG1iNCBDT0xMQVRFPXV0ZjhtYjRfdW5pY29kZV9jaSBST1dfRk9STUFUPUNPTVBBQ1Q7DQoNCkNSRUFURSBUQUJMRSBge3RhYmxlcHJlZml4fXNjaGVkdWxlc2AgKA0KICBgaWRgIGludCgxMSkgTk9UIE5VTEwsDQogIGB1c2VyX2lkYCBpbnQoMTEpIERFRkFVTFQgTlVMTCwNCiAgYHRpdGxlYCB2YXJjaGFyKDI1NSkgQ09MTEFURSB1dGY4bWI0X3VuaWNvZGVfY2kgREVGQVVMVCBOVUxMLA0KICBgc3RhcnRfZGF0ZWAgZGF0ZSBERUZBVUxUIE5VTEwsDQogIGBlbmRfZGF0ZWAgZGF0ZSBERUZBVUxUIE5VTEwsDQogIGBpbnRlcnZhbGAgaW50KDExKSBERUZBVUxUIE5VTEwsDQogIGBzdGF0dXNgIHZhcmNoYXIoNTApIENPTExBVEUgdXRmOG1iNF91bmljb2RlX2NpIERFRkFVTFQgTlVMTCwNCiAgYGZpbHRlcnNgIHZhcmNoYXIoMjAwMCkgQ09MTEFURSB1dGY4bWI0X3VuaWNvZGVfY2kgREVGQVVMVCBOVUxMLA0KICBgYWNjb3VudHNgIHRleHQgQ09MTEFURSB1dGY4bWI0X3VuaWNvZGVfY2ksDQogIGBpbnNlcnRfZGF0ZWAgdGltZXN0YW1wIE5VTEwgREVGQVVMVCBDVVJSRU5UX1RJTUVTVEFNUCwNCiAgYHNoYXJlX3RpbWVgIHRpbWUgREVGQVVMVCBOVUxMLA0KICBgcG9zdF90eXBlX2ZpbHRlcmAgdmFyY2hhcigyMDAwKSBDT0xMQVRFIHV0ZjhtYjRfdW5pY29kZV9jaSBERUZBVUxUIE5VTEwsDQogIGBjYXRlZ29yeV9maWx0ZXJgIHZhcmNoYXIoMjAwMCkgQ09MTEFURSB1dGY4bWI0X3VuaWNvZGVfY2kgREVGQVVMVCBOVUxMLA0KICBgcG9zdF9zb3J0YCB2YXJjaGFyKDUwKSBDT0xMQVRFIHV0ZjhtYjRfdW5pY29kZV9jaSBERUZBVUxUIE5VTEwsDQogIGBwb3N0X2RhdGVfZmlsdGVyYCB2YXJjaGFyKDUwKSBDT0xMQVRFIHV0ZjhtYjRfdW5pY29kZV9jaSBERUZBVUxUIE5VTEwsDQogIGBwb3N0X2lkc2AgdmFyY2hhcigzMDAwKSBDT0xMQVRFIHV0ZjhtYjRfdW5pY29kZV9jaSBERUZBVUxUIE5VTEwsDQogIGBuZXh0X2V4ZWN1dGVfdGltZWAgdmFyY2hhcigyMDApIENPTExBVEUgdXRmOG1iNF91bmljb2RlX2NpIERFRkFVTFQgTlVMTCwNCiAgYGN1c3RvbV9wb3N0X21lc3NhZ2VgIHZhcmNoYXIoMjUwMCkgQ09MTEFURSB1dGY4bWI0X3VuaWNvZGVfY2kgREVGQVVMVCBOVUxMLA0KICBgc2hhcmVfb25fYWNjb3VudHNgIHZhcmNoYXIoMzAwKSBDT0xMQVRFIHV0ZjhtYjRfdW5pY29kZV9jaSBERUZBVUxUIE5VTEwsDQogIGBzbGVlcF90aW1lX3N0YXJ0YCB2YXJjaGFyKDMwMCkgQ09MTEFURSB1dGY4bWI0X3VuaWNvZGVfY2kgREVGQVVMVCBOVUxMLA0KICBgc2xlZXBfdGltZV9lbmRgIHZhcmNoYXIoMzAwKSBDT0xMQVRFIHV0ZjhtYjRfdW5pY29kZV9jaSBERUZBVUxUIE5VTEwsDQogIGBzaGFyZV9vbl9iYWNrZ3JvdW5kYCB2YXJjaGFyKDMwMCkgQ09MTEFURSB1dGY4bWI0X3VuaWNvZGVfY2kgREVGQVVMVCBOVUxMLA0KICBgYmxvZ19pZGAgdmFyY2hhcig1MCkgQ09MTEFURSB1dGY4bWI0X3VuaWNvZGVfY2kgREVGQVVMVCBOVUxMLA0KICBgc2F2ZV9wb3N0X2lkc2AgdmFyY2hhcigzMDAwKSBDT0xMQVRFIHV0ZjhtYjRfdW5pY29kZV9jaSBERUZBVUxUIE5VTEwNCikgRU5HSU5FPUlubm9EQiBERUZBVUxUIENIQVJTRVQ9dXRmOG1iNCBDT0xMQVRFPXV0ZjhtYjRfdW5pY29kZV9jaSBST1dfRk9STUFUPUNPTVBBQ1Q7DQoNCkFMVEVSIFRBQkxFIGB7dGFibGVwcmVmaXh9YWNjb3VudHNgIEFERCBQUklNQVJZIEtFWSAoYGlkYCkgVVNJTkcgQlRSRUU7DQoNCkFMVEVSIFRBQkxFIGB7dGFibGVwcmVmaXh9YWNjb3VudF9hY2Nlc3NfdG9rZW5zYCBBREQgUFJJTUFSWSBLRVkgKGBpZGApIFVTSU5HIEJUUkVFOw0KDQpBTFRFUiBUQUJMRSBge3RhYmxlcHJlZml4fWFjY291bnRfbm9kZXNgIEFERCBQUklNQVJZIEtFWSAoYGlkYCkgVVNJTkcgQlRSRUU7DQoNCkFMVEVSIFRBQkxFIGB7dGFibGVwcmVmaXh9YXBwc2AgQUREIFBSSU1BUlkgS0VZIChgaWRgKSBVU0lORyBCVFJFRTsNCg0KQUxURVIgVEFCTEUgYHt0YWJsZXByZWZpeH1mZWVkc2AgQUREIFBSSU1BUlkgS0VZIChgaWRgKSBVU0lORyBCVFJFRTsNCg0KQUxURVIgVEFCTEUgYHt0YWJsZXByZWZpeH1zY2hlZHVsZXNgIEFERCBQUklNQVJZIEtFWSAoYGlkYCkgVVNJTkcgQlRSRUU7DQoNCg0KQUxURVIgVEFCTEUgYHt0YWJsZXByZWZpeH1hY2NvdW50c2AgTU9ESUZZIGBpZGAgaW50KDExKSBOT1QgTlVMTCBBVVRPX0lOQ1JFTUVOVDsNCg0KQUxURVIgVEFCTEUgYHt0YWJsZXByZWZpeH1hY2NvdW50X2FjY2Vzc190b2tlbnNgIE1PRElGWSBgaWRgIGludCgxMSkgTk9UIE5VTEwgQVVUT19JTkNSRU1FTlQ7DQoNCkFMVEVSIFRBQkxFIGB7dGFibGVwcmVmaXh9YWNjb3VudF9ub2Rlc2AgTU9ESUZZIGBpZGAgaW50KDExKSBOT1QgTlVMTCBBVVRPX0lOQ1JFTUVOVDsNCg0KQUxURVIgVEFCTEUgYHt0YWJsZXByZWZpeH1hcHBzYCBNT0RJRlkgYGlkYCBpbnQoMTEpIE5PVCBOVUxMIEFVVE9fSU5DUkVNRU5ULCBBVVRPX0lOQ1JFTUVOVD0xMjsNCg0KQUxURVIgVEFCTEUgYHt0YWJsZXByZWZpeH1mZWVkc2AgTU9ESUZZIGBpZGAgaW50KDExKSBOT1QgTlVMTCBBVVRPX0lOQ1JFTUVOVDsNCg0KQUxURVIgVEFCTEUgYHt0YWJsZXByZWZpeH1zY2hlZHVsZXNgIE1PRElGWSBgaWRgIGludCgxMSkgTk9UIE5VTEwgQVVUT19JTkNSRU1FTlQ7DQoNCiMNCiMgbGdva3VsIHRhYmxlcw0KIw0KDQpDUkVBVEUgVEFCTEUgYHt0YWJsZXByZWZpeH1hY2NvdW50X3N0YXR1c2AgKA0KICBgaWRgIGludCgxMSkgTk9UIE5VTEwsDQogIGBhY2NvdW50X2lkYCBpbnQoMTEpIE5PVCBOVUxMLA0KICBgdXNlcl9pZGAgaW50KDExKSBERUZBVUxUIE5VTEwsDQogIGBmaWx0ZXJfdHlwZWAgdmFyY2hhcig1MCkgQ09MTEFURSB1dGY4bWI0X3VuaWNvZGVfY2kgREVGQVVMVCBOVUxMLA0KICBgY2F0ZWdvcmllc2AgdmFyY2hhcigyNTUpIENPTExBVEUgdXRmOG1iNF91bmljb2RlX2NpIERFRkFVTFQgTlVMTA0KKSBFTkdJTkU9SW5ub0RCIERFRkFVTFQgQ0hBUlNFVD11dGY4bWI0IENPTExBVEU9dXRmOG1iNF91bmljb2RlX2NpIFJPV19GT1JNQVQ9Q09NUEFDVDsNCg0KQ1JFQVRFIFRBQkxFIGB7dGFibGVwcmVmaXh9YWNjb3VudF9ub2RlX3N0YXR1c2AgKA0KICBgaWRgIGludCgxMSkgTk9UIE5VTEwsDQogIGBub2RlX2lkYCB2YXJjaGFyKDMwKSBDT0xMQVRFIHV0ZjhtYjRfdW5pY29kZV9jaSBERUZBVUxUIE5VTEwsDQogIGB1c2VyX2lkYCBpbnQoMTEpIERFRkFVTFQgTlVMTCwNCiAgYGZpbHRlcl90eXBlYCB2YXJjaGFyKDUwKSBDT0xMQVRFIHV0ZjhtYjRfdW5pY29kZV9jaSBERUZBVUxUIE5VTEwsDQogIGBjYXRlZ29yaWVzYCB2YXJjaGFyKDI1NSkgQ09MTEFURSB1dGY4bWI0X3VuaWNvZGVfY2kgREVGQVVMVCBOVUxMDQopIEVOR0lORT1Jbm5vREIgREVGQVVMVCBDSEFSU0VUPXV0ZjhtYjQgQ09MTEFURT11dGY4bWI0X3VuaWNvZGVfY2kgUk9XX0ZPUk1BVD1DT01QQUNUOw0KDQpDUkVBVEUgVEFCTEUgYHt0YWJsZXByZWZpeH1hY2NvdW50X3Nlc3Npb25zYCAoDQogIGBpZGAgaW50KDExKSBOT1QgTlVMTCwNCiAgYGRyaXZlcmAgdmFyY2hhcig1MCkgQ09MTEFURSB1dGY4bWI0X3VuaWNvZGVfY2kgREVGQVVMVCBOVUxMLA0KICBgdXNlcm5hbWVgIHZhcmNoYXIoMTAwKSBDT0xMQVRFIHV0ZjhtYjRfdW5pY29kZV9jaSBERUZBVUxUIE5VTEwsDQogIGBzZXR0aW5nc2AgdmFyY2hhcigyNTAwKSBDT0xMQVRFIHV0ZjhtYjRfdW5pY29kZV9jaSBERUZBVUxUIE5VTEwsDQogIGBjb29raWVzYCB2YXJjaGFyKDEwMDApIENPTExBVEUgdXRmOG1iNF91bmljb2RlX2NpIERFRkFVTFQgTlVMTA0KKSBFTkdJTkU9SW5ub0RCIERFRkFVTFQgQ0hBUlNFVD11dGY4bWI0IENPTExBVEU9dXRmOG1iNF91bmljb2RlX2NpIFJPV19GT1JNQVQ9Q09NUEFDVDsNCg0KDQpBTFRFUiBUQUJMRSBge3RhYmxlcHJlZml4fWFjY291bnRfc3RhdHVzYCBBREQgUFJJTUFSWSBLRVkgKGBpZGApIFVTSU5HIEJUUkVFOw0KDQpBTFRFUiBUQUJMRSBge3RhYmxlcHJlZml4fWFjY291bnRfbm9kZV9zdGF0dXNgIEFERCBQUklNQVJZIEtFWSAoYGlkYCkgVVNJTkcgQlRSRUU7DQoNCkFMVEVSIFRBQkxFIGB7dGFibGVwcmVmaXh9YWNjb3VudF9zZXNzaW9uc2AgQUREIFBSSU1BUlkgS0VZIChgaWRgKSBVU0lORyBCVFJFRTsNCg0KDQpBTFRFUiBUQUJMRSBge3RhYmxlcHJlZml4fWFjY291bnRfc3RhdHVzYCBNT0RJRlkgYGlkYCBpbnQoMTEpIE5PVCBOVUxMIEFVVE9fSU5DUkVNRU5UOw0KDQpBTFRFUiBUQUJMRSBge3RhYmxlcHJlZml4fWFjY291bnRfbm9kZV9zdGF0dXNgIE1PRElGWSBgaWRgIGludCgxMSkgTk9UIE5VTEwgQVVUT19JTkNSRU1FTlQ7DQoNCkFMVEVSIFRBQkxFIGB7dGFibGVwcmVmaXh9YWNjb3VudF9zZXNzaW9uc2AgTU9ESUZZIGBpZGAgaW50KDExKSBOT1QgTlVMTCBBVVRPX0lOQ1JFTUVOVDsNCg=="}';

        $result = json_decode($result2 , true);

        if( !is_array( $result ) )
        {
            if( empty( $result2 ) )
            {
                return [ false , 'Your server can not access our license server via CURL! Our license server is "' . htmlspecialchars(FS_API_URL) . '". Please contact your hosting provider/server administrator and ask them to solve the problem. If you are sure that problem is not your server/hosting side then contact FS Poster administrators.' ];
            }

            return [ false , 'Installation error! Rosponse error! Response: ' . htmlspecialchars($result2) ];
        }

        if( !($result['status'] == 'ok' && isset($result['sql'])) )
        {
            return [ false , isset($result['error_msg']) ? $result['error_msg'] : 'Error! Response: ' . htmlspecialchars($result2) ];
        }

        $sql = str_replace( ['{tableprefix}', '{tableprefixbase}'] , [(DB::DB()->base_prefix . DB::PLUGIN_DB_PREFIX), DB::DB()->base_prefix] , base64_decode($result['sql']) );

        foreach( explode(';' , $sql) AS $sqlQueryOne )
        {
            $checkIfEmpty = preg_replace('/\s/', '', $sqlQueryOne);
            if( !empty( $checkIfEmpty ) )
            {
                DB::DB()->query( $sqlQueryOne );
            }
        }

        Helper::setOption('poster_plugin_installed', Helper::getVersion(), true );
        Helper::setOption('poster_plugin_purchase_key', $code, true );

        return [ true ];
    }

}


Activate and intent now
 
AdBlock Detected

We get it, advertisements are annoying!

However in order to keep our huge array of resources free of charge we need to generate income from ads so to use the site you will need to turn off your adblocker.

If you'd like to have an ad free experience you can become a Babiato Lover by donating as little as $5 per month. Click on the Donate menu tab for more info.

I've Disabled AdBlock