# adi_gps v0.1 # Extract GET & POST variables # Adi Gilbert # http://www.greatoceanmedia.com.au/ # ...................................................................... # This is a plugin for Textpattern - http://textpattern.com/ # To install: textpattern > admin > plugins # Paste the following text into the 'Install plugin' box: # ...................................................................... YToxMDp7czo0OiJuYW1lIjtzOjc6ImFkaV9ncHMiO3M6NzoidmVyc2lvbiI7czozOiIwLjEi O3M6NjoiYXV0aG9yIjtzOjExOiJBZGkgR2lsYmVydCI7czoxMDoiYXV0aG9yX3VyaSI7czoz NDoiaHR0cDovL3d3dy5ncmVhdG9jZWFubWVkaWEuY29tLmF1LyI7czoxMToiZGVzY3JpcHRp b24iO3M6Mjg6IkV4dHJhY3QgR0VUICYgUE9TVCB2YXJpYWJsZXMiO3M6NDoidHlwZSI7aTow O3M6NDoiaGVscCI7czo1NjUwOiIJPGgxPjxzdHJvbmc+YWRpX2dwczwvc3Ryb25nPiAmIzgy MTE7IEV4dHJhY3QgPHNwYW4gY2xhc3M9ImNhcHMiPkdFVDwvc3Bhbj4gJmFtcDsgPHNwYW4g Y2xhc3M9ImNhcHMiPlBPU1Q8L3NwYW4+IHZhcmlhYmxlczwvaDE+CgoJPHA+VGhpcyBwbHVn aW4gZXh0cmFjdHMgPHNwYW4gY2xhc3M9ImNhcHMiPkdFVDwvc3Bhbj4vUE9TVCB2YXJpYWJs ZXMgZnJvbSB0aGUgPHNwYW4gY2xhc3M9ImNhcHMiPlVSTDwvc3Bhbj4gYW5kIGFzc2lnbnMg dGhlbSB0byA8c3BhbiBjbGFzcz0iY2FwcyI+VFhQPC9zcGFuPiB2YXJpYWJsZXMuPC9wPgoK CTxoMj48c3Ryb25nPkF0dHJpYnV0ZXM8L3N0cm9uZz48L2gyPgoKCTxwPjxjb2RlPm5hbWU9 JnF1b3Q7dmFyIG5hbWUmcXVvdDs8L2NvZGU+PC9wPgoKCTxwPi0gYSBzaW5nbGUgPHNwYW4g Y2xhc3M9ImNhcHMiPkdFVDwvc3Bhbj4vUE9TVCB2YXJpYWJsZSB0byBleHRyYWN0LiBEZWZh dWx0ID0gJiM4MjIwOyYjODIyMTsgKGV4dHJhY3QgYWxsIDxzcGFuIGNsYXNzPSJjYXBzIj5H RVQ8L3NwYW4+IHZhcmlhYmxlcykuIFNlZSA8Y29kZT5wb3N0PC9jb2RlPiBhdHRyaWJ1dGUg Zm9yIGV4dHJhY3RpbmcgPHNwYW4gY2xhc3M9ImNhcHMiPlBPU1Q8L3NwYW4+IHZhcmlhYmxl cy48L3A+CgoJPHA+PGNvZGU+bmV3PSZxdW90O3ZhciBuYW1lJnF1b3Q7PC9jb2RlPjwvcD4K Cgk8cD4tIHJlbmFtZSB0aGUgdmFyaWFibGUuIERlZmF1bHQgPSAmIzgyMjA7JiM4MjIxOyAo bm8gcmVuYW1lKS4gT25seSBhcHBsaWVzIHdoZW4gcmV0cmlldmluZyBhIHNpbmdsZSA8c3Bh biBjbGFzcz0iY2FwcyI+R0VUPC9zcGFuPi9QT1NUIHZhcmlhYmxlLjwvcD4KCgk8cD48Y29k ZT50eHB2YXI9JnF1b3Q7Ym9vbGVhbiZxdW90OzwvY29kZT48L3A+CgoJPHA+LSBkdXBsaWNh dGUgdGhlIDxzcGFuIGNsYXNzPSJjYXBzIj5HRVQ8L3NwYW4+L1BPU1QgdmFyaWFibGUgYXMg YSA8c3BhbiBjbGFzcz0iY2FwcyI+VFhQPC9zcGFuPiB2YXJpYWJsZSBvZiB0aGUgc2FtZSBu YW1lLiBEZWZhdWx0ID0gJiM4MjIwOzEmIzgyMjE7IChZZXMpLiBSZXF1aXJlcyBUZXh0cGF0 dGVybiA0LjAuNy4gU3dpdGNoIG9mZiBpZiB1c2luZyB2ZXJzaW9ucyBwcmlvciB0byB0aGlz LjwvcD4KCgk8cD48Y29kZT5wb3N0PSZxdW90O2Jvb2xlYW4mcXVvdDs8L2NvZGU+PC9wPgoK CTxwPi0gZXh0cmFjdCA8c3BhbiBjbGFzcz0iY2FwcyI+UE9TVDwvc3Bhbj4gdmFyaWFibGVz IGFzIHdlbGwuIERlZmF1bHQgPSAmIzgyMjA7MCYjODIyMTsgKE5vKS4gT25seSBhcHBsaWVz IGluICYjODIyMDtleHRyYWN0IGFsbCYjODIyMTsgbW9kZS48L3A+CgoJPHA+PGNvZGU+cXVp ZXQ9JnF1b3Q7Ym9vbGVhbiZxdW90OzwvY29kZT48L3A+CgoJPHA+LSBkb24mIzgyMTc7dCBk aXNwbGF5IHZhcmlhYmxlIHZhbHVlLiBEZWZhdWx0ID0gJiM4MjIwOzAmIzgyMjE7IChkaXNw bGF5IHZhcmlhYmxlIHZhbHVlKS4gT25seSBhcHBsaWVzIHdoZW4gcmV0cmlldmluZyBhIHNp bmdsZSA8c3BhbiBjbGFzcz0iY2FwcyI+R0VUPC9zcGFuPi9QT1NUIHZhcmlhYmxlLiBRdWll dCBtb2RlIGF1dG9tYXRpY2FsbHkgc3dpdGNoZWQgb24gd2l0aCAmIzgyMjA7ZXh0cmFjdCBh bGwmIzgyMjE7IG1vZGUuPC9wPgoKCTxwPjxjb2RlPmdsb2JhbD0mcXVvdDtib29sZWFuJnF1 b3Q7PC9jb2RlPjwvcD4KCgk8cD4tIG1ha2UgdGhlIHZhcmlhYmxlIDxpPmdsb2JhbDwvaT4g aW4gc2NvcGUuIERlZmF1bHQgPSAmIzgyMjA7MSYjODIyMTsgKFllcykuPC9wPgoKCTxwPjxj b2RlPmVzY2FwZT0mcXVvdDttb2RlJnF1b3Q7PC9jb2RlPjwvcD4KCgk8cD4tIGVzY2FwZSA8 c3BhbiBjbGFzcz0iY2FwcyI+SFRNTDwvc3Bhbj4gZW50aXRpZXMgaW4gdmFyaWFibGUgdmFs dWUuIERlZmF1bHQgPSAmIzgyMjA7JiM4MjIxOyAobm8gZXNjYXBlKS4gIFVzZSA8Y29kZT5l c2NhcGU9JnF1b3Q7aHRtbCZxdW90OzwvY29kZT4gdG8gc3dpdGNoIG9uLjwvcD4KCgk8cD48 Y29kZT5kZWNvZGU9JnF1b3Q7Ym9vbGVhbiZxdW90OzwvY29kZT48L3A+CgoJPHA+LSBkZWNv ZGVzIGFueSByZW1haW5pbmcgJSMjIGVuY29kaW5nIGluIHRoZSB2YXJpYWJsZSB2YWx1ZXMu IERlZmF1bHQgPSAmIzgyMjA7MCYjODIyMTsgKE5vKS4gTm90IG5vcm1hbGx5IHJlcXVpcmVk IGJ1dCBtYXkgYmUgbmVlZGVkIGlmIDxzcGFuIGNsYXNzPSJjYXBzIj5VUkw8L3NwYW4+IGhh cyBiZWVuIHByb2Nlc3NlZCBieSBodGFjY2Vzcy48L3A+CgoJPHA+PGNvZGU+bGlzdD0mcXVv dDtib29sZWFuJnF1b3Q7PC9jb2RlPjwvcD4KCgk8cD4tIG91dHB1dHMgYSBsaXN0IG9mIHRo ZSBleHRyYWN0ZWQgdmFyaWFibGVzICZhbXA7IHRoZWlyIHZhbHVlcy4gSGFuZHkgZm9yIGRl YnVnZ2luZy4gRGVmYXVsdCA9ICYjODIyMDswJiM4MjIxOyAoTm8gbGlzdCkuPC9wPgoKCTxo Mj48c3Ryb25nPkV4YW1wbGVzPC9zdHJvbmc+PC9oMj4KCgk8cD48Y29kZT4mbHQ7dHhwOmFk aV9ncHMgLyZndDs8L2NvZGU+PC9wPgoKCTxwPi0gZXh0cmFjdCBhbGwgPHNwYW4gY2xhc3M9 ImNhcHMiPkdFVDwvc3Bhbj4gdmFyaWFibGVzIGFuZCBkdXBsaWNhdGUgdGhlbSBhcyA8c3Bh biBjbGFzcz0iY2FwcyI+VFhQPC9zcGFuPiB2YXJpYWJsZXMuPC9wPgoKCTxwPjxjb2RlPiZs dDt0eHA6YWRpX2dwcyBwb3N0PSZxdW90OzEmcXVvdDsgLyZndDs8L2NvZGU+PC9wPgoKCTxw Pi0gZXh0cmFjdCBhbGwgPHNwYW4gY2xhc3M9ImNhcHMiPkdFVDwvc3Bhbj4gPGk+YW5kPC9p PiA8c3BhbiBjbGFzcz0iY2FwcyI+UE9TVDwvc3Bhbj4gdmFyaWFibGVzIGFuZCBkdXBsaWNh dGUgdGhlbSBhcyA8c3BhbiBjbGFzcz0iY2FwcyI+VFhQPC9zcGFuPiB2YXJpYWJsZXMuPC9w PgoKCTxwPjxjb2RlPiZsdDt0eHA6YWRpX2dwcyBuYW1lPSZxdW90O215dmFyMSZxdW90OyAv Jmd0OzwvY29kZT48L3A+CgoJPHA+LSBleHRyYWN0IGEgdmFyaWFibGUgY2FsbGVkIDxzdHJv bmc+bXl2YXIxPC9zdHJvbmc+IGZyb20gPHNwYW4gY2xhc3M9ImNhcHMiPlVSTDwvc3Bhbj4s IGNyZWF0ZSBhIDxzcGFuIGNsYXNzPSJjYXBzIj5UWFA8L3NwYW4+IHZhcmlhYmxlIG9mIHRo ZSBzYW1lIG5hbWUgYW5kIGRpc3BsYXkgaXQmIzgyMTc7cyB2YWx1ZS48L3A+CgoJPHA+PGNv ZGU+Jmx0O3R4cDphZGlfZ3BzIG5hbWU9JnF1b3Q7bXl2YXIyJnF1b3Q7IHR4cHZhcj0mcXVv dDswJnF1b3Q7IC8mZ3Q7PC9jb2RlPjwvcD4KCgk8cD4tIGV4dHJhY3QgYSB2YXJpYWJsZSBj YWxsZWQgPHN0cm9uZz5teXZhcjI8L3N0cm9uZz4gZnJvbSA8c3BhbiBjbGFzcz0iY2FwcyI+ VVJMPC9zcGFuPiBhbmQgZGlzcGxheSBpdCYjODIxNztzIHZhbHVlLiBObyA8c3BhbiBjbGFz cz0iY2FwcyI+VFhQPC9zcGFuPiB2YXJpYWJsZSBpcyBjcmVhdGVkIChzdWl0YWJsZSBmb3Ig dXNlIHdpdGggVGV4dHBhdHRlcm4gdmVyc2lvbnMgcHJpb3IgdG8gNC4wLjcpLjwvcD4KCgk8 cD48Y29kZT4mbHQ7dHhwOmFkaV9ncHMgbmFtZT0mcXVvdDtteXZhcjMmcXVvdDsgcXVpZXQ9 JnF1b3Q7MSZxdW90OyAvJmd0OzwvY29kZT48L3A+CgoJPHA+LSBleHRyYWN0IGEgdmFyaWFi bGUgY2FsbGVkIDxzdHJvbmc+bXl2YXIzPC9zdHJvbmc+IGZyb20gPHNwYW4gY2xhc3M9ImNh cHMiPlVSTDwvc3Bhbj4sIGNyZWF0ZSBhIDxzcGFuIGNsYXNzPSJjYXBzIj5UWFA8L3NwYW4+ IHZhcmlhYmxlIG9mIHRoZSBzYW1lIG5hbWUgYnV0IGRvbiYjODIxNzt0IGRpc3BsYXkgaXQm IzgyMTc7cyB2YWx1ZS48L3A+CgoJPGgyPjxzdHJvbmc+VXNpbmcgdGhlIDxzcGFuIGNsYXNz PSJjYXBzIj5VUkw8L3NwYW4+IHZhcmlhYmxlcyBpbiBwYWdlcyBvciBmb3Jtczwvc3Ryb25n PjwvaDI+CgoJPHA+QmVjYXVzZSwgYnkgZGVmYXVsdCwgPHN0cm9uZz5hZGlfZ3BzPC9zdHJv bmc+IGR1cGxpY2F0ZXMgdGhlIGV4dHJhY3RlZCA8c3BhbiBjbGFzcz0iY2FwcyI+VVJMPC9z cGFuPiB2YXJpYWJsZXMgYXMgPHNwYW4gY2xhc3M9ImNhcHMiPlRYUDwvc3Bhbj4gdmFyaWFi bGVzIHlvdSBjYW4gdXNlIGFsbCB0aGUgc3RhbmRhcmQgPHNwYW4gY2xhc3M9ImNhcHMiPlRY UDwvc3Bhbj4gdmFyaWFibGUgdGFncyB0byBwcm9jZXNzIHRoZW06PC9wPgoKCTx1bD4KCQk8 bGk+PGNvZGU+Jmx0O3R4cDp2YXJpYWJsZSAvJmd0OzwvY29kZT48L2xpPgoJCTxsaT48Y29k ZT4mbHQ7dHhwOmlmX3ZhcmlhYmxlIC8mZ3Q7PC9jb2RlPjwvbGk+Cgk8L3VsPgoKCTxwPkZv ciBleGFtcGxlOjwvcD4KCjxwcmU+PGNvZGU+Jmx0O3R4cDphZGlfZ3BzIG5hbWU9JnF1b3Q7 bXl2YXImcXVvdDsgcXVpZXQ9JnF1b3Q7MSZxdW90OyAvJmd0OwombHQ7dHhwOmlmX3Zhcmlh YmxlIG5hbWU9JnF1b3Q7bXl2YXImcXVvdDsgdmFsdWU9JnF1b3Q7c29tZV92YWx1ZSZxdW90 OyZndDsKLi4uIGRvIHNvbWV0aGluZyBkaWZmZXJlbnQgLi4uCiZsdDt0eHA6ZWxzZSAvJmd0 OwouLi4gdGhlIHNhbWUgb2xkIHRoaW5nIC4uLgombHQ7L3R4cDppZl92YXJpYWJsZSZndDsK PC9jb2RlPjwvcHJlPgoKCTxoMj48c3Ryb25nPlVzaW5nIDxzcGFuIGNsYXNzPSJjYXBzIj5V Ukw8L3NwYW4+IHZhcmlhYmxlcyBpbiBhcnRpY2xlczwvc3Ryb25nPjwvaDI+CgoJPHA+WW91 IGNhbiBhbHNvIHVzZSA8Y29kZT4mbHQ7dHhwOmFkaV9ncHMgLyZndDs8L2NvZGU+IHdpdGhp biBhcnRpY2xlcy4gIEZvciBleGFtcGxlOjwvcD4KCgk8YmxvY2txdW90ZT4KCQk8cD48aT5U aGUgdmFsdWUgb2YgbXl2YXIgaXMgPGNvZGU+Jmx0O3R4cDphZGlfZ3BzIG5hbWU9JnF1b3Q7 bXl2YXImcXVvdDsgLyZndDs8L2NvZGU+ICYjODIzMDs8L2k+PC9wPgoJPC9ibG9ja3F1b3Rl PgoKCTxwPm9yIGlmIHlvdSYjODIxNzt2ZSBhbHJlYWR5IGV4dHJhY3RlZCB0aGUgdmFyaWFi bGUgZWxzZXdoZXJlOjwvcD4KCgk8YmxvY2txdW90ZT4KCQk8cD48aT5UaGUgdmFsdWUgb2Yg bXl2YXIgaXMgPGNvZGU+Jmx0O3R4cDp2YXJpYWJsZSBuYW1lPSZxdW90O215dmFyJnF1b3Q7 IC8mZ3Q7PC9jb2RlPiAmIzgyMzA7PC9pPjwvcD4KCTwvYmxvY2txdW90ZT4KCgk8cD5ObyBl c2NhcGluZyBmcm9tIFRleHRpbGUgaXMgcmVxdWlyZWQgKGUuZy4gdXNpbmcgPGNvZGU+bm90 ZXh0aWxlLjwvY29kZT4gb3IgPGNvZGU+PT0gLi4uID09PC9jb2RlPikuPC9wPgoKCTxoMj48 c3Ryb25nPkFjY2Vzc2luZyB0aGUgZXh0cmFjdGVkIDxzcGFuIGNsYXNzPSJjYXBzIj5HRVQ8 L3NwYW4+L1BPU1QgdmFyaWFibGVzIGluIDxzcGFuIGNsYXNzPSJjYXBzIj5QSFA8L3NwYW4+ PC9zdHJvbmc+PC9oMj4KCgk8cD5CeSBkZWZhdWx0LCA8c3Ryb25nPmFkaV9ncHM8L3N0cm9u Zz4gbWFrZXMgZXh0cmFjdGVkIDxzcGFuIGNsYXNzPSJjYXBzIj5VUkw8L3NwYW4+IHZhcmlh YmxlcyBhdmFpbGFibGUgaW4gdGhlIGdsb2JhbCBzY29wZS4gRm9yIGV4YW1wbGUgaWYgJG15 dmFyMSwgJG15dmFyMiAmYW1wOyAkbXl2YXIzIGhhdmUgYmVlbiBleHRyYWN0ZWQgcHJldmlv dXNseSB0aGV5IGNhbiBiZSBhY2Nlc3NlZCBpbiA8c3BhbiBjbGFzcz0iY2FwcyI+UEhQPC9z cGFuPiBzbmlwcGV0cyBhcyBmb2xsb3dzOjwvcD4KCjxwcmU+PGNvZGU+Jmx0O3R4cDpwaHAm Z3Q7Cmdsb2JhbCAkbXl2YXIxLCRteXZhcjIsJG15dmFyMzsKZWNobyAmcXVvdDskbXl2YXIx ICRteXZhcjIgJG15dmFyMyZxdW90OzsKJmx0Oy90eHA6cGhwJmd0Owo8L2NvZGU+PC9wcmU+ IjtzOjQ6ImNvZGUiO3M6MTk3ODoiCi8qCglhZGlfZ3BzIC0gRXh0cmFjdCBHRVQgJiBQT1NU IHZhcmlhYmxlcwoKCVdyaXR0ZW4gYnkgQWRpIEdpbGJlcnQKCglSZWxlYXNlZCB1bmRlciB0 aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKCglWZXJzaW9uIGhpc3Rvcnk6CgkwLjEJ CS0gaW5pdGlhbCByZWxlYXNlCgoqLwoKZnVuY3Rpb24gYWRpX2dwcygkYXR0cykgewoKCWV4 dHJhY3QobEF0dHMoYXJyYXkoCgkJJ25hbWUnCQkJPT4gJycsCS8vIGEgc2luZ2xlIEdFVC9Q T1NUIHZhcgoJCSduZXcnCQkJPT4gJycsCS8vIG5ldyB2YXJpYWJsZSBuYW1lCgkJJ3R4cHZh cicJCT0+ICcxJywJLy8gc2V0IGFzIGEgVFhQIHZhcmlhYmxlIG9yIG5vdAoJCSdwb3N0JwkJ CT0+ICcwJywJLy8gZXh0cmFjdCBQT1NUIHZhcnMgb3Igbm90CgkJJ3F1aWV0JwkJCT0+ICcw JywJLy8gcmV0dXJuIHZhbHVlIG9yIG5vdAoJCSdnbG9iYWwnCQk9PiAnMScsIC8vIG1ha2Ug dmFycyBnbG9iYWwgb3Igbm90CgkJJ2VzY2FwZScJCT0+ICcnLAkvLyBlc2NhcGUgSFRNTCBl bnRpdGllcyBvciBub3QKCQknZGVjb2RlJwkJPT4gJzAnLAkvLyBwZXJmb3JtIGEgdXJsZGVj b2RlIG9yIG5vdAoJCSdsaXN0JwkJCT0+ICcwJywgLy8gbGlzdCB2YXJpYWJsZSBuYW1lcyBh bmQgdmFsdWVzCgkJJ2RlYnVnJwkJCT0+ICcwJywKCSksICRhdHRzKSk7CgoJaWYgKCRuYW1l ID09ICcnKSB7IC8vIG5vIHNpbmdsZSB2YXIgc3BlY2lmaWVkLCBzbyBhbGwgdmFycyBleHRy YWN0ZWQKCQkkcXVpZXQgPSAxOyAvLyBmb3JjZSBxdWlldCBtb2RlCgkJJG5ldyA9ICcnOyAv LyBkaXNhYmxlIHZhciByZW5hbWUKCQkkZ2V0X2xpc3QgPSBhcnJheV9rZXlzKCRfR0VUKTsK CQkkcG9zdCA/CgkJCSRwb3N0X2xpc3QgPSBhcnJheV9rZXlzKCRfUE9TVCkgOiAkcG9zdF9s aXN0ID0gYXJyYXkoKTsKCQkkbmFtZV9saXN0ID0gYXJyYXlfbWVyZ2UoJGdldF9saXN0LCRw b3N0X2xpc3QpOwoJfQoJZWxzZQoJCSRuYW1lX2xpc3RbXSA9ICRuYW1lOwoKCSRkZWJ1Z19s aXN0ID0gJ2FkaV9ncHMgdmFyaWFibGVzJzsKCWZvcmVhY2ggKCRuYW1lX2xpc3QgYXMgJGlu ZGV4ID0+ICRuYW1lKSB7CgkJJHZhbHVlID0gZ3BzKCRuYW1lKTsgLy8gZXh0cmFjdCB2YWx1 ZQoJCWlmICgkZGVjb2RlKSAvLyBjb252ZXJ0ICVjaGFycwoJCQkkdmFsdWUgPSB1cmxkZWNv ZGUoJHZhbHVlKTsKCQlpZiAoJGVzY2FwZSA9PSAnaHRtbCcpIC8vIGVuY29kZSBjaGFycyAo ZS5nLiBhbXBlcnNhbmQgYmVjb21lcyAmYW1wOykKCQkJJHZhbHVlID0gaHRtbGVudGl0aWVz KCR2YWx1ZSk7CgkJaWYgKCRuZXcpIC8vIHJlbmFtZSB2YXIgKHNpbmdsZSB2YXIgbW9kZSBv bmx5KQoJCQkkbmFtZSA9ICRuZXc7CgkJaWYgKCR0eHB2YXIpIC8vIGNyZWF0ZSBUWFAgdmFy aWFibGUKCQkJcGFyc2UoJzx0eHA6dmFyaWFibGUgbmFtZT0iJy4kbmFtZS4nIiB2YWx1ZT0i Jy4kdmFsdWUuJyIvPicpOwoJCWlmICgkZ2xvYmFsKSAvLyBtYWtlIHRoZSB2YXJpYWJsZSBn bG9iYWwKCQkJJEdMT0JBTFNbJG5hbWVdID0gJHZhbHVlOwoJCWlmICgkbGlzdCkKCQkJJGRl YnVnX2xpc3QgLj0gIjokbmFtZT0kdmFsdWUiOwoJfQoKCWlmICgkZGVidWcpIHsKCQllY2hv ICdTVVBQTElFRCBBVFRSSUJVVEVTOjxici8+JzsKCQlkbXAoJGF0dHMpOwoJCWVjaG8gIkdF VCBWQVJTOjxici8+IjsKCQlkbXAoJF9HRVQpOwoJCWVjaG8gIlBPU1QgVkFSUzo8YnIvPiI7 CgkJZG1wKCRfUE9TVCk7CgkJZWNobyAiQURJX0dQUyBWQVIgTElTVDo8YnIvPiI7CgkJZG1w KCRuYW1lX2xpc3QpOwoJCWVjaG8gIkFMTCBUWFAgVkFSUzo8YnIvPiI7CgkJZG1wKCRHTE9C QUxTWyd2YXJpYWJsZSddKTsKCX0KCglpZiAoJGxpc3QpCgkJcmV0dXJuICRkZWJ1Z19saXN0 Lic8YnIvPic7CgllbHNlCgkJaWYgKCRxdWlldCkgLy8gZG9uJ3QgcmVwb3J0IHZhbHVlCgkJ CXJldHVybiAnJzsKCQllbHNlIC8vIHJldHVybiB2YWx1ZQoJCQlyZXR1cm4gJHZhbHVlOwp9 CiI7czo4OiJoZWxwX3JhdyI7czozMzMzOiJoMS4gKmFkaV9ncHMqIC0gRXh0cmFjdCBHRVQg JiBQT1NUIHZhcmlhYmxlcwoKVGhpcyBwbHVnaW4gZXh0cmFjdHMgR0VUL1BPU1QgdmFyaWFi bGVzIGZyb20gdGhlIFVSTCBhbmQgYXNzaWducyB0aGVtIHRvIFRYUCB2YXJpYWJsZXMuCgpo Mi4gKkF0dHJpYnV0ZXMqCgpAbmFtZT0idmFyIG5hbWUiQAoKLSBhIHNpbmdsZSBHRVQvUE9T VCB2YXJpYWJsZSB0byBleHRyYWN0LiBEZWZhdWx0ID0gIiIgKGV4dHJhY3QgYWxsIEdFVCB2 YXJpYWJsZXMpLiBTZWUgQHBvc3RAIGF0dHJpYnV0ZSBmb3IgZXh0cmFjdGluZyBQT1NUIHZh cmlhYmxlcy4KCkBuZXc9InZhciBuYW1lIkAKCi0gcmVuYW1lIHRoZSB2YXJpYWJsZS4gRGVm YXVsdCA9ICIiIChubyByZW5hbWUpLiBPbmx5IGFwcGxpZXMgd2hlbiByZXRyaWV2aW5nIGEg c2luZ2xlIEdFVC9QT1NUIHZhcmlhYmxlLgoKQHR4cHZhcj0iYm9vbGVhbiJACgotIGR1cGxp Y2F0ZSB0aGUgR0VUL1BPU1QgdmFyaWFibGUgYXMgYSBUWFAgdmFyaWFibGUgb2YgdGhlIHNh bWUgbmFtZS4gRGVmYXVsdCA9ICIxIiAoWWVzKS4gUmVxdWlyZXMgVGV4dHBhdHRlcm4gNC4w LjcuIFN3aXRjaCBvZmYgaWYgdXNpbmcgdmVyc2lvbnMgcHJpb3IgdG8gdGhpcy4KCkBwb3N0 PSJib29sZWFuIkAKCi0gZXh0cmFjdCBQT1NUIHZhcmlhYmxlcyBhcyB3ZWxsLiBEZWZhdWx0 ID0gIjAiIChObykuIE9ubHkgYXBwbGllcyBpbiAiZXh0cmFjdCBhbGwiIG1vZGUuCgpAcXVp ZXQ9ImJvb2xlYW4iQAoKLSBkb24ndCBkaXNwbGF5IHZhcmlhYmxlIHZhbHVlLiBEZWZhdWx0 ID0gIjAiIChkaXNwbGF5IHZhcmlhYmxlIHZhbHVlKS4gT25seSBhcHBsaWVzIHdoZW4gcmV0 cmlldmluZyBhIHNpbmdsZSBHRVQvUE9TVCB2YXJpYWJsZS4gUXVpZXQgbW9kZSBhdXRvbWF0 aWNhbGx5IHN3aXRjaGVkIG9uIHdpdGggImV4dHJhY3QgYWxsIiBtb2RlLgoKQGdsb2JhbD0i Ym9vbGVhbiJACgotIG1ha2UgdGhlIHZhcmlhYmxlIF9fZ2xvYmFsX18gaW4gc2NvcGUuIERl ZmF1bHQgPSAiMSIgKFllcykuCgpAZXNjYXBlPSJtb2RlIkAKCi0gZXNjYXBlIEhUTUwgZW50 aXRpZXMgaW4gdmFyaWFibGUgdmFsdWUuIERlZmF1bHQgPSAiIiAobm8gZXNjYXBlKS4gIFVz ZSBAZXNjYXBlPSJodG1sIkAgdG8gc3dpdGNoIG9uLgoKQGRlY29kZT0iYm9vbGVhbiJACgot IGRlY29kZXMgYW55IHJlbWFpbmluZyAlIyMgZW5jb2RpbmcgaW4gdGhlIHZhcmlhYmxlIHZh bHVlcy4gRGVmYXVsdCA9ICIwIiAoTm8pLiBOb3Qgbm9ybWFsbHkgcmVxdWlyZWQgYnV0IG1h eSBiZSBuZWVkZWQgaWYgVVJMIGhhcyBiZWVuIHByb2Nlc3NlZCBieSBodGFjY2Vzcy4KCkBs aXN0PSJib29sZWFuIkAKCi0gb3V0cHV0cyBhIGxpc3Qgb2YgdGhlIGV4dHJhY3RlZCB2YXJp YWJsZXMgJiB0aGVpciB2YWx1ZXMuIEhhbmR5IGZvciBkZWJ1Z2dpbmcuIERlZmF1bHQgPSAi MCIgKE5vIGxpc3QpLgoKaDIuICpFeGFtcGxlcyoKCkA8dHhwOmFkaV9ncHMgLz5ACgotIGV4 dHJhY3QgYWxsIEdFVCB2YXJpYWJsZXMgYW5kIGR1cGxpY2F0ZSB0aGVtIGFzIFRYUCB2YXJp YWJsZXMuCgpAPHR4cDphZGlfZ3BzIHBvc3Q9IjEiIC8+QAoKLSBleHRyYWN0IGFsbCBHRVQg X19hbmRfXyBQT1NUIHZhcmlhYmxlcyBhbmQgZHVwbGljYXRlIHRoZW0gYXMgVFhQIHZhcmlh Ymxlcy4KCkA8dHhwOmFkaV9ncHMgbmFtZT0ibXl2YXIxIiAvPkAKCi0gZXh0cmFjdCBhIHZh cmlhYmxlIGNhbGxlZCAqbXl2YXIxKiBmcm9tIFVSTCwgY3JlYXRlIGEgVFhQIHZhcmlhYmxl IG9mIHRoZSBzYW1lIG5hbWUgYW5kIGRpc3BsYXkgaXQncyB2YWx1ZS4KCkA8dHhwOmFkaV9n cHMgbmFtZT0ibXl2YXIyIiB0eHB2YXI9IjAiIC8+QAoKLSBleHRyYWN0IGEgdmFyaWFibGUg Y2FsbGVkICpteXZhcjIqIGZyb20gVVJMIGFuZCBkaXNwbGF5IGl0J3MgdmFsdWUuIE5vIFRY UCB2YXJpYWJsZSBpcyBjcmVhdGVkIChzdWl0YWJsZSBmb3IgdXNlIHdpdGggVGV4dHBhdHRl cm4gdmVyc2lvbnMgcHJpb3IgdG8gNC4wLjcpLgoKQDx0eHA6YWRpX2dwcyBuYW1lPSJteXZh cjMiIHF1aWV0PSIxIiAvPkAKCi0gZXh0cmFjdCBhIHZhcmlhYmxlIGNhbGxlZCAqbXl2YXIz KiBmcm9tIFVSTCwgY3JlYXRlIGEgVFhQIHZhcmlhYmxlIG9mIHRoZSBzYW1lIG5hbWUgYnV0 IGRvbid0IGRpc3BsYXkgaXQncyB2YWx1ZS4KCmgyLiAqVXNpbmcgdGhlIFVSTCB2YXJpYWJs ZXMgaW4gcGFnZXMgb3IgZm9ybXMqCgpCZWNhdXNlLCBieSBkZWZhdWx0LCAqYWRpX2dwcyog ZHVwbGljYXRlcyB0aGUgZXh0cmFjdGVkIFVSTCB2YXJpYWJsZXMgYXMgVFhQIHZhcmlhYmxl cyB5b3UgY2FuIHVzZSBhbGwgdGhlIHN0YW5kYXJkIFRYUCB2YXJpYWJsZSB0YWdzIHRvIHBy b2Nlc3MgdGhlbToKCiogQDx0eHA6dmFyaWFibGUgLz5ACiogQDx0eHA6aWZfdmFyaWFibGUg Lz5ACgpGb3IgZXhhbXBsZToKCmJjLiA8dHhwOmFkaV9ncHMgbmFtZT0ibXl2YXIiIHF1aWV0 PSIxIiAvPgo8dHhwOmlmX3ZhcmlhYmxlIG5hbWU9Im15dmFyIiB2YWx1ZT0ic29tZV92YWx1 ZSI+Ci4uLiBkbyBzb21ldGhpbmcgZGlmZmVyZW50IC4uLgo8dHhwOmVsc2UgLz4KLi4uIHRo ZSBzYW1lIG9sZCB0aGluZyAuLi4KPC90eHA6aWZfdmFyaWFibGU+CgpoMi4gKlVzaW5nIFVS TCB2YXJpYWJsZXMgaW4gYXJ0aWNsZXMqCgpZb3UgY2FuIGFsc28gdXNlIEA8dHhwOmFkaV9n cHMgLz5AIHdpdGhpbiBhcnRpY2xlcy4gIEZvciBleGFtcGxlOgoKYnEuIF9fVGhlIHZhbHVl IG9mIG15dmFyIGlzIEA8dHhwOmFkaV9ncHMgbmFtZT0ibXl2YXIiIC8+QCAuLi5fXwoKb3Ig aWYgeW91J3ZlIGFscmVhZHkgZXh0cmFjdGVkIHRoZSB2YXJpYWJsZSBlbHNld2hlcmU6Cgpi cS4gX19UaGUgdmFsdWUgb2YgbXl2YXIgaXMgQDx0eHA6dmFyaWFibGUgbmFtZT0ibXl2YXIi IC8+QCAuLi5fXwoKTm8gZXNjYXBpbmcgZnJvbSBUZXh0aWxlIGlzIHJlcXVpcmVkIChlLmcu IHVzaW5nIEBub3RleHRpbGUuQCBvciBAPT0gLi4uID09QCkuCgpoMi4gKkFjY2Vzc2luZyB0 aGUgZXh0cmFjdGVkIEdFVC9QT1NUIHZhcmlhYmxlcyBpbiBQSFAqCgpCeSBkZWZhdWx0LCAq YWRpX2dwcyogbWFrZXMgZXh0cmFjdGVkIFVSTCB2YXJpYWJsZXMgYXZhaWxhYmxlIGluIHRo ZSBnbG9iYWwgc2NvcGUuIEZvciBleGFtcGxlIGlmICRteXZhcjEsICRteXZhcjIgJiAkbXl2 YXIzIGhhdmUgYmVlbiBleHRyYWN0ZWQgcHJldmlvdXNseSB0aGV5IGNhbiBiZSBhY2Nlc3Nl ZCBpbiBQSFAgc25pcHBldHMgYXMgZm9sbG93czoKCmJjLiA8dHhwOnBocD4KZ2xvYmFsICRt eXZhcjEsJG15dmFyMiwkbXl2YXIzOwplY2hvICIkbXl2YXIxICRteXZhcjIgJG15dmFyMyI7 CjwvdHhwOnBocD4iO3M6MzoibWQ1IjtzOjMyOiI4ZjhlY2UxNGJkMDk2NDYxZWI1ZTc3Njk0 OTM1ZGFkYSI7fQ==