FS Poster - Best Auto Poster & Scheduler Plugin For WordPress

FS Poster — Auto Poster & Scheduler Plugin For WordPress v7.1.8

No permission to download

Suhoff78

Member
Feb 16, 2020
40
4
8
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?
 

lgokul

Well-known member
Babiato Lover
Null Master
Trusted Uploader
Jun 26, 2019
998
1,600
93
32
Planeta Vegeta

farhang8480

New member
Sep 28, 2019
22
1
3
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
 

lgokul

Well-known member
Babiato Lover
Null Master
Trusted Uploader
Jun 26, 2019
998
1,600
93
32
Planeta Vegeta
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?
 

farhang8480

New member
Sep 28, 2019
22
1
3
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

lgokul

Well-known member
Babiato Lover
Null Master
Trusted Uploader
Jun 26, 2019
998
1,600
93
32
Planeta Vegeta
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
 

farhang8480

New member
Sep 28, 2019
22
1
3
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

lgokul

Well-known member
Babiato Lover
Null Master
Trusted Uploader
Jun 26, 2019
998
1,600
93
32
Planeta Vegeta
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.
 

farhang8480

New member
Sep 28, 2019
22
1
3
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
 

farhang8480

New member
Sep 28, 2019
22
1
3
if i use proxy in
Add new instagram account
is ok?

how can use and find proxy for setup account
free proxy
 

lgokul

Well-known member
Babiato Lover
Null Master
Trusted Uploader
Jun 26, 2019
998
1,600
93
32
Planeta Vegeta
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
 

About us

  • Our community has been around for many years and pride ourselves on offering unbiased, critical discussion among people of all different backgrounds. We are working every day to make sure our community is one of the best.

Quick Navigation

User Menu