<?php
// From: Social Share Media
// BSD 3 Clause License
// Check us out : https://g...content-available-to-author-only...b.com/bradvin/social-share-urls
class SocialMedia
{
# All Social Media Sites
# -------------------------------------------------
# All Social Media Sites ~ Nice Names
# -------------------------------------------------
public function GetSocialMediaSites_NiceNames( )
{
return [
'add.this' => 'AddThis' ,
'blogger' => 'Blogger' ,
'buffer' => 'Buffer' ,
'diaspora' => 'Diaspora' ,
'digg' => 'Digg' ,
'douban' => 'Douban' ,
'email' => 'EMail' ,
'evernote' => 'EverNote' ,
'getpocket' => 'Pocket' ,
'facebook' => 'FaceBook' ,
'flattr' => 'Flattr' ,
'flipboard' => 'FlipBoard' ,
'google.bookmarks' => 'GoogleBookmarks' ,
'instapaper' => 'InstaPaper' ,
'line.me' => 'Line.me' ,
'linkedin' => 'LinkedIn' ,
'livejournal' => 'LiveJournal' ,
'gmail' => 'GMail' ,
'hacker.news' => 'HackerNews' ,
'ok.ru' => 'OK.ru' ,
'pinterest.com' => 'Pinterest' ,
'google.plus' => 'GooglePlus' ,
'qzone' => 'QZone' ,
'reddit' => 'Reddit' ,
'renren' => 'RenRen' ,
'skype' => 'Skype' ,
'sms' => 'SMS' ,
'stumbleupon' => 'StumbleUpon' ,
'surfingbird.ru' => 'SurfingBird.ru' ,
'telegram.me' => 'Telegram.me' ,
'threema' => 'Threema' ,
'tumblr' => 'Tumblr' ,
'twitter' => 'Twitter' ,
'vk' => 'VK' ,
'weibo' => 'Weibo' ,
'xing' => 'Xing' ,
'yahoo' => 'Yahoo' ,
] ;
}
# Social Media Sites With Share Links
# -------------------------------------------------
public function GetSocialMediaSites_WithShareLinks_OrderedByPopularity( )
{
return [
'google.plus' ,
'google.bookmarks' ,
'facebook' ,
'reddit' ,
'twitter' ,
'linkedin' ,
'tumblr' ,
'pinterest' ,
'blogger' ,
'livejournal' ,
'evernote' ,
'add.this' ,
'getpocket' ,
'hacker.news' ,
'stumbleupon' ,
'digg' ,
'buffer' ,
'flipboard' ,
'instapaper' ,
'surfingbird.ru' ,
'flattr' ,
'diaspora' ,
'qzone' ,
'vk' ,
'weibo' ,
'ok.ru' ,
'douban' ,
'xing' ,
'renren' ,
'threema' ,
'sms' ,
'line.me' ,
'skype' ,
'telegram.me' ,
'email' ,
'gmail' ,
'yahoo' ,
] ;
}
public function GetSocialMediaSites_WithShareLinks_OrderedByAlphabet( )
{
$nice_names = $this -> GetSocialMediaSites_NiceNames ( ) ;
}
# Social Media Site Links With Share Links
# -------------------------------------------------
public function GetSocialMediaSiteLinks_WithShareLinks( $args )
{
$redirect_url = urlencode ( $args [ 'redirecturl' ] ) ; $phone_number = urlencode ( $args [ 'phonenumber' ] ) ; $email_address = urlencode ( $args [ 'emailaddress' ] ) ; $cc_email_address = urlencode ( $args [ 'ccemailaddress' ] ) ; $bcc_email_address = urlencode ( $args [ 'bccemailaddress' ] ) ;
$text = $title ;
if ( $desc ) {
$text .= '%20%3A%20' ; # This is just this, " : "
$text .= $desc ;
}
// conditional check before arg appending
return [
'add.this' => 'http://w...content-available-to-author-only...s.com/bookmark.php?url=' . $url ,
'blogger' => 'https://w...content-available-to-author-only...r.com/blog-this.g?u=' . $url . '&n=' . $title . '&t=' . $desc ,
'buffer' => 'https://b...content-available-to-author-only...r.com/add?text=' . $text . '&url=' . $url ,
'diaspora' => 'https://s...content-available-to-author-only...n.org/?title=' . $title . '&url=' . $url ,
'digg' => 'http://d...content-available-to-author-only...g.com/submit?url=' . $url . '&title=' . $text ,
'douban' => 'http://w...content-available-to-author-only...n.com/recommend/?url=' . $url . '&title=' . $text ,
'email' => 'mailto:' . $email_address . '?subject=' . $title . '&body=' . $desc ,
'evernote' => 'http://w...content-available-to-author-only...e.com/clip.action?url=' . $url . '&title=' . $text ,
'getpocket' => 'https://g...content-available-to-author-only...t.com/edit?url=' . $url ,
'facebook' => 'http://w...content-available-to-author-only...k.com/sharer.php?u=' . $url ,
'flattr' => 'https://f...content-available-to-author-only...r.com/submit/auto?user_id=' . $user_id . '&url=' . $url . '&title=' . $title . '&description=' . $text . '&language=' . $language . '&tags=' . $hash_tags . '&hidden=HIDDEN&category=' . $category ,
'flipboard' => 'https://s...content-available-to-author-only...d.com/bookmarklet/popout?v=2&title=' . $text . '&url=' . $url ,
'gmail' => 'https://mail.google.com/mail/?view=cm&to=' . $email_address . '&su=' . $title . '&body=' . $url . '&bcc=' . $bcc_email_address . '&cc=' . $cc_email_address ,
'google.bookmarks' => 'https://www.google.com/bookmarks/mark?op=edit&bkmk=' . $url . '&title=' . $title . '&annotation=' . $text . '&labels=' . $hash_tags . '' ,
'instapaper' => 'http://w...content-available-to-author-only...r.com/edit?url=' . $url . '&title=' . $title . '&description=' . $desc ,
'line.me' => 'https://l...content-available-to-author-only...e.me/share/ui?url=' . $url . '&text=' . $text ,
'linkedin' => 'https://w...content-available-to-author-only...n.com/shareArticle?mini=true&url=' . $url . '&title=' . $title . '&summary=' . $text . '&source=' . $provider ,
'livejournal' => 'http://w...content-available-to-author-only...l.com/update.bml?subject=' . $text . '&event=' . $url ,
'hacker.news' => 'https://n...content-available-to-author-only...r.com/submitlink?u=' . $url . '&t=' . $title ,
'ok.ru' => 'https://c...content-available-to-author-only...k.ru/dk?st.cmd=WidgetSharePreview&st.shareUrl=' . $url ,
'pinterest' => 'http://p...content-available-to-author-only...t.com/pin/create/button/?url=' . $url ,
'google.plus' => 'https://plus.google.com/share?url=' . $url . '&text=' . $text . '&hl=' . $language ,
'qzone' => 'http://s...content-available-to-author-only...q.com/cgi-bin/qzshare/cgi_qzshare_onekey?url=' . $url ,
'reddit' => 'https://r...content-available-to-author-only...t.com/submit?url=' . $url . '&title=' . $title ,
'renren' => 'http://w...content-available-to-author-only...n.com/dialog/share?resourceUrl=' . $url . '&srcUrl=' . $url . '&title=' . $text . '&description=' . $desc ,
'skype' => 'https://w...content-available-to-author-only...e.com/share?url=' . $url . '&text=' . $text ,
'sms' => 'sms:' . $phone_number . '?body=' . $text ,
'stumbleupon' => 'http://w...content-available-to-author-only...n.com/submit?url=' . $url . '&title=' . $text ,
'surfingbird.ru' => 'http://s...content-available-to-author-only...d.ru/share?url=' . $url . '&description=' . $desc . '&screenshot=' . $image . '&title=' . $title ,
'telegram.me' => 'https://content-available-to-author-only.me/share/url?url=' . $url . '&text=' . $text . '&to=' . $phone_number ,
'threema' => 'threema://compose?text=' . $text . '&id=' . $user_id ,
'tumblr' => 'https://w...content-available-to-author-only...r.com/widgets/share/tool?canonicalUrl=' . $url . '&title=' . $title . '&caption=' . $desc . '&tags=' . $hash_tags ,
'twitter' => 'https://t...content-available-to-author-only...r.com/intent/tweet?url=' . $url . '&text=' . $text . '&via=' . $via . '&hashtags=' . $hash_tags ,
'vk' => 'http://content-available-to-author-only.com/share.php?url=' . $url . '&title=' . $title . '&comment=' . $desc ,
'weibo' => 'http://s...content-available-to-author-only...o.com/share/share.php?url=' . $url . '&appkey=&title=' . $title . '&pic=&ralateUid=' ,
'xing' => 'https://w...content-available-to-author-only...g.com/app/user?op=share&url=' . $url ,
'yahoo' => 'http://c...content-available-to-author-only...o.com/?to=' . $email_address . '&subject=' . $title . '&body=' . $text ,
] ;
}
}
$socmed = new SocialMedia( ) ;
$social_media_names = $socmed -> GetSocialMediaSites_WithShareLinks_OrderedByPopularity ( ) ;
$social_media_urls = $socmed -> GetSocialMediaSiteLinks_WithShareLinks ( [
url=> 'http://w...content-available-to-author-only...t.com/' ,
title=> 'EarthFluent' ,
] ) ;
foreach ( $social_media_names as $social_media_name ) {
$social_media_url = $social_media_urls [ $social_media_name ] ;
print ( $social_media_name . ' : ' . $social_media_url . "\n \n " ) ;
}
?>
PD9waHAKCgkJLy8gRnJvbTogU29jaWFsIFNoYXJlIE1lZGlhCgkJLy8gQlNEIDMgQ2xhdXNlIExpY2Vuc2UKCQkvLyBDaGVjayB1cyBvdXQgOiBodHRwczovL2cuLi5jb250ZW50LWF2YWlsYWJsZS10by1hdXRob3Itb25seS4uLmIuY29tL2JyYWR2aW4vc29jaWFsLXNoYXJlLXVybHMKCgljbGFzcyBTb2NpYWxNZWRpYQoJewoJCQkJCSMgQWxsIFNvY2lhbCBNZWRpYSBTaXRlcwoJCQkJCSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoJCQoJCQkJIyBBbGwgU29jaWFsIE1lZGlhIFNpdGVzIH4gTmljZSBOYW1lcwoJCQkJIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgkJCQkKCQlwdWJsaWMgZnVuY3Rpb24gR2V0U29jaWFsTWVkaWFTaXRlc19OaWNlTmFtZXMoKQoJCXsKCQkJcmV0dXJuIFsKCQkJCSdhZGQudGhpcyc9PidBZGRUaGlzJywKCQkJCSdibG9nZ2VyJz0+J0Jsb2dnZXInLAoJCQkJJ2J1ZmZlcic9PidCdWZmZXInLAoJCQkJJ2RpYXNwb3JhJz0+J0RpYXNwb3JhJywKCQkJCSdkaWdnJz0+J0RpZ2cnLAoJCQkJJ2RvdWJhbic9PidEb3ViYW4nLAoJCQkJJ2VtYWlsJz0+J0VNYWlsJywKCQkJCSdldmVybm90ZSc9PidFdmVyTm90ZScsCgkJCQknZ2V0cG9ja2V0Jz0+J1BvY2tldCcsCgkJCQknZmFjZWJvb2snPT4nRmFjZUJvb2snLAoJCQkJJ2ZsYXR0cic9PidGbGF0dHInLAoJCQkJJ2ZsaXBib2FyZCc9PidGbGlwQm9hcmQnLAoJCQkJJ2dvb2dsZS5ib29rbWFya3MnPT4nR29vZ2xlQm9va21hcmtzJywKCQkJCSdpbnN0YXBhcGVyJz0+J0luc3RhUGFwZXInLAoJCQkJJ2xpbmUubWUnPT4nTGluZS5tZScsCgkJCQknbGlua2VkaW4nPT4nTGlua2VkSW4nLAoJCQkJJ2xpdmVqb3VybmFsJz0+J0xpdmVKb3VybmFsJywKCQkJCSdnbWFpbCc9PidHTWFpbCcsCgkJCQknaGFja2VyLm5ld3MnPT4nSGFja2VyTmV3cycsCgkJCQknb2sucnUnPT4nT0sucnUnLAoJCQkJJ3BpbnRlcmVzdC5jb20nPT4nUGludGVyZXN0JywKCQkJCSdnb29nbGUucGx1cyc9PidHb29nbGVQbHVzJywKCQkJCSdxem9uZSc9PidRWm9uZScsCgkJCQkncmVkZGl0Jz0+J1JlZGRpdCcsCgkJCQkncmVucmVuJz0+J1JlblJlbicsCgkJCQknc2t5cGUnPT4nU2t5cGUnLAoJCQkJJ3Ntcyc9PidTTVMnLAoJCQkJJ3N0dW1ibGV1cG9uJz0+J1N0dW1ibGVVcG9uJywKCQkJCSdzdXJmaW5nYmlyZC5ydSc9PidTdXJmaW5nQmlyZC5ydScsCgkJCQkndGVsZWdyYW0ubWUnPT4nVGVsZWdyYW0ubWUnLAoJCQkJJ3RocmVlbWEnPT4nVGhyZWVtYScsCgkJCQkndHVtYmxyJz0+J1R1bWJscicsCgkJCQkndHdpdHRlcic9PidUd2l0dGVyJywKCQkJCSd2ayc9PidWSycsCgkJCQknd2VpYm8nPT4nV2VpYm8nLAoJCQkJJ3hpbmcnPT4nWGluZycsCgkJCQkneWFob28nPT4nWWFob28nLAoJCQldOwoJCX0KCQkKCQkJCSMgU29jaWFsIE1lZGlhIFNpdGVzIFdpdGggU2hhcmUgTGlua3MKCQkJCSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoJCQoJCXB1YmxpYyBmdW5jdGlvbiBHZXRTb2NpYWxNZWRpYVNpdGVzX1dpdGhTaGFyZUxpbmtzX09yZGVyZWRCeVBvcHVsYXJpdHkoKQoJCXsKCQkJcmV0dXJuIFsKCQkJCSdnb29nbGUucGx1cycsCgkJCQknZ29vZ2xlLmJvb2ttYXJrcycsCgkJCQknZmFjZWJvb2snLAoJCQkJJ3JlZGRpdCcsCgkJCQkndHdpdHRlcicsCgkJCQknbGlua2VkaW4nLAoJCQkJJ3R1bWJscicsCgkJCQkncGludGVyZXN0JywKCQkJCSdibG9nZ2VyJywKCQkJCSdsaXZlam91cm5hbCcsCgkJCQknZXZlcm5vdGUnLAoJCQkJJ2FkZC50aGlzJywKCQkJCSdnZXRwb2NrZXQnLAoJCQkJJ2hhY2tlci5uZXdzJywKCQkJCSdzdHVtYmxldXBvbicsCgkJCQknZGlnZycsCgkJCQknYnVmZmVyJywKCQkJCSdmbGlwYm9hcmQnLAoJCQkJJ2luc3RhcGFwZXInLAoJCQkJJ3N1cmZpbmdiaXJkLnJ1JywKCQkJCSdmbGF0dHInLAoJCQkJJ2RpYXNwb3JhJywKCQkJCSdxem9uZScsCgkJCQkndmsnLAoJCQkJJ3dlaWJvJywKCQkJCSdvay5ydScsCgkJCQknZG91YmFuJywKCQkJCSd4aW5nJywKCQkJCSdyZW5yZW4nLAoJCQkJJ3RocmVlbWEnLAoJCQkJJ3NtcycsCgkJCQknbGluZS5tZScsCgkJCQknc2t5cGUnLAoJCQkJJ3RlbGVncmFtLm1lJywKCQkJCSdlbWFpbCcsCgkJCQknZ21haWwnLAoJCQkJJ3lhaG9vJywKCQkJXTsKCQl9CgkJCgkJcHVibGljIGZ1bmN0aW9uIEdldFNvY2lhbE1lZGlhU2l0ZXNfV2l0aFNoYXJlTGlua3NfT3JkZXJlZEJ5QWxwaGFiZXQoKQoJCXsKCQkJJG5pY2VfbmFtZXMgPSAkdGhpcy0+R2V0U29jaWFsTWVkaWFTaXRlc19OaWNlTmFtZXMoKTsKCQkJCgkJCXJldHVybiBhcnJheV9rZXlzKCRuaWNlX25hbWVzKTsKCQl9CgkJCgkJCQkjIFNvY2lhbCBNZWRpYSBTaXRlIExpbmtzIFdpdGggU2hhcmUgTGlua3MKCQkJCSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoJCQoJCXB1YmxpYyBmdW5jdGlvbiBHZXRTb2NpYWxNZWRpYVNpdGVMaW5rc19XaXRoU2hhcmVMaW5rcygkYXJncykKCQl7CgkJCSR1cmwgPSB1cmxlbmNvZGUoJGFyZ3NbJ3VybCddKTsKCQkJJHRpdGxlID0gdXJsZW5jb2RlKCRhcmdzWyd0aXRsZSddKTsKCQkJJGltYWdlID0gdXJsZW5jb2RlKCRhcmdzWydpbWFnZSddKTsKCQkJJGRlc2MgPSB1cmxlbmNvZGUoJGFyZ3NbJ2Rlc2MnXSk7CgkJCSRhcHBfaWQgPSB1cmxlbmNvZGUoJGFyZ3NbJ2FwcGlkJ10pOwoJCQkkcmVkaXJlY3RfdXJsID0gdXJsZW5jb2RlKCRhcmdzWydyZWRpcmVjdHVybCddKTsKCQkJJHZpYSA9IHVybGVuY29kZSgkYXJnc1sndmlhJ10pOwoJCQkkaGFzaF90YWdzID0gdXJsZW5jb2RlKCRhcmdzWydoYXNodGFncyddKTsKCQkJJHByb3ZpZGVyID0gdXJsZW5jb2RlKCRhcmdzWydwcm92aWRlciddKTsKCQkJJGxhbmd1YWdlID0gdXJsZW5jb2RlKCRhcmdzWydsYW5ndWFnZSddKTsKCQkJJHVzZXJfaWQgPSB1cmxlbmNvZGUoJGFyZ3NbJ3VzZXJpZCddKTsKCQkJJGNhdGVnb3J5ID0gdXJsZW5jb2RlKCRhcmdzWydjYXRlZ29yeSddKTsKCQkJJHBob25lX251bWJlciA9IHVybGVuY29kZSgkYXJnc1sncGhvbmVudW1iZXInXSk7CgkJCSRlbWFpbF9hZGRyZXNzID0gdXJsZW5jb2RlKCRhcmdzWydlbWFpbGFkZHJlc3MnXSk7CgkJCSRjY19lbWFpbF9hZGRyZXNzID0gdXJsZW5jb2RlKCRhcmdzWydjY2VtYWlsYWRkcmVzcyddKTsKCQkJJGJjY19lbWFpbF9hZGRyZXNzID0gdXJsZW5jb2RlKCRhcmdzWydiY2NlbWFpbGFkZHJlc3MnXSk7CgkJCQoJCQkkdGV4dCA9ICR0aXRsZTsKCQkJCgkJCWlmKCRkZXNjKSB7CgkJCQkkdGV4dCAuPSAnJTIwJTNBJTIwJzsJIyBUaGlzIGlzIGp1c3QgdGhpcywgIiA6ICIKCQkJCSR0ZXh0IC49ICRkZXNjOwoJCQl9CgkJCQoJCQkJLy8gY29uZGl0aW9uYWwgY2hlY2sgYmVmb3JlIGFyZyBhcHBlbmRpbmcKCQkJCgkJCXJldHVybiBbCgkJCQknYWRkLnRoaXMnPT4naHR0cDovL3cuLi5jb250ZW50LWF2YWlsYWJsZS10by1hdXRob3Itb25seS4uLnMuY29tL2Jvb2ttYXJrLnBocD91cmw9JyAuICR1cmwsCgkJCQknYmxvZ2dlcic9PidodHRwczovL3cuLi5jb250ZW50LWF2YWlsYWJsZS10by1hdXRob3Itb25seS4uLnIuY29tL2Jsb2ctdGhpcy5nP3U9JyAuICR1cmwgLiAnJm49JyAuICR0aXRsZSAuICcmdD0nIC4gJGRlc2MsCgkJCQknYnVmZmVyJz0+J2h0dHBzOi8vYi4uLmNvbnRlbnQtYXZhaWxhYmxlLXRvLWF1dGhvci1vbmx5Li4uci5jb20vYWRkP3RleHQ9JyAuICR0ZXh0IC4gJyZ1cmw9JyAuICR1cmwsCgkJCQknZGlhc3BvcmEnPT4naHR0cHM6Ly9zLi4uY29udGVudC1hdmFpbGFibGUtdG8tYXV0aG9yLW9ubHkuLi5uLm9yZy8/dGl0bGU9JyAuICR0aXRsZSAuICcmdXJsPScgLiAkdXJsLAoJCQkJJ2RpZ2cnPT4naHR0cDovL2QuLi5jb250ZW50LWF2YWlsYWJsZS10by1hdXRob3Itb25seS4uLmcuY29tL3N1Ym1pdD91cmw9JyAuICR1cmwgLiAnJnRpdGxlPScgLiAkdGV4dCwKCQkJCSdkb3ViYW4nPT4naHR0cDovL3cuLi5jb250ZW50LWF2YWlsYWJsZS10by1hdXRob3Itb25seS4uLm4uY29tL3JlY29tbWVuZC8/dXJsPScgLiAkdXJsIC4gJyZ0aXRsZT0nIC4gJHRleHQsCgkJCQknZW1haWwnPT4nbWFpbHRvOicgLiAkZW1haWxfYWRkcmVzcyAuICc/c3ViamVjdD0nIC4gJHRpdGxlIC4gJyZib2R5PScgLiAkZGVzYywKCQkJCSdldmVybm90ZSc9PidodHRwOi8vdy4uLmNvbnRlbnQtYXZhaWxhYmxlLXRvLWF1dGhvci1vbmx5Li4uZS5jb20vY2xpcC5hY3Rpb24/dXJsPScgLiAkdXJsIC4gJyZ0aXRsZT0nIC4gJHRleHQsCgkJCQknZ2V0cG9ja2V0Jz0+J2h0dHBzOi8vZy4uLmNvbnRlbnQtYXZhaWxhYmxlLXRvLWF1dGhvci1vbmx5Li4udC5jb20vZWRpdD91cmw9JyAuICR1cmwsCgkJCQknZmFjZWJvb2snPT4naHR0cDovL3cuLi5jb250ZW50LWF2YWlsYWJsZS10by1hdXRob3Itb25seS4uLmsuY29tL3NoYXJlci5waHA/dT0nIC4gJHVybCwKCQkJCSdmbGF0dHInPT4naHR0cHM6Ly9mLi4uY29udGVudC1hdmFpbGFibGUtdG8tYXV0aG9yLW9ubHkuLi5yLmNvbS9zdWJtaXQvYXV0bz91c2VyX2lkPScgLiAkdXNlcl9pZCAuICcmdXJsPScgLiAkdXJsIC4gJyZ0aXRsZT0nIC4gJHRpdGxlIC4gJyZkZXNjcmlwdGlvbj0nIC4gJHRleHQgLiAnJmxhbmd1YWdlPScgLiAkbGFuZ3VhZ2UgLiAnJnRhZ3M9JyAuICRoYXNoX3RhZ3MgLiAnJmhpZGRlbj1ISURERU4mY2F0ZWdvcnk9JyAuICRjYXRlZ29yeSwKCQkJCSdmbGlwYm9hcmQnPT4naHR0cHM6Ly9zLi4uY29udGVudC1hdmFpbGFibGUtdG8tYXV0aG9yLW9ubHkuLi5kLmNvbS9ib29rbWFya2xldC9wb3BvdXQ/dj0yJnRpdGxlPScgLiAkdGV4dCAuICcmdXJsPScgLiAkdXJsLCAKCQkJCSdnbWFpbCc9PidodHRwczovL21haWwuZ29vZ2xlLmNvbS9tYWlsLz92aWV3PWNtJnRvPScgLiAkZW1haWxfYWRkcmVzcyAuICcmc3U9JyAuICR0aXRsZSAuICcmYm9keT0nIC4gJHVybCAuICcmYmNjPScgLiAkYmNjX2VtYWlsX2FkZHJlc3MgLiAnJmNjPScgLiAkY2NfZW1haWxfYWRkcmVzcywKCQkJCSdnb29nbGUuYm9va21hcmtzJz0+J2h0dHBzOi8vd3d3Lmdvb2dsZS5jb20vYm9va21hcmtzL21hcms/b3A9ZWRpdCZia21rPScgLiAkdXJsIC4gJyZ0aXRsZT0nIC4gJHRpdGxlIC4gJyZhbm5vdGF0aW9uPScgLiAkdGV4dCAuICcmbGFiZWxzPScgLiAkaGFzaF90YWdzIC4gJycsCgkJCQknaW5zdGFwYXBlcic9PidodHRwOi8vdy4uLmNvbnRlbnQtYXZhaWxhYmxlLXRvLWF1dGhvci1vbmx5Li4uci5jb20vZWRpdD91cmw9JyAuICR1cmwgLiAnJnRpdGxlPScgLiAkdGl0bGUgLiAnJmRlc2NyaXB0aW9uPScgLiAkZGVzYywKCQkJCSdsaW5lLm1lJz0+J2h0dHBzOi8vbC4uLmNvbnRlbnQtYXZhaWxhYmxlLXRvLWF1dGhvci1vbmx5Li4uZS5tZS9zaGFyZS91aT91cmw9JyAuICR1cmwgLiAnJnRleHQ9JyAuICR0ZXh0LAoJCQkJJ2xpbmtlZGluJz0+J2h0dHBzOi8vdy4uLmNvbnRlbnQtYXZhaWxhYmxlLXRvLWF1dGhvci1vbmx5Li4ubi5jb20vc2hhcmVBcnRpY2xlP21pbmk9dHJ1ZSZ1cmw9JyAuICR1cmwgLiAnJnRpdGxlPScgLiAkdGl0bGUgLiAnJnN1bW1hcnk9JyAuICR0ZXh0IC4gJyZzb3VyY2U9JyAuICRwcm92aWRlciwKCQkJCSdsaXZlam91cm5hbCc9PidodHRwOi8vdy4uLmNvbnRlbnQtYXZhaWxhYmxlLXRvLWF1dGhvci1vbmx5Li4ubC5jb20vdXBkYXRlLmJtbD9zdWJqZWN0PScgLiAkdGV4dCAuICcmZXZlbnQ9JyAuICR1cmwsCgkJCQknaGFja2VyLm5ld3MnPT4naHR0cHM6Ly9uLi4uY29udGVudC1hdmFpbGFibGUtdG8tYXV0aG9yLW9ubHkuLi5yLmNvbS9zdWJtaXRsaW5rP3U9JyAuICR1cmwgLiAnJnQ9JyAuICR0aXRsZSwKCQkJCSdvay5ydSc9PidodHRwczovL2MuLi5jb250ZW50LWF2YWlsYWJsZS10by1hdXRob3Itb25seS4uLmsucnUvZGs/c3QuY21kPVdpZGdldFNoYXJlUHJldmlldyZzdC5zaGFyZVVybD0nIC4gJHVybCwKCQkJCSdwaW50ZXJlc3QnPT4naHR0cDovL3AuLi5jb250ZW50LWF2YWlsYWJsZS10by1hdXRob3Itb25seS4uLnQuY29tL3Bpbi9jcmVhdGUvYnV0dG9uLz91cmw9JyAuICR1cmwgLAoJCQkJJ2dvb2dsZS5wbHVzJz0+J2h0dHBzOi8vcGx1cy5nb29nbGUuY29tL3NoYXJlP3VybD0nIC4gJHVybCAuICcmdGV4dD0nIC4gJHRleHQgLiAnJmhsPScgLiAkbGFuZ3VhZ2UsCgkJCQkncXpvbmUnPT4naHR0cDovL3MuLi5jb250ZW50LWF2YWlsYWJsZS10by1hdXRob3Itb25seS4uLnEuY29tL2NnaS1iaW4vcXpzaGFyZS9jZ2lfcXpzaGFyZV9vbmVrZXk/dXJsPScgLiAkdXJsLAoJCQkJJ3JlZGRpdCc9PidodHRwczovL3IuLi5jb250ZW50LWF2YWlsYWJsZS10by1hdXRob3Itb25seS4uLnQuY29tL3N1Ym1pdD91cmw9JyAuICR1cmwgLiAnJnRpdGxlPScgLiAkdGl0bGUsCgkJCQkncmVucmVuJz0+J2h0dHA6Ly93Li4uY29udGVudC1hdmFpbGFibGUtdG8tYXV0aG9yLW9ubHkuLi5uLmNvbS9kaWFsb2cvc2hhcmU/cmVzb3VyY2VVcmw9JyAuICR1cmwgLiAnJnNyY1VybD0nIC4gJHVybCAuICcmdGl0bGU9JyAuICR0ZXh0IC4gJyZkZXNjcmlwdGlvbj0nIC4gJGRlc2MsCgkJCQknc2t5cGUnPT4naHR0cHM6Ly93Li4uY29udGVudC1hdmFpbGFibGUtdG8tYXV0aG9yLW9ubHkuLi5lLmNvbS9zaGFyZT91cmw9JyAuICR1cmwgLiAnJnRleHQ9JyAuICR0ZXh0LAoJCQkJJ3Ntcyc9PidzbXM6JyAuICRwaG9uZV9udW1iZXIgLiAnP2JvZHk9JyAuICR0ZXh0LAoJCQkJJ3N0dW1ibGV1cG9uJz0+J2h0dHA6Ly93Li4uY29udGVudC1hdmFpbGFibGUtdG8tYXV0aG9yLW9ubHkuLi5uLmNvbS9zdWJtaXQ/dXJsPScgLiAkdXJsIC4gJyZ0aXRsZT0nIC4gJHRleHQsCgkJCQknc3VyZmluZ2JpcmQucnUnPT4naHR0cDovL3MuLi5jb250ZW50LWF2YWlsYWJsZS10by1hdXRob3Itb25seS4uLmQucnUvc2hhcmU/dXJsPScgLiAkdXJsIC4gJyZkZXNjcmlwdGlvbj0nIC4gJGRlc2MgLiAnJnNjcmVlbnNob3Q9JyAuICRpbWFnZSAuICcmdGl0bGU9JyAuICR0aXRsZSwKCQkJCSd0ZWxlZ3JhbS5tZSc9PidodHRwczovL2NvbnRlbnQtYXZhaWxhYmxlLXRvLWF1dGhvci1vbmx5Lm1lL3NoYXJlL3VybD91cmw9JyAuICR1cmwgLiAnJnRleHQ9JyAuICR0ZXh0IC4gJyZ0bz0nIC4gJHBob25lX251bWJlciwKCQkJCSd0aHJlZW1hJz0+J3RocmVlbWE6Ly9jb21wb3NlP3RleHQ9JyAuICR0ZXh0IC4gJyZpZD0nIC4gJHVzZXJfaWQsCgkJCQkndHVtYmxyJz0+J2h0dHBzOi8vdy4uLmNvbnRlbnQtYXZhaWxhYmxlLXRvLWF1dGhvci1vbmx5Li4uci5jb20vd2lkZ2V0cy9zaGFyZS90b29sP2Nhbm9uaWNhbFVybD0nIC4gJHVybCAuICcmdGl0bGU9JyAuICR0aXRsZSAuICcmY2FwdGlvbj0nIC4gJGRlc2MgLiAnJnRhZ3M9JyAuICRoYXNoX3RhZ3MsCgkJCQkndHdpdHRlcic9PidodHRwczovL3QuLi5jb250ZW50LWF2YWlsYWJsZS10by1hdXRob3Itb25seS4uLnIuY29tL2ludGVudC90d2VldD91cmw9JyAuICR1cmwgLiAnJnRleHQ9JyAuICR0ZXh0IC4gJyZ2aWE9JyAuICR2aWEgLiAnJmhhc2h0YWdzPScgLiAkaGFzaF90YWdzLAoJCQkJJ3ZrJz0+J2h0dHA6Ly9jb250ZW50LWF2YWlsYWJsZS10by1hdXRob3Itb25seS5jb20vc2hhcmUucGhwP3VybD0nIC4gJHVybCAuICcmdGl0bGU9JyAuICR0aXRsZSAuICcmY29tbWVudD0nIC4gJGRlc2MsCgkJCQknd2VpYm8nPT4naHR0cDovL3MuLi5jb250ZW50LWF2YWlsYWJsZS10by1hdXRob3Itb25seS4uLm8uY29tL3NoYXJlL3NoYXJlLnBocD91cmw9JyAuICR1cmwgLiAnJmFwcGtleT0mdGl0bGU9JyAuICR0aXRsZSAuICcmcGljPSZyYWxhdGVVaWQ9JywKCQkJCSd4aW5nJz0+J2h0dHBzOi8vdy4uLmNvbnRlbnQtYXZhaWxhYmxlLXRvLWF1dGhvci1vbmx5Li4uZy5jb20vYXBwL3VzZXI/b3A9c2hhcmUmdXJsPScgLiAkdXJsLAoJCQkJJ3lhaG9vJz0+J2h0dHA6Ly9jLi4uY29udGVudC1hdmFpbGFibGUtdG8tYXV0aG9yLW9ubHkuLi5vLmNvbS8/dG89JyAuICRlbWFpbF9hZGRyZXNzIC4gJyZzdWJqZWN0PScgLiAkdGl0bGUgLiAnJmJvZHk9JyAuICR0ZXh0LAoJCQldOwoJCX0KCX0KCQoJJHNvY21lZCA9IG5ldyBTb2NpYWxNZWRpYSgpOwoKCSRzb2NpYWxfbWVkaWFfbmFtZXMgPSAkc29jbWVkLT5HZXRTb2NpYWxNZWRpYVNpdGVzX1dpdGhTaGFyZUxpbmtzX09yZGVyZWRCeVBvcHVsYXJpdHkoKTsKCSRzb2NpYWxfbWVkaWFfdXJscyA9ICRzb2NtZWQtPkdldFNvY2lhbE1lZGlhU2l0ZUxpbmtzX1dpdGhTaGFyZUxpbmtzKFsKCQl1cmw9PidodHRwOi8vdy4uLmNvbnRlbnQtYXZhaWxhYmxlLXRvLWF1dGhvci1vbmx5Li4udC5jb20vJywKCQl0aXRsZT0+J0VhcnRoRmx1ZW50JywKCV0pOwoJCglmb3JlYWNoKCRzb2NpYWxfbWVkaWFfbmFtZXMgYXMgJHNvY2lhbF9tZWRpYV9uYW1lKSB7CgkJJHNvY2lhbF9tZWRpYV91cmwgPSAkc29jaWFsX21lZGlhX3VybHNbJHNvY2lhbF9tZWRpYV9uYW1lXTsKCgkJcHJpbnQoJHNvY2lhbF9tZWRpYV9uYW1lIC4gJyA6ICcgLiAkc29jaWFsX21lZGlhX3VybCAuICJcblxuIik7Cgl9Cgo/Pg==