Go to main content

Textpattern CMS support forum

You are not logged in. Register | Login | Help

#1 2016-05-06 08:51:38

nuevoruido
New Member
Registered: 2016-05-06
Posts: 2

hdd_facebook_link down, anyone got a copy or something similiar?

Hey there,

I was too happy to find the hdd_facebook_link plugin (http://textpattern.org/plugins/1210/hdd_fb_link).
Sadly both the download link and the link to the authors page are down.

Has anyone a copy of it which they could send me? Or a plugin with similiar functionality? I want to read facebook posts and publish them as news on my webside!

Thanks a lot!
Tom

Offline

#2 2016-05-06 09:11:57

jakob
Admin
From: Germany
Registered: 2005-01-20
Posts: 4,595
Website

Re: hdd_facebook_link down, anyone got a copy or something similiar?

web.archive.org has a copy :-) (direct link)

Pasted here for posterity:

# Name: hdd_fb_link v1.3.2 
# Type: Public side plugin
# Facebook Link pulls a Facebook Page wall data for custom display and can access Facebook photo albums.
# Author: Ron Hickson
# URL: http://www.hicksondesign.com
# Recommended load order: 5

# .....................................................................
# This is a plugin for Textpattern - http://textpattern.com/
# To install: textpattern > admin > plugins
# Paste the following text into the 'Install plugin' box:
# .....................................................................

YToxNDp7czo0OiJuYW1lIjtzOjExOiJoZGRfZmJfbGluayI7czo3OiJ2ZXJzaW9uIjtzOjU6
IjEuMy4yIjtzOjg6InJldmlzaW9uIjtzOjA6IiI7czo2OiJhdXRob3IiO3M6MTE6IlJvbiBI
aWNrc29uIjtzOjEwOiJhdXRob3JfdXJpIjtzOjI4OiJodHRwOi8vd3d3LmhpY2tzb25kZXNp
Z24uY29tIjtzOjExOiJkZXNjcmlwdGlvbiI7czoxMDI6IkZhY2Vib29rIExpbmsgcHVsbHMg
YSBGYWNlYm9vayBQYWdlIHdhbGwgZGF0YSBmb3IgY3VzdG9tIGRpc3BsYXkgYW5kIGNhbiBh
Y2Nlc3MgRmFjZWJvb2sgcGhvdG8gYWxidW1zLiI7czo1OiJvcmRlciI7czoxOiI1IjtzOjQ6
InR5cGUiO3M6MToiMCI7czo1OiJmbGFncyI7czowOiIiO3M6MTA6ImxvYWRfb3JkZXIiO3M6
MToiNSI7czo0OiJoZWxwIjtzOjgyOTY6Igk8aDE+UGx1Z2luIEluc3RydWN0aW9uczwvaDE+
CgoJPHA+VGhlIEZhY2Vib29rIExpbmsgcGx1Z2luIHB1bGxzIGRhdGEgZnJvbSBhIEZhY2Vi
b29rIFBhZ2UgaW50byB5b3VyIHdlYnNpdGUgZm9yIGN1c3RvbWl6ZWQgZGlzcGxheS4gIFBs
ZWFzZSBub3RlIHRoaXMgb25seSB3b3JrcyB3aXRoIEZhY2Vib29rIFBhZ2VzIG5vdCBub3Jt
YWwgdXNlcnMuPC9wPgoKCTxoMT5UaGUgRmVlZDwvaDE+CgoJPHA+UGxhY2UgdGhlIDxjb2Rl
PiZsdDt0eHA6aGRkX2ZiX2ZlZWQgcGFnZT0mIzM5O1lPVVIgUEFHRSBOQU1FIE9SIElEJiMz
OTsgbGltaXQ9JiMzOTsxMCYjMzk7Jmd0OzwvY29kZT4gYW55d2hlcmUgaW4geW91ciB0ZW1w
bGF0ZSB3aXRoIHRoZSB2YXJpYWJsZSB0YWdzIGluIGJldHdlZW4uICBEb24mIzgyMTc7dCBm
b3JnZXQgdG8gY2xvc2UgdGhlIHRhZyB3aXRoIDxjb2RlPiZsdDsvdHhwOmhkZF9mYl9mZWVk
Jmd0OzwvY29kZT4uPC9wPgoKCTxoMj5QYXJhbWV0ZXJzPC9oMj4KCgk8cD4JPHVsPgoJCTxs
aT4mIzgyMTI7IHBhZ2UgPGVtPihyZXF1aXJlZCk8L2VtPjogIFVzZSB0aGUgbnVtZXJpY2Fs
IElEIG9mIHRoZSBGYWNlYm9vayBQYWdlLjwvbGk+CgkJPGxpPiYjODIxMjsgbGltaXQgPGVt
PihvcHRpb25hbCk8L2VtPjogIExpbWl0IHRoZSBudW1iZXIgb2YgcG9zdHMgZGlzcGxheWVk
LiAgQnkgZGVmYXVsdCB0aGlzIGlzIHNldCB0byA1LjwvbGk+CgkJPGxpPiYjODIxMjsgb3du
ZXJfb25seSA8ZW0+KG9wdGlvbmFsKTwvZW0+OiAgQWxsb3dzIHlvdSB0byBkaXNwbGF5IG9u
bHkgcG9zdHMgYnkgdGhlIFBhZ2Ugb3duZXIuICBCeSBkZWZhdWx0IHRoaXMgaXMgc2V0IHRv
IG5vLiBTZXQgaXQgdG8gJiM4MjE2O3llcyYjODIxNzsgdG8gZGlzcGxheSBvbmx5IHBvc3Rz
IGJ5IHRoZSBwYWdlIGl0c2VsZi48L2xpPgoJCTxsaT4mIzgyMTI7IHdyYXB0YWcgPGVtPihv
cHRpb25hbCk8L2VtPjogVGhpcyB3b3JrcyBsaWtlIHN0YW5kYXJkIGl0IGRvZXMgaW4gYW55
IHN0YW5kYXJkIDxzcGFuIGNsYXNzPSJjYXBzIj5UWFA8L3NwYW4+IHRhZy4gIFRoZSB0YWcg
aXMgd3JhcHBlZCBpbiB0aGUgdGFnIHNwZWNpZmllZC48L2xpPgoJCTxsaT4mIzgyMTI7IGNs
YXNzIDxlbT4ob3B0aW9uYWwpPC9lbT46IFRoaXMgYXBwbGllcyBhIGNsYXNzIHRvIHRoZSB0
YWcgYmVpbmcgZGlzcGxheWVkLjwvbGk+Cgk8L3VsPjwvcD4KCgk8aDI+VmFyaWFibGUgVGFn
czwvaDI+CgoJPHA+VGhlIGZvbGxvd2luZyB0YWdzIGNhbiBiZSB1c2VkIGluc2lkZSB0aGUg
bWFpbiBmZWVkIHRhZy4gIFRoZSA8c3BhbiBjbGFzcz0iY2FwcyI+VFhQPC9zcGFuPiB3cmFw
dGFnPSYjODIxNzsgJiM4MjE2OyBhbmQgY2xhc3M9JiM4MjE3OyAmIzgyMTY7IGZ1bmN0aW9u
cyBhcmUgYXZhaWxhYmxlIG9uIG1vc3QgdGFncy4gIEFuIGV4Y2VwdGlvbiBpcyA8Y29kZT4m
bHQ7dHhwOmhkZF9mYl9saW5rJmd0OzwvY29kZT4sIHdoaWNoIGRvZXMgbm90IGV4Y2VwdCBl
aXRoZXIgc2luY2UgaXQgcmVuZGVycyB3aXRoIHRoZSA8Y29kZT4mbHQ7YSZndDs8L2NvZGU+
IHRhZy4gIEluIHN0YW5kYXJkIDxzcGFuIGNsYXNzPSJjYXBzIj5UWFA8L3NwYW4+IHdheSBh
bnkgdGFnIHRoYXQgZG9lcyBub3QgaGF2ZSBhbiBpdGVtIGluIHRoZSBwb3N0IHdpbGwgbm90
IGRpc3BsYXkgKHNvIG5vIGVtcHR5IHdyYXB0YWdzIG9yIGNsYXNzZXMgYXJlIGNyZWF0ZWQp
LjwvcD4KCgk8cD4JPHVsPgoJCTxsaT48Y29kZT4mbHQ7dHhwOmhkZF9mYl9mcm9tIC8mZ3Q7
PC9jb2RlPiAmIzgyMTE7IERpc3BsYXlzIHRoZSBuYW1lIG9mIHRoZSBpbmRpdmlkdWFsIHdo
byBwb3N0ZWQuPC9saT4KCQk8bGk+PGNvZGU+Jmx0O3R4cDpoZGRfZmJfcHJvZmlsZV9saW5r
IC8mZ3Q7PC9jb2RlPiAmIzgyMTE7IERpc3BsYXlzIHRoZSBsaW5rIHRvIHRoZSBwb3N0ZXJz
IHByb2ZpbGUuICBUaGlzIGlzIHdyYXBwZWQgaW4gYW4gPGNvZGU+Jmx0O2EgaHJlZiZndDs8
L2NvZGU+IHRhZyBhbmQgdXNlcyB0aGUgcG9zdGVycyBuYW1lIGFzIHRoZSBsaW5rIHRleHQu
ICBJZiB5b3Ugd2FudCB0aGUgcmF3IDxzcGFuIGNsYXNzPSJjYXBzIj5VUkw8L3NwYW4+IHRv
IGRvIHdpdGggYXMgeW91IHBsZWFzZSwgdGhlbiB1c2UgdGhlIHBhcmFtZXRlciB1cmw9JiM4
MjE2OzEmIzgyMTc7LjwvbGk+CgkJPGxpPjxjb2RlPiZsdDt0eHA6aGRkX2ZiX3Byb2ZpbGVf
cGljIC8mZ3Q7PC9jb2RlPiAmIzgyMTE7IERpc3BsYXlzIHRoZSB0aHVtYm5haWwgcHJvZmls
ZSBwaWMgb2YgdGhlIGluZGl2aWR1YWwgd2hvIHBvc3RlZC48L2xpPgoJCTxsaT48Y29kZT4m
bHQ7dHhwOmhkZF9mYl9tZXNzYWdlIC8mZ3Q7PC9jb2RlPiAmIzgyMTE7IERpc3BsYXlzIHRo
ZSBtZXNzYWdlIG9mIHRoZSBwb3N0IGlmIGl0IGV4aXN0cy48L2xpPgoJCTxsaT48Y29kZT4m
bHQ7dHhwOmhkZF9mYl9wb3N0X2xpbmsgLyZndDs8L2NvZGU+ICYjODIxMTsgRGlzcGxheXMg
dGhlIGxpbmsgdGhhdCB3YXMgcG9zdGVkLiAgVGhpcyBpcyB3cmFwcGVkIGluIGFuIDxjb2Rl
PiZsdDthIGhyZWYmZ3Q7PC9jb2RlPiB0YWcgYW5kIG11c3QgYmUgY2xvc2VkIHdpdGggPGNv
ZGU+Jmx0Oy90eHA6aGRkX2ZiX3Bvc3RfbGluayZndDs8L2NvZGU+IGJ5IGRlZmF1bHQuICBQ
bGFjZSB0aGUgdGV4dCBmb3IgbGluayBpbiBiZXR3ZWVuIChvciB1c2UgYW5vdGhlciB0YWcp
LiAgSWYgeW91IHdhbnQgdGhlIHJhdyA8c3BhbiBjbGFzcz0iY2FwcyI+VVJMPC9zcGFuPiB0
byBkbyB3aXRoIGFzIHlvdSBwbGVhc2UsIHRoZW4gdXNlIHRoZSBwYXJhbWV0ZXIgdXJsPSYj
ODIxNjsxJiM4MjE3Oy48L2xpPgoJCTxsaT48Y29kZT4mbHQ7dHhwOmhkZF9mYl9kZXNjcmlw
dGlvbiAvJmd0OzwvY29kZT4gJiM4MjExOyBEaXNwbGF5cyB0aGUgZGVzY3JpcHRpb24gb2Yg
dGhlIGxpbmsgb3IgdmlkZW8gc2hhcmVkLjwvbGk+CgkJPGxpPjxjb2RlPiZsdDt0eHA6aGRk
X2ZiX3BpY3R1cmUgLyZndDs8L2NvZGU+ICYjODIxMTsgRGlzcGxheXMgdGhlIHBob3RvIHRo
YXQgd2FzIHBvc3RlZC48L2xpPgoJCTxsaT48Y29kZT4mbHQ7dHhwOmhkZF9mYl9zb3VyY2Ug
LyZndDs8L2NvZGU+ICYjODIxMTsgRGlzcGxheXMgdGhlIHZpZGVvIHRoYXQgd2FzIHBvc3Rl
ZC48L2xpPgoJCTxsaT48Y29kZT4mbHQ7dHhwOmhkZF9mYl9vYmplY3RfbmFtZSAvJmd0Ozwv
Y29kZT4gJiM4MjExOyBEaXNwbGF5cyB0aGUgbmFtZSBvZiB0aGUgb2JqZWN0IHBvc3RlZCAm
IzgyMTE7IHZpZGVvLCBsaW5rLCBvciBhbGJ1bS48L2xpPgoJCTxsaT48Y29kZT4mbHQ7dHhw
OmhkZF9mYl9jcmVhdGVkIC8mZ3Q7PC9jb2RlPiAmIzgyMTE7IERpc3BsYXlzIHRoZSB0aW1l
IG9mIHRoZSBwb3N0LiAgVGhpcyB0YWcgYWxzbyBhY2NlcHRzIGEgZm9ybWF0PSYjODIxNzsg
JiM4MjE2OyBwYXJhbWV0ZXIuICBUaGUgZm9ybWF0IGNhbiBiZSBhbnl0aGluZyBzdXBwb3J0
ZWQgYnkgdGhlIDxzcGFuIGNsYXNzPSJjYXBzIj5QSFA8L3NwYW4+IGZ1bmN0aW9uIHN0cmZ0
aW1lLjwvbGk+CgkJPGxpPjxjb2RlPiZsdDt0eHA6aGRkX2ZiX3VwZGF0ZWQgLyZndDs8L2Nv
ZGU+ICYjODIxMTsgRGlzcGxheXMgdGhlIGxhc3QgdXBkYXRlIHRpbWUgb2YgdGhlIHBvc3Qu
ICBUaGlzIHRhZyBhbHNvIGFjY2VwdHMgYSBmb3JtYXQ9JiM4MjE3OyAmIzgyMTY7IHBhcmFt
ZXRlci4gIFRoZSBmb3JtYXQgY2FuIGJlIGFueXRoaW5nIHN1cHBvcnRlZCBieSB0aGUgPHNw
YW4gY2xhc3M9ImNhcHMiPlBIUDwvc3Bhbj4gZnVuY3Rpb24gc3RyZnRpbWUuPC9saT4KCQk8
bGk+PGNvZGU+Jmx0O3R4cDpoZGRfZmJfbGlrZXMgLyZndDs8L2NvZGU+ICYjODIxMTsgRGlz
cGxheXMgdGhlIGxpa2VzIGNvdW50IGZvciB0aGUgY3VycmVudCBwb3N0LjwvbGk+CgkJPGxp
Pjxjb2RlPiZsdDt0eHA6aGRkX2ZiX2NvbW1lbnRzIC8mZ3Q7PC9jb2RlPiAmIzgyMTE7IERp
c3BsYXlzIHRoZSBjb21tZW50cyBjb3VudCBmb3IgdGhlIGN1cnJlbnQgcG9zdC48L2xpPgoJ
PC91bD48L3A+CgoJPGgyPlNwZWNpYWwgVGFnczwvaDI+CgoJPHA+PHNwYW4gY2xhc3M9ImNh
cHMiPlRYUDwvc3Bhbj4gZG9lcyBhIGdvb2Qgam9iIG9mIG5vdCBzaG93aW5nIHRoZSB3cmFw
dGFnIG9yIGNsYXNzIGlzIG5vIGRhdGEgaXMgcHJlc2VudCBidXQgaWYgeW91IG5lZWQgdG8g
ZmlsdGVyIHRoZSByZXN1bHRzIGhlcmUgYXJlIHR3byBjb25kaXRpb25hbCB0YWdzLiAgVGhl
IDxzcGFuIGNsYXNzPSJjYXBzIj5UWFA8L3NwYW4+IHRhZyA8Y29kZT4mbHQ7dHhwOmVsc2Ug
LyZndDs8L2NvZGU+IGlzIGFsc28gc3VwcG9ydGVkIGJ5IHRoZXNlLjwvcD4KCgk8cD4JPHVs
PgoJCTxsaT48Y29kZT4mbHQ7dHhwOmhkZF9mYl9pZiZndDs8L2NvZGU+ICYjODIxMTsgVGhp
cyB0YWcgYWNjZXB0cyBhbnkgb2YgdGhlIGFib3ZlIHZhcmlhYmxlcywgd2l0aG91dCB0aGUg
PGNvZGU+dHhwOmhkZDwvY29kZT4sIGFzIGEgcGFyYW1ldGVyLiBVc2UgdGhpcyB0byBwYXJz
ZSBkYXRhIGRpZmZlcmVudGx5IGZvciBkaWZmZXJlbnQgdmFyaWFibGUgdmFsdWVzLiAgRm9y
IGV4YW1wbGUgZGlzcGxheWluZyBkaWZmZXJlbnRseSBiYXNlZCBvbiB0eXBlIG9mIHBvc3Qu
ICBVc2UgaXQgbGlrZSBhIGNvbmRpdGlvbmFsIGFuZCBkb24mIzgyMTc7dCBmb3JnZXQgdG8g
Y2xvc2UgaXQgKDxjb2RlPiZsdDsvdHhwOmhkZF9mYl9pZiZndDs8L2NvZGU+KS48L2xpPgoJ
CTxsaT48Y29kZT4mbHQ7dHhwOmhkZF9mYl9ub3QmZ3Q7PC9jb2RlPiAmIzgyMTE7IFRoaXMg
dGFnIGZ1bmN0aW9ucyBleGFjdGx5IGxpa2UgdGhlIG9uZSBhYm92ZSBleGNlcHQgaXQgZG9l
cyBhICYjODIyMDtub3QgZXF1YWwmIzgyMjE7IGNvbXBhcmlzb24uICBVc2UgaXQgbGlrZSBh
IGNvbmRpdGlvbmFsIGFuZCBkb24mIzgyMTc7dCBmb3JnZXQgdG8gY2xvc2UgaXQgKDxjb2Rl
PiZsdDsvdHhwOmhkZF9mYl9ub3QmZ3Q7PC9jb2RlPikuPC9saT4KCTwvdWw+PC9wPgoKCTxo
MT5UaGUgQWxidW08L2gxPgoKCTxwPlBsYWNlIHRoZSA8Y29kZT4mbHQ7dHhwOmhkZF9mYl9h
bGJ1bSBvd25lcj0mIzM5O1lPVVIgUEFHRSBOQU1FIE9SIElEJiMzOTsgYWxidW09JiMzOTtZ
T1VSIEFMQlVNIE5BTUUmIzM5OyBsaW1pdD0mIzM5OzEwJiMzOTsmZ3Q7PC9jb2RlPiBhbnl3
aGVyZSBpbiB5b3VyIHRlbXBsYXRlIHdpdGggdGhlIHZhcmlhYmxlIHRhZ3MgaW4gYmV0d2Vl
bi4gIERvbiYjODIxNzt0IGZvcmdldCB0byBjbG9zZSB0aGUgdGFnIHdpdGggPGNvZGU+Jmx0
Oy90eHA6aGRkX2ZiX2FsYnVtJmd0OzwvY29kZT4uPC9wPgoKCTxoMj5QYXJhbWV0ZXJzPC9o
Mj4KCgk8cD4JPHVsPgoJCTxsaT4mIzgyMTI7IG93bmVyIDxlbT4ocmVxdWlyZWQpPC9lbT46
ICBVc2UgdGhlIG51bWVyaWNhbCBJRCBvZiB0aGUgRmFjZWJvb2sgUGFnZSB0aGF0IG93bnMg
dGhlIGFsYnVtLjwvbGk+CgkJPGxpPiYjODIxMjsgYWxidW0gPGVtPihyZXF1aXJlZCk8L2Vt
PjogIFRoZSBuYW1lIG9mIHRoZSBhbGJ1bSB5b3Ugd2lzaCB0byBwdWxsIHBob3RvcyBmcm9t
LjwvbGk+CgkJPGxpPiYjODIxMjsgbGltaXQgPGVtPihvcHRpb25hbCk8L2VtPjogIExpbWl0
IHRoZSBudW1iZXIgb2YgcG9zdHMgZGlzcGxheWVkLiAgQnkgZGVmYXVsdCB0aGlzIGlzIHNl
dCB0byA1LjwvbGk+CgkJPGxpPiYjODIxMjsgd3JhcHRhZyA8ZW0+KG9wdGlvbmFsKTwvZW0+
OiBUaGlzIHdvcmtzIGxpa2UgaXQgZG9lcyBpbiBhbnkgc3RhbmRhcmQgPHNwYW4gY2xhc3M9
ImNhcHMiPlRYUDwvc3Bhbj4gdGFnLiAgVGhlIGFsYnVtIGlzIHdyYXBwZWQgaW4gdGhlIHRh
ZyBzcGVjaWZpZWQuPC9saT4KCQk8bGk+JiM4MjEyOyBjbGFzcyA8ZW0+KG9wdGlvbmFsKTwv
ZW0+OiBUaGlzIGFwcGxpZXMgYSBjbGFzcyB0byB0aGUgd3JhcHRhZyBiZWluZyBkaXNwbGF5
ZWQuPC9saT4KCTwvdWw+PC9wPgoKCTxoMj5WYXJpYWJsZSBUYWdzPC9oMj4KCgk8cD5UaGUg
Zm9sbG93aW5nIHRhZ3MgY2FuIGJlIHVzZWQgaW5zaWRlIHRoZSBtYWluIGZlZWQgdGFnLiAg
VGhlIDxzcGFuIGNsYXNzPSJjYXBzIj5UWFA8L3NwYW4+IHdyYXB0YWc9JiM4MjE3OyAmIzgy
MTY7IGFuZCBjbGFzcz0mIzgyMTc7ICYjODIxNjsgZnVuY3Rpb25zIGFyZSBhdmFpbGFibGUg
b24gYWxsIHRhZ3MgZXhjZXB0IDxjb2RlPiZsdDt0eHA6aGRkX2ltZ19saW5rJmd0OzwvY29k
ZT4sIDxjb2RlPiZsdDt0eHA6aGRkX2ltZ19zbWFsbF91cmwgLyZndDs8L2NvZGU+LCBhbmQg
PGNvZGU+Jmx0O3R4cDpoZGRfaW1nX2JpZ191cmwgLyZndDs8L2NvZGU+LjwvcD4KCgk8cD4J
PHVsPgoJCTxsaT48Y29kZT4mbHQ7dHhwOmhkZF9pbWdfc21hbGwgLyZndDs8L2NvZGU+ICYj
ODIxMjsgT3V0cHV0cyB0aGUgdGh1bWJuYWlsIGltYWdlLiAgSXQgd2lsbCBhY2NlcHQgdGhl
IHBhcmFtZXRlciB1cmw9JiM4MjE3OyAmIzgyMTY7LiAgSWYgeW91IHVzZSB1cmw9JiM4MjE2
OzEmIzgyMTc7IGl0IHdpbGwgb3V0cHV0IHRoZSBpbWFnZSA8c3BhbiBjbGFzcz0iY2FwcyI+
VVJMPC9zcGFuPiB3aXRob3V0IGFuIDxzcGFuIGNsYXNzPSJjYXBzIj5JTUc8L3NwYW4+IHRh
Zy48L2xpPgoJCTxsaT48Y29kZT4mbHQ7dHhwOmhkZF9pbWdfYmlnIC8mZ3Q7PC9jb2RlPiAm
IzgyMTI7IE91dHB1dHMgdGhlIGZ1bGwtc2l6ZSBpbWFnZS4gIEl0IHdpbGwgYWNjZXB0IHRo
ZSBwYXJhbWV0ZXIgdXJsPSYjODIxNzsgJiM4MjE2Oy4gIElmIHlvdSB1c2UgdXJsPSYjODIx
NjsxJiM4MjE3OyBpdCB3aWxsIG91dHB1dCB0aGUgaW1hZ2UgPHNwYW4gY2xhc3M9ImNhcHMi
PlVSTDwvc3Bhbj4gd2l0aG91dCBhbiA8c3BhbiBjbGFzcz0iY2FwcyI+SU1HPC9zcGFuPiB0
YWcuPC9saT4KCQk8bGk+PGNvZGU+Jmx0O3R4cDpoZGRfaW1nX2xpbmsmZ3Q7PC9jb2RlPiAm
IzgyMTI7IE91dHB1dHMgdGhlIGxpbmsgdG8gdGhlIHBob3RvIG9uIEZhY2Vib29rLiAgVGhp
cyBpcyBhIHRhZyBwYWlyIG1lYW5pbmcgeW91IGNhbiBwbGFjZSB0aGUgdGV4dCBvciBpbWFn
ZSBpbiB0aGUgbWlkZGxlIG9mIHRoZSB0YWdzLiAgRXhhbXBsZSwgPGNvZGU+Jmx0O3R4cDpo
ZGRfaW1nX2xpbmsmZ3Q7Jmx0O3R4cDpoZGRfaW1nX3NtYWxsIC8mZ3Q7Jmx0Oy90eHA6aGRk
X2ltZ19saW5rJmd0OzwvY29kZT4uPC9saT4KCQk8bGk+PGNvZGU+Jmx0O3R4cDpoZGRfaW1n
X2NhcHRpb24gLyZndDs8L2NvZGU+ICYjODIxMjsgT3V0cHV0cyB0aGUgY2FwdGlvbiBvZiB0
aGUgaW1hZ2UgaWYgb25lIGlzIHByZXNlbnQuPC9saT4KCQk8bGk+PGNvZGU+Jmx0O3R4cDpo
ZGRfaW1nX2NyZWF0ZWQgLyZndDs8L2NvZGU+ICYjODIxMjsgT3V0cHV0cyB0aGUgdGltZSB0
aGUgaW1hZ2Ugd2FzIHBvc3RlZC4gIFRoaXMgdGFnIGFsc28gYWNjZXB0cyBhIGZvcm1hdD0m
IzgyMTc7ICYjODIxNjsgcGFyYW1ldGVyLiAgVGhlIGZvcm1hdCBjYW4gYmUgYW55dGhpbmcg
c3VwcG9ydGVkIGJ5IHRoZSA8c3BhbiBjbGFzcz0iY2FwcyI+UEhQPC9zcGFuPiBmdW5jdGlv
biBzdHJmdGltZS48L2xpPgoJPC91bD48L3A+CgoJPGgyPlNwZWNpYWwgVGFnczwvaDI+CgoJ
PHA+PHNwYW4gY2xhc3M9ImNhcHMiPlRYUDwvc3Bhbj4gZG9lcyBhIGdvb2Qgam9iIG9mIG5v
dCBzaG93aW5nIHRoZSB3cmFwdGFnIG9yIGNsYXNzIGlmIG5vIGRhdGEgaXMgcHJlc2VudCBi
dXQgaWYgeW91IG5lZWQgdG8gZmlsdGVyIHRoZSByZXN1bHRzIGhlcmUgYXJlIHR3byBjb25k
aXRpb25hbCB0YWdzLjwvcD4KCgk8cD4JPHVsPgoJCTxsaT48Y29kZT4mbHQ7dHhwOmhkZF9p
bWdfaWYmZ3Q7PC9jb2RlPiAmIzgyMTE7IFRoaXMgdGFnIGFjY2VwdHMgYW55IG9mIHRoZSBh
Ym92ZSB2YXJpYWJsZXMsIDxjb2RlPiZsdDt0eHA6aGRkX2ltZ19pZiBpbWdfY2FwdGlvbj0m
IzM5O0NBUFRJT04gVEVYVCYjMzk7Jmd0OzwvY29kZT4sIGFzIGEgcGFyYW1ldGVyLiBVc2Ug
dGhpcyB0byBwYXJzZSBkYXRhIGRpZmZlcmVudGx5IGZvciBkaWZmZXJlbnQgdmFyaWFibGUg
dmFsdWVzLiAgVXNlIGl0IGxpa2UgYSBjb25kaXRpb25hbCBhbmQgZG9uJiM4MjE3O3QgZm9y
Z2V0IHRvIGNsb3NlIGl0ICg8Y29kZT4mbHQ7L3R4cDpoZGRfaW1nX2lmJmd0OzwvY29kZT4p
LjwvbGk+CgkJPGxpPjxjb2RlPiZsdDt0eHA6aGRkX2ltZ19ub3QmZ3Q7PC9jb2RlPiAmIzgy
MTE7IFRoaXMgdGFnIGZ1bmN0aW9ucyBleGFjdGx5IGxpa2UgdGhlIG9uZSBhYm92ZSBleGNl
cHQgaXQgZG9lcyBhICYjODIyMDtub3QgZXF1YWwmIzgyMjE7IGNvbXBhcmlzb24uICBVc2Ug
aXQgbGlrZSBhIGNvbmRpdGlvbmFsIGFuZCBkb24mIzgyMTc7dCBmb3JnZXQgdG8gY2xvc2Ug
aXQgKDxjb2RlPiZsdDsvdHhwOmhkZF9pbWdfbm90Jmd0OzwvY29kZT4pLjwvbGk+Cgk8L3Vs
PjwvcD4iO3M6MzoiY3NzIjtzOjA6IiI7czo0OiJjb2RlIjtzOjExNDczOiJmdW5jdGlvbiBh
dXRoX3Rva2VuKCkgewoKCS8vIEVudGVyIHlvdXIgQXBwIElEIGFuZCBBcHAgU2VjcmV0IGJl
bG93CgkkYXBwX2lkID0gJzEzOTc1MzE0NjA3NTAwMyc7CgkkYXBwX3NlY3JldCA9ICdjZTU4
MTFkNWE4ZDg3ZDA3OTNjZGU3NjBjYTM4NzFlNCc7CgoJLy8gR2V0IGEgc2Vzc2lvbiBnb2lu
ZyBpZiBvbmUncyBub3QgYWxyZWFkeQoJaWYgKCFpc3NldCgkX1NFU1NJT04pKSB7CgkJc2Vz
c2lvbl9zdGFydCgpOwoJfQoJLy8gVXNlcyBvciBzZXRzIGEgc2Vzc2lvbiB2YXJpYWJsZSBz
byBhIG5ldyBjYWxsIHRvIEZCIGlzbid0IG5lY2Vzc2FyeSBmb3IgZXZlcnkgcmVxdWVzdAoJ
aWYoaXNzZXQoJF9TRVNTSU9OWyd0b2tlbiddKSkgewoJCXJldHVybiAkX1NFU1NJT05bJ3Rv
a2VuJ107Cgl9IGVsc2UgewoJCS8vIEdldHMgT0F1dGggdG9rZW4KCQkkYXV0aCA9ICJodHRw
czovL2dyYXBoLmZhY2Vib29rLmNvbS9vYXV0aC9hY2Nlc3NfdG9rZW4/Y2xpZW50X2lkPSIu
JGFwcF9pZC4iJmNsaWVudF9zZWNyZXQ9Ii4kYXBwX3NlY3JldC4iJmdyYW50X3R5cGU9Y2xp
ZW50X2NyZWRlbnRpYWxzIjsKCgkJJGdldF9hdXRoID0gY3VybF9pbml0KCRhdXRoKTsKCQlj
dXJsX3NldG9wdCAoJGdldF9hdXRoLCBDVVJMT1BUX1NTTF9WRVJJRllQRUVSLCAwKTsKCQlj
dXJsX3NldG9wdCAoJGdldF9hdXRoLCBDVVJMT1BUX1JFVFVSTlRSQU5TRkVSLCBUUlVFKTsK
CQljdXJsX3NldG9wdCAoJGdldF9hdXRoLCBDVVJMT1BUX1VTRVJBR0VOVCwgJ01vemlsbGEv
NS4wIChXaW5kb3dzOyBVOyBXaW5kb3dzIE5UIDUuMTsgZnI7IHJ2OjEuOS4xLjEpIEdlY2tv
LzIwMDkwNzE1IEZpcmVmb3gvMy41LjEnKTsKCQkkX1NFU1NJT05bJ3Rva2VuJ10gPSBjdXJs
X2V4ZWMoJGdldF9hdXRoKTsKCQljdXJsX2Nsb3NlKCRnZXRfYXV0aCk7CgkJcmV0dXJuICRf
U0VTU0lPTlsndG9rZW4nXTsKCX0KfQoKZnVuY3Rpb24gaGRkX2ZiX2xpbmsoJGF0dHMsICR0
aGluZz0gTlVMTCkgewoJZ2xvYmFsICR0aGlzX3Bvc3Q7CgkkYWNjZXNzX3Rva2VuID0gYXV0
aF90b2tlbigpOwoJZXh0cmFjdChsQXR0cyhhcnJheSgKCQkncGFnZScgPT4gJycsCgkJJ2xp
bWl0JyA9PiAnNScsCgkJJ293bmVyX29ubHknID0+ICdubycsCgkJJ3dyYXB0YWcnID0+ICcn
LAoJCSdjbGFzcycgPT4gJycsCgkpLCAkYXR0cykpOwoKCS8vIElmIHRoZSBwYWdlIGlzIHNl
dCB0aGVuIGdvCglpZiAoJHBhZ2UhPU5VTEwpIHsKCQlpZiAoJG93bmVyX29ubHkgPT0gJ3ll
cycpIHsKCQkkdXJsID0gJ2h0dHBzOi8vZ3JhcGguZmFjZWJvb2suY29tLycuJHBhZ2UuJy9w
b3N0cz8nLiRhY2Nlc3NfdG9rZW4uJyZsaW1pdD0nLiRsaW1pdDsKCQl9IGVsc2UgewoJCSR1
cmwgPSAnaHR0cHM6Ly9ncmFwaC5mYWNlYm9vay5jb20vJy4kcGFnZS4nL2ZlZWQ/Jy4kYWNj
ZXNzX3Rva2VuLicmbGltaXQ9Jy4kbGltaXQ7CgkJfQoKCQkvLyBHcmFiIHRoZSBkYXRhIGZy
b20gRmFjZWJvb2sKCQkkZmV0Y2ggPSBjdXJsX2luaXQoKTsKCQljdXJsX3NldG9wdCAoJGZl
dGNoLCBDVVJMT1BUX1VSTCwgIiR1cmwiKTsKCQljdXJsX3NldG9wdCAoJGZldGNoLCBDVVJM
T1BUX1JFVFVSTlRSQU5TRkVSLCAxKTsKCQkkd2FsbCA9IGN1cmxfZXhlYygkZmV0Y2gpOwoJ
CWN1cmxfY2xvc2UoJGZldGNoKTsKCQkkZGF0YSA9IGpzb25fZGVjb2RlKCR3YWxsKTsKCQkv
LyBFc3RhYmxpc2ggdGhlIGFycmF5IHRvIHdvcmsgdGhyb3VnaCB0aGUgZGF0YQoJCSRmZWVk
ID0gYXJyYXkoKTsKCQlmb3JlYWNoICgkZGF0YS0+ZGF0YSBhcyAkcm93KSB7CgkJCSR0aGlz
X3Bvc3QgPSBhcnJheSgKCQkJCSdpZCcgPT4gJHJvdy0+aWQsCgkJCQknZnJvbV9uYW1lJyA9
PiAkcm93LT5mcm9tLT5uYW1lLAoJCQkJJ2Zyb21faWQnID0+ICRyb3ctPmZyb20tPmlkLAoJ
CQkJJ3Byb2ZpbGUnID0+ICdodHRwczovL2dyYXBoLmZhY2Vib29rLmNvbS8nLiJ7JHJvdy0+
ZnJvbS0+aWR9Ii4nL3BpY3R1cmUnLAoJCQkJJ3R5cGUnID0+ICRyb3ctPnR5cGUsCgkJCQkn
Y3JlYXRlZCcgPT4gc3RydG90aW1lKCRyb3ctPmNyZWF0ZWRfdGltZSksCgkJCQkndXBkYXRl
ZCcgPT4gc3RydG90aW1lKCRyb3ctPnVwZGF0ZWRfdGltZSksCgkJCSk7CgkJCS8vIFdvcmtz
IHRocm91Z2ggYXJyYXkgaXRlbXMgdGhhdCBtYXkgb3IgbWF5IG5vdCBleGlzdCBpbiBlYWNo
IHBvc3QuICBJZiBpdCBleGlzdHMgdGhlIHZhbHVlIGlzIHNldCBmb3IgdXNlIGlmIGl0IGRv
ZXMgbm90IGV4aXN0IHRoZW4gdGhlIHZhbHVlIGlzIHNldCB0byBOVUxMLgoJCQkka2V5X2No
ZWNrID0gYXJyYXkoJ21lc3NhZ2UnLCdsaW5rJywnZGVzY3JpcHRpb24nLCdwaWN0dXJlJywn
c291cmNlJywnbmFtZScsICdvYmplY3RfaWQnLCAnY2FwdGlvbicpOwoJCQlmb3JlYWNoICgk
a2V5X2NoZWNrIGFzICRrZXkgPT4gJHZhbHVlKSB7CgkJCQlpZiAoYXJyYXlfa2V5X2V4aXN0
cygkdmFsdWUsICRyb3cpKSB7CgkJCQkJJHRoaXNfcG9zdFskdmFsdWVdID0gaHRtbHNwZWNp
YWxjaGFycygkcm93LT4kdmFsdWUpOwoJCQkJCX0gZWxzZSB7CgkJCQkJJHRoaXNfcG9zdFsk
dmFsdWVdID0gTlVMTDsKCQkJCQl9CgkJCQl9CgkJCS8vIENoYW5nZSB0aGUgR3JhcGggbmFt
ZSBmb3IgcGhvdG9zL3ZpZGVvcyB0byBzb21ldGhpbmcgbW9yZSBtZWFuaW5nZnVsLgoJCQkk
dGhpc19wb3N0WydvYmplY3RfbmFtZSddID0gJHRoaXNfcG9zdFsnbmFtZSddOwoJCQl1bnNl
dCgkdGhpc19wb3N0WyduYW1lJ10pOwoJCQkvLyBDaGVjayB0byBzZWUgaWYgdGhlcmUgYXJl
IGFueSBsaWtlcyBvciBjb21tZW50cwoJCQlpZiAoaXNzZXQoJHJvdy0+bGlrZXMtPmNvdW50
KSkgewoJCQkJJHRoaXNfcG9zdFsnbGlrZXMnXSA9ICRyb3ctPmxpa2VzLT5jb3VudDsKCQkJ
CX0gZWxzZSB7CgkJCQkkdGhpc19wb3N0WydsaWtlcyddID0gJyc7CgkJCQl9CgkJCWlmIChp
c3NldCgkcm93LT5jb21tZW50cy0+Y291bnQpKSB7CgkJCQkkdGhpc19wb3N0Wydjb21tZW50
cyddID0gJHJvdy0+Y29tbWVudHMtPmNvdW50OwoJCQkJfSBlbHNlIHsKCQkJCSR0aGlzX3Bv
c3RbJ2NvbW1lbnRzJ10gPSAnJzsKCQkJCX0KCQkJJGZlZWRbXSA9IHBhcnNlKCR0aGluZyk7
CgkJfQoJcmV0dXJuIGRvV3JhcCgkZmVlZCwgJHdyYXB0YWcsICRjbGFzcyk7Cgl9Cgp9Cgov
LyBCZWdpbnMgdGhlIGxpc3Qgb2YgdGFncyBhdmFpbGFibGUuICBFYWNoIG9uZSBpcyBhIGZ1
bmN0aW9uLgpmdW5jdGlvbiBoZGRfZmJfZnJvbSgkYXR0cykgewoJZ2xvYmFsICR0aGlzX3Bv
c3Q7CglleHRyYWN0KGxBdHRzKGFycmF5KAoJCSd3cmFwdGFnJyA9PiAnJywKCQknY2xhc3Mn
ID0+ICcnLAoJKSwgJGF0dHMpKTsKCglyZXR1cm4gZG9UYWcoJHRoaXNfcG9zdFsnZnJvbV9u
YW1lJ10sICR3cmFwdGFnLCAkY2xhc3MpOwp9CgpmdW5jdGlvbiBoZGRfZmJfcHJvZmlsZV9w
aWMoJGF0dHMpIHsKCWdsb2JhbCAkdGhpc19wb3N0OwoJZXh0cmFjdChsQXR0cyhhcnJheSgK
CQknd3JhcHRhZycgPT4gJycsCgkJJ2NsYXNzJyA9PiAnJywKCSksICRhdHRzKSk7CgoJJHRh
ZyA9ICc8aW1nIHNyYz0iJy4ieyR0aGlzX3Bvc3RbJ3Byb2ZpbGUnXX0iLiciIGFsdD0iJy4i
eyR0aGlzX3Bvc3RbJ2Zyb21fbmFtZSddfSIuJyIgLz4nOwoJcmV0dXJuIGRvVGFnKCR0YWcs
ICR3cmFwdGFnLCAkY2xhc3MpOwp9CgpmdW5jdGlvbiBoZGRfZmJfcHJvZmlsZV9saW5rKCRh
dHRzKSB7CglnbG9iYWwgJHRoaXNfcG9zdDsKCWV4dHJhY3QobEF0dHMoYXJyYXkoCgkJJ3dy
YXB0YWcnID0+ICcnLAoJCSdjbGFzcycgPT4gJycsCgkJJ3VybCcgPT4gJycsCgkpLCAkYXR0
cykpOwoKCWlmICgkdXJsID09ICcxJykgewoJCXJldHVybiAnaHR0cDovL3d3dy5mYWNlYm9v
ay5jb20vcHJvZmlsZS5waHA/aWQ9Jy4ieyR0aGlzX3Bvc3RbJ2Zyb21faWQnXX0iOwoJfSBl
bHNlIHsKCQkkdGFnID0gJzxhIGhyZWY9Imh0dHA6Ly93d3cuZmFjZWJvb2suY29tL3Byb2Zp
bGUucGhwP2lkPScuInskdGhpc19wb3N0Wydmcm9tX2lkJ119Ii4nIj4nLiJ7JHRoaXNfcG9z
dFsnZnJvbV9uYW1lJ119Ii4nPC9hPic7CgkJcmV0dXJuIGRvVGFnKCR0YWcsICR3cmFwdGFn
LCAkY2xhc3MpOwoJfQp9CgpmdW5jdGlvbiBoZGRfZmJfbWVzc2FnZSgkYXR0cykgewoJZ2xv
YmFsICR0aGlzX3Bvc3Q7CglleHRyYWN0KGxBdHRzKGFycmF5KAoJCSd3cmFwdGFnJyA9PiAn
JywKCQknY2xhc3MnID0+ICcnLAoJKSwgJGF0dHMpKTsKCgkvLyBDaGVja3MgZm9yIHRoZSBw
cmVzZW5jZSBvZiBhIGxpbmsgYW5kIHBhcnNlcyBpdCB0byBhcHBlYXIgYXMgYSBsaW5rCglp
ZiAoaXNzZXQoJHRoaXNfcG9zdFsnbWVzc2FnZSddKSkgewoJCSRsaW5rX3BhdHRlcm4gPSAn
LygoaHR0cDpcL1wvfHd3d1wuKVxTKykvJzsKCQlpZiAocHJlZ19tYXRjaCgkbGlua19wYXR0
ZXJuLCAkdGhpc19wb3N0WydtZXNzYWdlJ10sICRtYXRjaGVzKSkgewoJCQkkYSA9ICc8YSBo
cmVmPSInLiRtYXRjaGVzWzBdLiciPicuJG1hdGNoZXNbMF0uJzwvYT4nOwoJCQkkdGhpc19w
b3N0WydtZXNzYWdlJ10gPSBwcmVnX3JlcGxhY2UoJGxpbmtfcGF0dGVybiwgJGEsICR0aGlz
X3Bvc3RbJ21lc3NhZ2UnXSk7CgkJfQoJCXJldHVybiBkb1RhZygkdGhpc19wb3N0WydtZXNz
YWdlJ10sICR3cmFwdGFnLCAkY2xhc3MpOwoJfSBlbHNlIHsKCQlyZXR1cm47Cgl9Cn0KCmZ1
bmN0aW9uIGhkZF9mYl9wb3N0X2xpbmsoJGF0dHMsICR0aGluZz1OVUxMKSB7CglnbG9iYWwg
JHRoaXNfcG9zdDsKCWV4dHJhY3QobEF0dHMoYXJyYXkoCgkJJ2NsYXNzJyA9PiAnJywKCQkn
dXJsJyA9PiAnJywKCSksICRhdHRzKSk7CgoJaWYgKGlzc2V0KCR0aGlzX3Bvc3RbJ2xpbmsn
XSkpIHsKCQlpZiAoJHVybCA9PSAnMScpIHsKCQkJcmV0dXJuICR0aGlzX3Bvc3RbJ2xpbmsn
XTsKCQl9IGVsc2UgewoJCQkkbGluayA9IGhyZWYocGFyc2UoJHRoaW5nKSwgJHRoaXNfcG9z
dFsnbGluayddKTsKCQkJcmV0dXJuIGRvVGFnKCRsaW5rLCAkY2xhc3MpOwoJCX0KCX0gZWxz
ZSB7CgkJcmV0dXJuOwoJfQp9CgpmdW5jdGlvbiBoZGRfZmJfZGVzY3JpcHRpb24oJGF0dHMp
IHsKCWdsb2JhbCAkdGhpc19wb3N0OwoJZXh0cmFjdChsQXR0cyhhcnJheSgKCQknd3JhcHRh
ZycgPT4gJycsCgkJJ2NsYXNzJyA9PiAnJywKCSksICRhdHRzKSk7CgoJaWYgKGlzc2V0KCR0
aGlzX3Bvc3RbJ2Rlc2NyaXB0aW9uJ10pKSB7CgkJcmV0dXJuIGRvVGFnKCR0aGlzX3Bvc3Rb
J2Rlc2NyaXB0aW9uJ10sICR3cmFwdGFnLCAkY2xhc3MpOwoJfSBlbHNlIHsKCQlyZXR1cm47
Cgl9Cn0KCmZ1bmN0aW9uIGhkZF9mYl9waWN0dXJlKCRhdHRzKSB7CglnbG9iYWwgJHRoaXNf
cG9zdDsKCWV4dHJhY3QobEF0dHMoYXJyYXkoCgkJJ3dyYXB0YWcnID0+ICcnLAoJCSdjbGFz
cycgPT4gJycsCgkpLCAkYXR0cykpOwoKCWlmIChpc3NldCgkdGhpc19wb3N0WydwaWN0dXJl
J10pKSB7CgkJcmV0dXJuIGRvVGFnKCc8aW1nIHNyYz0iJy4kdGhpc19wb3N0WydwaWN0dXJl
J10uJyIgYWx0PSInLiR0aGlzX3Bvc3RbJ29iamVjdF9uYW1lJ10uJyIgLz4nLCAkd3JhcHRh
ZywgJGNsYXNzKTsKCX0gZWxzZSB7CgkJcmV0dXJuOwoJfQp9CgpmdW5jdGlvbiBoZGRfZmJf
c291cmNlKCRhdHRzKSB7CglnbG9iYWwgJHRoaXNfcG9zdDsKCWV4dHJhY3QobEF0dHMoYXJy
YXkoCgkJJ3dyYXB0YWcnID0+ICcnLAoJCSdjbGFzcycgPT4gJycsCgkpLCAkYXR0cykpOwoK
CWlmIChpc3NldCgkdGhpc19wb3N0Wydzb3VyY2UnXSkpIHsKCQlyZXR1cm4gZG9UYWcoJHRo
aXNfcG9zdFsnc291cmNlJ10sICR3cmFwdGFnLCAkY2xhc3MpOwoJfSBlbHNlIHsKCQlyZXR1
cm47Cgl9Cn0KCmZ1bmN0aW9uIGhkZF9mYl9vYmplY3RfbmFtZSgkYXR0cykgewoJZ2xvYmFs
ICR0aGlzX3Bvc3Q7CglleHRyYWN0KGxBdHRzKGFycmF5KAoJCSd3cmFwdGFnJyA9PiAnJywK
CQknY2xhc3MnID0+ICcnLAoJKSwgJGF0dHMpKTsKCglpZiAoaXNzZXQoJHRoaXNfcG9zdFsn
b2JqZWN0X25hbWUnXSkpIHsKCQlyZXR1cm4gZG9UYWcoJHRoaXNfcG9zdFsnb2JqZWN0X25h
bWUnXSwgJHdyYXB0YWcsICRjbGFzcyk7Cgl9IGVsc2UgewoJCXJldHVybjsKCX0KfQoKZnVu
Y3Rpb24gaGRkX2ZiX2NhcHRpb24oJGF0dHMpIHsKCWdsb2JhbCAkdGhpc19wb3N0OwoJZXh0
cmFjdChsQXR0cyhhcnJheSgKCQknd3JhcHRhZycgPT4gJycsCgkJJ2NsYXNzJyA9PiAnJywK
CSksICRhdHRzKSk7CgoJaWYgKGlzc2V0KCR0aGlzX3Bvc3RbJ2NhcHRpb24nXSkpIHsKCQly
ZXR1cm4gZG9UYWcoJHRoaXNfcG9zdFsnY2FwdGlvbiddLCAkd3JhcHRhZywgJGNsYXNzKTsK
CX0gZWxzZSB7CgkJcmV0dXJuOwoJfQp9CgpmdW5jdGlvbiBoZGRfZmJfY3JlYXRlZCgkYXR0
cykgewoJZ2xvYmFsICR0aGlzX3Bvc3Q7CglleHRyYWN0KGxBdHRzKGFycmF5KAoJCSdmb3Jt
YXQnID0+ICcnLAoJCSd3cmFwdGFnJyA9PiAnJywKCQknY2xhc3MnID0+ICcnLAoJKSwgJGF0
dHMpKTsKCglyZXR1cm4gZG9UYWcoc2FmZV9zdHJmdGltZSgkZm9ybWF0LCAkdGhpc19wb3N0
WydjcmVhdGVkJ10pLCAkd3JhcHRhZywgJGNsYXNzKTsKfQoKZnVuY3Rpb24gaGRkX2ZiX3Vw
ZGF0ZWQoJGF0dHMpIHsKCWdsb2JhbCAkdGhpc19wb3N0OwoJZXh0cmFjdChsQXR0cyhhcnJh
eSgKCQknZm9ybWF0JyA9PiAnJywKCQknd3JhcHRhZycgPT4gJycsCgkJJ2NsYXNzJyA9PiAn
JywKCSksICRhdHRzKSk7CgoJcmV0dXJuIGRvVGFnKHNhZmVfc3RyZnRpbWUoJGZvcm1hdCwg
JHRoaXNfcG9zdFsndXBkYXRlZCddKSwgJHdyYXB0YWcsICRjbGFzcyk7Cn0KCmZ1bmN0aW9u
IGhkZF9mYl9saWtlcygkYXR0cykgewoJZ2xvYmFsICR0aGlzX3Bvc3Q7CglleHRyYWN0KGxB
dHRzKGFycmF5KAoJCSd3cmFwdGFnJyA9PiAnJywKCQknY2xhc3MnID0+ICcnLAoJKSwgJGF0
dHMpKTsKCglpZiAoaXNzZXQoJHRoaXNfcG9zdFsnbGlrZXMnXSkpIHsKCQlyZXR1cm4gZG9U
YWcoJHRoaXNfcG9zdFsnbGlrZXMnXSwgJHdyYXB0YWcsICRjbGFzcyk7Cgl9IGVsc2UgewoJ
CXJldHVybjsKCX0KfQoKZnVuY3Rpb24gaGRkX2ZiX2NvbW1lbnRzKCRhdHRzKSB7CglnbG9i
YWwgJHRoaXNfcG9zdDsKCWV4dHJhY3QobEF0dHMoYXJyYXkoCgkJJ3dyYXB0YWcnID0+ICcn
LAoJCSdjbGFzcycgPT4gJycsCgkpLCAkYXR0cykpOwoKCWlmIChpc3NldCgkdGhpc19wb3N0
Wydjb21tZW50cyddKSkgewoJCXJldHVybiBkb1RhZygkdGhpc19wb3N0Wydjb21tZW50cydd
LCAkd3JhcHRhZywgJGNsYXNzKTsKCX0gZWxzZSB7CgkJcmV0dXJuOwoJfQp9CgovLyBTcGVj
aWFsIGNvbmRpdGlvbmFsIHRhZ3MuICBJdCB3aWxsIGNoZWNrIGZvciBhIHNwZWNpZmllZCB2
YWx1ZSAoaS5lLiBwb3N0IHR5cGUgb3IgbmFtZSkgYW5kIHBhcnNlIHdoYXQgaXMgY29udGFp
bmVkLiAgQW55IHZhcmlhYmxlIGNhbiBiZSB1c2VkIGJ1dCBvbmUgYW5kIG9ubHkgb25lIGNh
biBiZSB1c2VkLiAgWW91IGNhbm5vdCBjaGVjayBmb3IgYSB0eXBlIGFuZCBhIG5hbWUgaW4g
dGhlIHNhbWUgdGFnLgoKZnVuY3Rpb24gaGRkX2ZiX2lmICgkYXR0cywgJHRoaW5nPU5VTEwp
IHsKCWdsb2JhbCAkdGhpc19wb3N0OwoJJGtleSA9IGtleSgkYXR0cyk7CgoJaWYgKGFycmF5
X2tleV9leGlzdHMoJGtleSwgJHRoaXNfcG9zdCkpIHsKCQkkcmVzdWx0ID0gKCR0aGlzX3Bv
c3RbJGtleV0gPT0gJGF0dHNbJGtleV0pID8gMSA6IDA7Cgl9CglyZXR1cm4gcGFyc2UoRXZh
bEVsc2UoJHRoaW5nLCAkcmVzdWx0KSk7Cn0KCi8vIFNwZWNpYWwgY29uZGl0aW9uYWwgbm90
IHRhZy4gIENoZWNrcyB0aGF0IHRoZSBwb3N0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byB0aGUg
cGFyYW1ldGVyIHNldCBhbmQgdGhlbiBwcm9jZWVkcyB0byBwYXJzZS4KZnVuY3Rpb24gaGRk
X2ZiX25vdCAoJGF0dHMsICR0aGluZz1OVUxMKSB7CglnbG9iYWwgJHRoaXNfcG9zdDsKCSRr
ZXkgPSBrZXkoJGF0dHMpOwoKCWlmIChhcnJheV9rZXlfZXhpc3RzKCRrZXksICR0aGlzX3Bv
c3QpKSB7CgkJJHJlc3VsdCA9ICgkdGhpc19wb3N0WyRrZXldICE9ICRhdHRzWyRrZXldKSA/
IDEgOiAwOwoJfQoJcmV0dXJuIHBhcnNlKEV2YWxFbHNlKCR0aGluZywgJHJlc3VsdCkpOwp9
CgovLyBCZWdpbiBmdW5jdGlvbnMgZm9yIHBob3RvIGFsYnVtCmZ1bmN0aW9uIGhkZF9mYl9h
bGJ1bSAoJGF0dHMsICR0aGluZz1OVUxMKSB7CglnbG9iYWwgJHRoaXNfYWxidW07CgkkYWNj
ZXNzX3Rva2VuID0gYXV0aF90b2tlbigpOwoJZXh0cmFjdChsQXR0cyhhcnJheSgKCQknb3du
ZXInID0+ICcnLAoJCSdhbGJ1bScgPT4gJycsCgkJJ2xpbWl0JyA9PiAnNScsCgkJJ3dyYXB0
YWcnID0+ICcnLAoJCSdjbGFzcycgPT4gJycsCgkpLCAkYXR0cykpOwoKCS8vIElmIHRoZSBh
bGJ1bSBpcyBzZXQgdGhlbiBnbwoJJHVybCA9ICdodHRwczovL2FwaS5mYWNlYm9vay5jb20v
bWV0aG9kL2ZxbC5xdWVyeT8nLiRhY2Nlc3NfdG9rZW4uJyZmb3JtYXQ9anNvbiZxdWVyeT0n
OwoJJHVybCAuPSB1cmxlbmNvZGUoJ1NFTEVDVCBzcmNfc21hbGwsc3JjX2JpZyxsaW5rLGNh
cHRpb24sY3JlYXRlZCBGUk9NIHBob3RvIFdIRVJFIGFpZCBJTiAoU0VMRUNUIGFpZCBGUk9N
IGFsYnVtIFdIRVJFIG93bmVyID0gJy4kb3duZXIuJyBBTkQgbmFtZSA9IFwnJy4kYWxidW0u
J1wnKSBMSU1JVCAnLiRsaW1pdC4nJyk7CgoJLy8gR3JhYiB0aGUgZGF0YSBmcm9tIEZhY2Vi
b29rCgkkZmV0Y2ggPSBjdXJsX2luaXQoKTsKCWN1cmxfc2V0b3B0ICgkZmV0Y2gsIENVUkxP
UFRfVVJMLCAiJHVybCIpOwoJY3VybF9zZXRvcHQgKCRmZXRjaCwgQ1VSTE9QVF9SRVRVUk5U
UkFOU0ZFUiwgMSk7CgkkYWxidW0gPSBjdXJsX2V4ZWMoJGZldGNoKTsKCWN1cmxfY2xvc2Uo
JGZldGNoKTsKCSRnYWxsZXJ5ID0ganNvbl9kZWNvZGUoJGFsYnVtKTsKCSRwaG90byA9IGFy
cmF5KCk7CgoJLy8gQXJyYXkgb2Yga2V5cy92YWx1ZXMgaW4gR3JhcGgKCWZvcmVhY2ggKCRn
YWxsZXJ5IGFzICRwaWMpIHsKCQkkdGhpc19hbGJ1bSA9IGFycmF5KAoJCQknaW1nX3NtYWxs
JyA9PiBodG1sc3BlY2lhbGNoYXJzKCRwaWMtPnNyY19zbWFsbCksCgkJCSdpbWdfYmlnJyA9
PiBodG1sc3BlY2lhbGNoYXJzKCRwaWMtPnNyY19iaWcpLAoJCQknaW1nX2xpbmsnID0+IGh0
bWxzcGVjaWFsY2hhcnMoJHBpYy0+bGluayksCgkJCSdjYXB0aW9uJyA9PiAkcGljLT5jYXB0
aW9uLAoJCQknY3JlYXRlZCcgPT4gc3RydG90aW1lKCRwaWMtPmNyZWF0ZWQpCgkJKTsKCQkk
cGhvdG9bXSA9IHBhcnNlKCR0aGluZyk7Cgl9CglyZXR1cm4gZG9XcmFwKCRwaG90bywgJHdy
YXB0YWcsICRjbGFzcyk7Cn0KCi8vIEJlZ2lucyB0aGUgbGlzdCBvZiB0YWdzIGF2YWlsYWJs
ZS4gIEVhY2ggb25lIGlzIGEgZnVuY3Rpb24uCmZ1bmN0aW9uIGhkZF9pbWdfc21hbGwoJGF0
dHMpIHsKCWdsb2JhbCAkdGhpc19hbGJ1bTsKCWV4dHJhY3QobEF0dHMoYXJyYXkoCgkJJ3Vy
bCcgPT4gJycsCgkJJ3dyYXB0YWcnID0+ICcnLAoJCSdjbGFzcycgPT4gJycsCgkpLCAkYXR0
cykpOwoKCWlmICgkdXJsID09ICcxJykgewoJCXJldHVybiAkdGhpc19hbGJ1bVsnaW1nX3Nt
YWxsJ107Cgl9IGVsc2UgewoJCXJldHVybiBkb1RhZygnPGltZyBzcmM9IicuJHRoaXNfYWxi
dW1bJ2ltZ19zbWFsbCddLiciIGFsdD0iJy4kdGhpc19hbGJ1bVsnY2FwdGlvbiddLiciIC8+
JywgJHdyYXB0YWcsICRjbGFzcyk7Cgl9Cn0KCmZ1bmN0aW9uIGhkZF9pbWdfYmlnKCRhdHRz
KSB7CglnbG9iYWwgJHRoaXNfYWxidW07CglleHRyYWN0KGxBdHRzKGFycmF5KAoJCSd1cmwn
ID0+ICcnLAoJCSd3cmFwdGFnJyA9PiAnJywKCQknY2xhc3MnID0+ICcnLAoJKSwgJGF0dHMp
KTsKCglpZiAoJHVybCA9PSAnMScpIHsKCQlyZXR1cm4gJHRoaXNfYWxidW1bJ2ltZ19iaWcn
XTsKCX0gZWxzZSB7CgkJcmV0dXJuIGRvVGFnKCc8aW1nIHNyYz0iJy4kdGhpc19hbGJ1bVsn
aW1nX2JpZyddLiciIGFsdD0iJy4kdGhpc19hbGJ1bVsnY2FwdGlvbiddLiciIC8+JywgJHdy
YXB0YWcsICRjbGFzcyk7Cgl9Cn0KCmZ1bmN0aW9uIGhkZF9pbWdfYmlnX3VybCgpIHsKCWds
b2JhbCAkdGhpc19hbGJ1bTsKCXJldHVybiAkdGhpc19hbGJ1bVsnaW1nX2JpZyddOwp9Cgpm
dW5jdGlvbiBoZGRfaW1nX2xpbmsoJGF0dHMsICR0aGluZz1OVUxMKSB7CglnbG9iYWwgJHRo
aXNfYWxidW07CglleHRyYWN0KGxBdHRzKGFycmF5KAoJCSdjbGFzcycgPT4gJycsCgkpLCAk
YXR0cykpOwoKCSRsaW5rID0gaHJlZihwYXJzZSgkdGhpbmcpLCAkdGhpc19hbGJ1bVsnaW1n
X2xpbmsnXSk7CglyZXR1cm4gZG9UYWcoJGxpbmssICRjbGFzcyk7Cn0KCmZ1bmN0aW9uIGhk
ZF9pbWdfY2FwdGlvbigkYXR0cykgewoJZ2xvYmFsICR0aGlzX2FsYnVtOwoJZXh0cmFjdChs
QXR0cyhhcnJheSgKCQknd3JhcHRhZycgPT4gJycsCgkJJ2NsYXNzJyA9PiAnJywKCSksICRh
dHRzKSk7CgoJcmV0dXJuIGRvVGFnKCR0aGlzX2FsYnVtWydjYXB0aW9uJ10sICR3cmFwdGFn
LCAkY2xhc3MpOwp9CgpmdW5jdGlvbiBoZGRfaW1nX2NyZWF0ZWQoJGF0dHMpIHsKCWdsb2Jh
bCAkdGhpc19hbGJ1bTsKCWV4dHJhY3QobEF0dHMoYXJyYXkoCgkJJ2Zvcm1hdCcgPT4gJycs
CgkJJ3dyYXB0YWcnID0+ICcnLAoJCSdjbGFzcycgPT4gJycsCgkpLCAkYXR0cykpOwoKCXJl
dHVybiBkb1RhZyhzYWZlX3N0cmZ0aW1lKCRmb3JtYXQsICR0aGlzX2FsYnVtWydjcmVhdGVk
J10pLCAkd3JhcHRhZywgJGNsYXNzKTsKfQoKLy8gU3BlY2lhbCBjb25kaXRpb25hbCB0YWdz
LiAgSXQgd2lsbCBjaGVjayBmb3IgYSBzcGVjaWZpZWQgdmFsdWUgYW5kIHBhcnNlIHdoYXQg
aXMgY29udGFpbmVkLiAgQW55IHZhcmlhYmxlIGNhbiBiZSB1c2VkIGJ1dCBvbmUgYW5kIG9u
bHkgb25lIGNhbiBiZSB1c2VkLiAgWW91IGNhbm5vdCBjaGVjayBmb3IgYSB0eXBlIGFuZCBh
IG5hbWUgaW4gdGhlIHNhbWUgdGFnLgoKZnVuY3Rpb24gaGRkX2ltZ19pZiAoJGF0dHMsICR0
aGluZz1OVUxMKSB7CglnbG9iYWwgJHRoaXNfYWxidW07Cgkka2V5ID0ga2V5KCRhdHRzKTsK
CWlmIChhcnJheV9rZXlfZXhpc3RzKCRrZXksICR0aGlzX2FsYnVtKSkgewoJCSRyZXN1bHQg
PSAoJHRoaXNfYWxidW1bJGtleV0gPT0gJGF0dHNbJGtleV0pID8gMSA6IDA7Cgl9CglyZXR1
cm4gcGFyc2UoRXZhbEVsc2UoJHRoaW5nLCAkcmVzdWx0KSk7Cn0KCi8vIFNwZWNpYWwgY29u
ZGl0aW9uYWwgbm90IHRhZy4gIENoZWNrcyB0aGF0IHRoZSBwb3N0IHZhbHVlIGlzIG5vdCBl
cXVhbCB0byB0aGUgcGFyYW1ldGVyIHNldCBhbmQgdGhlbiBwcm9jZWVkcyB0byBwYXJzZS4K
ZnVuY3Rpb24gaGRkX2ltZ19ub3QgKCRhdHRzLCAkdGhpbmc9TlVMTCkgewoJZ2xvYmFsICR0
aGlzX2FsYnVtOwoJJGtleSA9IGtleSgkYXR0cyk7CglpZiAoYXJyYXlfa2V5X2V4aXN0cygk
a2V5LCAkdGhpc19hbGJ1bSkpIHsKCQkkcmVzdWx0ID0gKCR0aGlzX2FsYnVtWyRrZXldICE9
ICRhdHRzWyRrZXldKSA/IDEgOiAwOwoJfQoJcmV0dXJuIHBhcnNlKEV2YWxFbHNlKCR0aGlu
ZywgJHJlc3VsdCkpOwp9IjtzOjM6Im1kNSI7czozMjoiNDUxNWVkNWMyOWM0ZTc4YTM0MDNh
NDViZTE3MjVkMjQiO30=

And it looks like Ron Hickson can still be reached via this site: https://ee-forge.com/.


TXP Builders – finely-crafted code, design and txp

Offline

#3 2016-05-06 13:48:12

nuevoruido
New Member
Registered: 2016-05-06
Posts: 2

Re: hdd_facebook_link down, anyone got a copy or something similiar?

Awesome, thanks.

I do get an error though:
“Fehler im Tag: <txp:hdd_fb_feed page=“1234xxx567”> -> Textpattern Warning: Unbekannter Tag beim Verarbeiten des Bausteins default auf der Seitenvorlage blog”

which means: “Error in Tag: <txp:hdd_fb_feed page=“1234xxx567”> -> Textpattern Warning: Unknown Tag while processing block default in page template blog”

textpattern/lib/txplib_publish.php:440 trigger_error()
textpattern/lib/txplib_publish.php:339 processTags()
textpattern/lib/txplib_misc.php:1974 parse()
textpattern/publish.php:877 parse_form()
textpattern/publish.php:974 doArticles()
textpattern/publish.php:608 parseArticles()
textpattern/lib/txplib_publish.php:426 article()
textpattern/lib/txplib_publish.php:326 processTags()
textpattern/publish.php:544 parse()
index.php:83 textpattern()

Anyone who is still using this plugin?

I will try to contact the author as well.

Thanks!
Tom

Last edited by nuevoruido (2016-05-06 13:49:21)

Offline

Board footer

Powered by FluxBB