Welcome to the CHICKEN Scheme pasting service

openssl unserver pasted by saeftl on Mon Apr 16 13:42:52 2012

(use posix srfi-1 openssl srfi-12)

(define *testcommands* '(list (uptime) (* 5 4)))

(handle-exceptions
  exn
  (if ((condition-predicate 'openssl) exn)
    (begin
      (display "sometthing went seriously wrong:")
      (display ((condition-property-accessor 'openssl 'status) exn))
      (newline)
      (display ((condition-property-accessor 'openssl 'message) exn))
      (newline))
    (abort exn))
  (begin
(define (testit)
  (let ((listener (ssl-listen 4443 4 #f 'tls)))
    (ssl-load-certificate-chain! listener "servercert.pem")
    (ssl-load-verify-root-certificates! listener "servercert.pem")
    (ssl-load-private-key! listener "server.key")
    (ssl-set-verify! listener #t)
    (let-values
      (((in out) (ssl-accept listener)))
      (with-input-from-port
        in
        (lambda ()
        (write *testcommands* out)
        (display "Wrote" (current-error-port))
        (newline (current-error-port))
        (display *testcommands* (current-error-port))
        (newline (current-error-port))
        (do ((l "" (read-line))) ((eof-object? l)) (display l))))
    )))

(testit)))

server.key pasted by saeftl on Mon Apr 16 13:55:22 2012

-----BEGIN RSA PRIVATE KEY-----
MIIJKgIBAAKCAgEBYoQFbb5ueCTTcdYbq4twrDJz++y5RKEpJt9mZXadpqtJCsmi
mClg+oJhxeWhPj0kaY7bIWPFScnbMyCKl+ou9u2zNFwrUxelCzr8F3IlqZUkJDvo
jF4OCidAE/pKbq0C65tE9j5uDfYfuFjZ/1OOmOnAjNect9cQ5nlYu439a/4QpcTy
gQrQn0Gi02cTVSmfQIHgVY4TjJ+EpcmBHH9c68GRyJxtyE/L4DOd8thL8Qjonjgj
xbCfxNT5w/dagorI/rUN7xQxOdQZOR/eAYJJ5LKr7OxxPLzss6jFA/hovkeeUYXk
2UfDJMgSr+kKyOzJOwPbZQhCPXZA3WWzAJr1ukCc5EkubM4quKDb0v0D7umrzGMQ
Ap9LxyFcVgdcdW54Qcvyg6l5nJ9ZrZI9O/lnNoERHb85TdR+tXFhKFkWhfwWUjRq
gUlBEz5SnRXv6R5TsbjBFYK+LooYce/6Q7QlywKDZc9dndKSJADFpMr34lpEv/vK
vqKU1gQYcwv84Z5zbkJUHfpVZOG8cHhBAf+B50L8FVRdNTQ144VkjwboWEUWf1+T
veTrtGvG+KNl6cpK79ku2SUNkkFk6LlSWHuZMpLqNCQ5JoNwjj8w23IDV/Xdkeek
u8p6jN00hk//fAcJxiIuC21UFQVrGAUaQYHbFYNw9KuxGIuoYb9Zjr9nJqcCAwEA
AQKCAgAzYkVTKcXjPhszpb/u9lAHdWygOCiGTQGk875ouG+TR8JXgPBDM8QtqxY2
09iyJ7SOZDlYtphS4KIX4ACWkkfqXHub/Dv/WC8A2LTPRSk2Ujqh0dkb90n7qMK9
4opFTmhc8+1j75qOBX2Ff8NhIaBKg574CwxZDSAS98WnsaXosDODg29Oyt2AJ8hM
8eS4dEbz159HZ0doG3rjeLhxA/jY5v6VYC79WKuJPJIJL9aaAhuNSz/MGJSft+rX
v5Nr1mfZmy6A16Fm61oYkIjiGRtSvZ7zwTWMgymfxLeBotCzu7ezwz9vStp7C1DC
FHoOs1tbZWy4USEgvXIbZPE0BkHVN0hmsye8rOQSxyWzKL64UlUOX72NJdfxrLkY
NDlLgRW9J1/e1+a/4eFOKF+GWHXf4dG8su06Cgyvr9L/6K6KoPJoHlEHsb8B6vTu
0bhacpFGtaZLKyqbfZ9AMH4bO/rPZdyG4+BNddpu73WJ2+npavCHfsmPb3qqLGXl
Fnw0yLH9R1mykvbYG+k8IUr9kGuJxbmWDjFnl16/cokohI2qgE957yVwt/v9zXJJ
cGd6DK5zHSmxPFym2rIb8RIIcnJk5PFfJjm7u59zQTUw+5dFMa9vClFmS+xUoCph
5m5ASMKt1P0TMHtuuYx3SVYlOkiFBQ4y3IZXUURwdAz6PB8GOQKCAQEBrU/g4nZv
ljpL1LLZAdEJ4FMefFSk1z0ys5u0e2+dtU6AwdHf0p46EleR0nSKBbOPhHiNO5mx
i96GZAnvtBcj+AY5mTDgjSuTBJFiTofX7weAsFD69BNbSHaD3Eqdk2yJSbzkionx
D08AU38apPvvmZMF1aVXyzIDRDfZoT2pUxbmmKXM3n+6K4oKOtNmOrelXGniawe7
A0p1/zRuBDpYcvQGc4rZ1Vp/jV03ot0GDmuk4rLDucqiCA04SHdzkdFXBXzFDfpF
62LNlejLcuJJxBCY51655922dXcNxLybydGxNi6vgEBI4U4OQfhS9XrZdSfcaCyZ
r8bcgf5h2IFiGwKCAQEA02YT02yPYScdqm63IfvAtMseJ4WvPcXhkbXTcyT8vh2K
B/iIP5iwZJrVjXMU96hS7/CK/5ivaTBf30OpoNywiR12L1blP4c2faV6GCUJlkE+
BmO9DfxwjvyRkFKmsQOMWxJSlIpVkxrojQ6pzXxiTbnhn13bPPxQY8J7mY0xbLte
T+IryrQH8GZpg37VYI87Nb26uDD3MTT61+liGl0slfSYtNuJjPKHikyR5sXI6gZE
saHUhXyv1KFvTB9jPiqDXL+MeTW+CMEp1IZJDlljHabmQBtNOrIq06zr8yZzfqe4
cA5WrsdViKHvHSJ0pBlSCBuosoUeoVoFuZyoHZl2ZQKCAQEBYtgIQAa2uswai4b8
OTUn3aO2KfvoeAOcWbpUFkauawKlCA7J2pNv2mNJI1OyFX5SHKNr0Rx7FOnr2Noh
p5AM6d9zUjyFDgo7LWZhhBliEK753kJA+ubY528WFEoULptianFX0W6ssgOReHIx
erbGVwCfrPRKOahv7L3hAxYtU4E1Pmykhi+6mGwzgmXjNJtAcb8PJ3ovSEwOdc9H
M/Vp0DIE9xGIdYGkthqbduELNXYhxkMN5g4nmVIb+EHLY3ZNYDq9wYzgp+t1k/fj
2WRSpl01lN/F93FZc4Pg/IEMn2bT+73gz7fSxW83960iHMba4Kv+0Jg0u4Y6ErRI
+aQPiwKCAQEAuLdcIYSdcCXOvSqK6K3jP9av3Zbpfg+XP0vinJ04HyMOhlJ7Mx7H
GtFUQonJS3GQLso/moEe3MoBK8Qix0WvF9BfgZPrMuyCB539JnXOf7U4bjreagcn
jzlQNAyUTN4t2TIUaGjLx4NeqkqiwsOp3gLLDAbl188cq163w39lLX43NZQJ8dAH
k97Y2aaM6hedhCLpsaJPjHafrOPn7eN2Xv1gJcAi277cAlNPtZcjLKIXiiM+4PkH
ZsM8zgYrIJnjOLrDEvKLv3iRhXtlAJ3IhpNcY623eM9PrrBNZ6Q0jPoepgNRaN0S
dxYQKqP9yZm6XQ1WBc9d6V0Q3ZPuLhb3JQKCAQEAj/qIru7CIvIP+O9Sust2A233
WvRzRqq2eMqle9u/DnIMBA6e27hZqySmgDnnY9yh21QppSSUgU4iy1JVoYM5hCeg
jDgNpyWTQBJGX6rJSkA5mzRPzJemny9sCr98ciV0GinWlpDlMDA7XlexmHORBhw2
iIXDFcT270AcprGxG+HmZrwwRuPUeTm/a0J4B1huXofS6eeZlTvpoqVtytIhTXve
mWJgC1OHp754l7dwj4+BSUDWBhybxPRjT59Mqz5l+oeZX954gkwBzGfBpGRAUjSM
0ti6gpfhWVdD9PAsKozcKw45cfPpRIjTJWHFfHqvqoaOZtsNWYcItPWWerUOQQ==
-----END RSA PRIVATE KEY-----

servercert.pem pasted by saeftl on Mon Apr 16 13:56:04 2012

-----BEGIN CERTIFICATE-----
MIIFrzCCA5YCCQCasyff7FGMzDANBgkqhkiG9w0BAQUFADCBmDELMAkGA1UEBhMC
WFgxCzAJBgNVBAgTAllZMQswCQYDVQQHEwJaWjEsMCoGA1UEChMjTm9ydGggTWFs
ZGVuIEljZWxhbmRpYyBTYWdhIFNvY2lldHkxQTA/BgNVBAMTOHNjaGxlcHBlcmxl
LjNhNTJjZTc4MDk1MGQ0ZDk2OTc5MmEyNTU5Y2Q1MTlkN2VlOGM3Mjcub3JnMB4X
DTEyMDQxMzE4MTMyOVoXDTIyMDQxMTE4MTMyOVowgZgxCzAJBgNVBAYTAlhYMQsw
CQYDVQQIEwJZWTELMAkGA1UEBxMCWloxLDAqBgNVBAoTI05vcnRoIE1hbGRlbiBJ
Y2VsYW5kaWMgU2FnYSBTb2NpZXR5MUEwPwYDVQQDEzhzY2hsZXBwZXJsZS4zYTUy
Y2U3ODA5NTBkNGQ5Njk3OTJhMjU1OWNkNTE5ZDdlZThjNzI3Lm9yZzCCAiIwDQYJ
KoZIhvcNAQEBBQADggIPADCCAgoCggIBAWKEBW2+bngk03HWG6uLcKwyc/vsuUSh
KSbfZmV2naarSQrJopgpYPqCYcXloT49JGmO2yFjxUnJ2zMgipfqLvbtszRcK1MX
pQs6/BdyJamVJCQ76IxeDgonQBP6Sm6tAuubRPY+bg32H7hY2f9TjpjpwIzXnLfX
EOZ5WLuN/Wv+EKXE8oEK0J9BotNnE1Upn0CB4FWOE4yfhKXJgRx/XOvBkcicbchP
y+AznfLYS/EI6J44I8Wwn8TU+cP3WoKKyP61De8UMTnUGTkf3gGCSeSyq+zscTy8
7LOoxQP4aL5HnlGF5NlHwyTIEq/pCsjsyTsD22UIQj12QN1lswCa9bpAnORJLmzO
Krig29L9A+7pq8xjEAKfS8chXFYHXHVueEHL8oOpeZyfWa2SPTv5ZzaBER2/OU3U
frVxYShZFoX8FlI0aoFJQRM+Up0V7+keU7G4wRWCvi6KGHHv+kO0JcsCg2XPXZ3S
kiQAxaTK9+JaRL/7yr6ilNYEGHML/OGec25CVB36VWThvHB4QQH/gedC/BVUXTU0
NeOFZI8G6FhFFn9fk73k67RrxvijZenKSu/ZLtklDZJBZOi5Ulh7mTKS6jQkOSaD
cI4/MNtyA1f13ZHnpLvKeozdNIZP/3wHCcYiLgttVBUFaxgFGkGB2xWDcPSrsRiL
qGG/WY6/ZyanAgMBAAEwDQYJKoZIhvcNAQEFBQADggICAAAUxSQ/zt5mF25HAJMD
3bL9ErPsolJy7jnRZatG/dBKso0RU2qzod08DRXdgKLVe1cU65efB1MMWP51ov88
t4sfVjL010kebiBqfIdcuiaQqoWh5wOdtgd6hipKdo1YmdT5mncNKlq2lXP0LM01
POCKg9GyhELCM7qYGZBOUujOfIoMNDtftoDP2g7Mfq1SLjpqBQbnUm9elUZuQqMt
9gpRi7+Z9+67QP9YI1Fnb6Kup8r44XcTnPqiMZN07WymXKTBQYHnCNFDpvgWKEI7
C8c4vXWt6YrQ2rRuxMcPzts+Ut4ybXGcX2SJM8FbgcDUaiOxCgP91ao45T9FYiFQ
+lH/L1cL8BUsH77b+PZBDOFGL6FGTnOk2ObJ3LF4CZd9Ohz+nR1QAJ3v+jFZBfuh
B7Aee+w6m4eraTkox1yxzr0Y+V+J6NkHC/HxexBLspccn/mB3qXlDzfJOz9emhm6
yvUIfBWA2pNaTMJrzYZoeTQg4lSDu7S0rb1Tw9qxDGomm1UCKkgjJI/KBFbJtoA6
oriEkGZOEQrmbnH6TFzTh8Ft5CcCW28Vk4fDdyMKj9RWadDhiABmBGDrxn31/Q03
Opdtgi4nMHlIiZa3D+AmoTLjdWR8+68TRQDs8zJKufwMA8zluINBySlBN7YDdabE
JJL+kAqGjnfpgSRWDPCYe20NoQ==
-----END CERTIFICATE-----

tsl client part pasted by saeftl on Mon Apr 16 14:39:21 2012

(use openssl srfi-1 posix srfi-12 ports environments)

(define *theenv* (environment-copy (scheme-report-environment 5) #t))
(environment-extend! *theenv* 'uptime 100)
(environment-extend! *theenv* 'get-uptime (lambda() (* 20 5)))

(define *standard-output* (open-output-file* fileno/stdout))
(define *ctx* (ssl-make-client-context 'tls))
(ssl-load-certificate-chain! *ctx* "clientcert.pem")
(ssl-load-verify-root-certificates! *ctx* "servercert.pem")
(ssl-load-private-key! *ctx* "client.key")
(ssl-set-verify! *ctx* #t)

(define (parseit p)
  (with-input-from-port
    p
    (lambda ()
      (let ((buffer (apply string-append (read-lines p 1)))) ;; XXX man kann nicht auf eof warten..
		(display buffer (current-error-port))
		(let ((sexpr
        (handle-exceptions
          exn
          (if ((condition-predicate 'syntax) exn)
            #t
            (abort exn))
          (with-input-from-string buffer read))))
		  (if (not (list? sexpr)) #t
			sexpr))))))

(define (getcommands)
	(let-values (((inport outport) (ssl-connect "localhost" 4443 *ctx*)))
			(display "got tls!")
			(newline)
			(let ((ret (parseit inport)))
				(write (eval ret *theenv*) outport))
		(close-output-port outport)
		(close-input-port inport)))

(getcommands)

client.key pasted by saeftl on Mon Apr 16 14:43:10 2012

-----BEGIN RSA PRIVATE KEY-----
MIIEXAIBAAKB8wCbfDh2ojMjajwr4ScWdMFYu2TiAN+BX8QzdTzv3Swggo0Q5Xpp
FWadi8eeJLjv+WPKI47fHCtgGHW9WqM3/HfDUPt36a1YFC6Gb74K5KWAyUEZr73l
I5URLMT2uYYNj7ShSI5IH0fITD+hKwdRlpvvCr5JqHcpuZTinCOuqI3Vi0aS++gC
Ei6uim16hEj0Lmlu1xaE6PNrdBIRSaXm8+CDRZar4wAVh6QicZIDIY/71ycIe9gr
CV996goj6dmPU3OCziP1hCJm/jCIAx6+2y3V8RAVUfLds0gfdYPYjtCeSh5aTLZS
YJWqLDjCafVHjpgXkwIDAQABAoHyPEjjk4u8DCUqg1De2OQX+xFdQgtYnU7GQbVZ
FR9J9qjnjP+MgKXdjYQet4BBfDnTqRI0WOkRIEcbj3lPA2wN+1qwxYOCxD2+9Dzr
EEoqqU5ewVjUZb1wFKKpE4hHI4buYAJDuE74g/6cRR7rzYR5nSsrMF/zI+higweU
9phRYHAjgmBJiGJhOVUMUe/BFHIDS4zNELdwD4pKO81SGz6+q64RAXBeC7a3VXqr
VsVvoDW/JA79ZPzSgQeJuNtvTrf8vyaFkxs4O461KPcBpyOPi1wGD4sGu8ctdXUM
Ni+nKq7qPphACfKHId/dP1pJLSKVzVECegDILFxD/3BxGR+Jrj4A3CiW77fl7M9e
IUDWQBlpQ2cgQcVBOUQpQLPsOHRcarV9BtRT3OWUxRcs8bLUkn/1qlvv544ydesl
WPOyQupymSM8Lbl7hgnvxM6OzyvPXt8q8PIDDJGOBO6rSEc/tjcStq1QmN14qTBl
bjCtAnoAxtlMF94J2Y74Nq9FcuPyB9NdoNkmSy05WLQcL2I//JarGlu+sKb/wtLo
bMbxNhYuKKkcp9RJVp1JvmOhgPapGXrvxe9/bzZam0cA8gdpxUSZLAfezFpZx5dr
JCy4QHmL17iCWEqf8Xr2jeksqtmvMQb3lenoVe0xPwJ5EusuZTbVN7s6IdcYARjN
tUY+yTpSdwEJkbZJMIuwSXot3HY/HO8CkkbbqIhlUsW8d5ifEip2gEbvseuOsHdD
bS8jX12JtePsVGLCqcYTcHKZ3zTR55lgNFscNuMukG5pUSR09Uk+DW4tXbYpClm9
k6p+9BJ5gnyhmQJ5XxP3dlIMk6HwvPUBV/X1/BfsZMRvsvJkwS0dbOqlfbjtByVn
AEBZemYuDBTzsNDaMUbrFLREfM2oPQiWaHuIT06g5xuk6yAqIqTIpvE0ecZbFtqM
hVmOJAkaial4UBvN6c+nQ2ArKeOJkEE1wltjkSWrrFqzZKKNMQJ5cTJlBL86U+pn
IPHcTaMcTeDFDMzt8DQJUjyUnBp5eMXn7MYxHlKfCnzmB+Zmnu1tfqFE2ZT1FKuu
57xn+Sn5cCHn8AZhbRz+c8RsrntjKp6kq2/LxIxgX5GxjjHX6W/4OGL5mCicGtli
rOFBxSl3v6pe0KBo4Qm/Lg==
-----END RSA PRIVATE KEY-----

clientcert.pem added by saeftl on Mon Apr 16 14:43:45 2012

Certificate:
    Data:
        Version: 1 (0x0)
        Serial Number:
            dc:a0:d1:48:9b:a6:29:c5
        Signature Algorithm: sha1WithRSAEncryption
        Issuer: C=XX, ST=YY, L=ZZ, O=North Malden Icelandic Saga Society, CN=schlepperle.3a52ce780950d4d969792a2559cd519d7ee8c727.org
        Validity
            Not Before: Apr 14 22:02:17 2012 GMT
            Not After : Apr 14 22:02:17 2013 GMT
        Subject: C=AA, ST=BB, L=CC, O=DD, OU=EE, CN=schlepperle.3a52ce780950d4d969792a2559cd519d7ee8c727.org
        Subject Public Key Info:
            Public Key Algorithm: rsaEncryption
                Public-Key: (1936 bit)
                Modulus:
                    00:9b:7c:38:76:a2:33:23:6a:3c:2b:e1:27:16:74:
                    c1:58:bb:64:e2:00:df:81:5f:c4:33:75:3c:ef:dd:
                    2c:20:82:8d:10:e5:7a:69:15:66:9d:8b:c7:9e:24:
                    b8:ef:f9:63:ca:23:8e:df:1c:2b:60:18:75:bd:5a:
                    a3:37:fc:77:c3:50:fb:77:e9:ad:58:14:2e:86:6f:
                    be:0a:e4:a5:80:c9:41:19:af:bd:e5:23:95:11:2c:
                    c4:f6:b9:86:0d:8f:b4:a1:48:8e:48:1f:47:c8:4c:
                    3f:a1:2b:07:51:96:9b:ef:0a:be:49:a8:77:29:b9:
                    94:e2:9c:23:ae:a8:8d:d5:8b:46:92:fb:e8:02:12:
                    2e:ae:8a:6d:7a:84:48:f4:2e:69:6e:d7:16:84:e8:
                    f3:6b:74:12:11:49:a5:e6:f3:e0:83:45:96:ab:e3:
                    00:15:87:a4:22:71:92:03:21:8f:fb:d7:27:08:7b:
                    d8:2b:09:5f:7d:ea:0a:23:e9:d9:8f:53:73:82:ce:
                    23:f5:84:22:66:fe:30:88:03:1e:be:db:2d:d5:f1:
                    10:15:51:f2:dd:b3:48:1f:75:83:d8:8e:d0:9e:4a:
                    1e:5a:4c:b6:52:60:95:aa:2c:38:c2:69:f5:47:8e:
                    98:17:93
                Exponent: 65537 (0x10001)
    Signature Algorithm: sha1WithRSAEncryption
        01:27:35:44:b9:01:0a:b8:18:ff:3a:e5:20:b3:80:76:8d:b6:
        85:33:b6:d3:b4:20:31:1e:5b:91:40:8b:bf:15:77:aa:25:dd:
        8d:d1:4b:49:66:25:7b:cd:f6:71:dd:5e:cf:87:fc:ca:31:56:
        6a:0e:37:e1:9f:92:c0:71:a6:9f:c4:48:d8:3c:6c:35:ef:b4:
        4a:88:7d:3a:4d:fb:a9:23:d7:61:55:5d:8a:49:cf:07:d4:89:
        41:42:44:98:76:17:89:b7:e2:06:ac:77:bc:18:29:c2:d0:a7:
        2f:65:89:a8:0e:8d:86:65:f4:03:1d:c6:1a:d6:aa:19:e6:9a:
        6e:56:59:6f:6d:40:70:bc:71:b7:c7:88:6a:76:4f:72:36:f0:
        e9:d2:ba:e5:13:1f:73:17:b4:47:7b:4e:a2:3a:d1:cf:96:25:
        ef:ab:e7:49:99:98:a1:ad:96:bc:64:c1:ed:e4:33:29:ce:42:
        08:bb:8e:37:41:74:17:a8:7a:fa:1e:b9:0d:51:33:41:e0:68:
        34:19:14:a3:b2:c9:c3:52:9f:80:b3:54:ff:9b:a3:54:61:bc:
        24:94:61:10:7c:b7:cf:25:fa:81:aa:a5:a2:97:96:f7:6f:9d:
        da:3a:67:17:48:58:df:27:df:ef:e7:77:e1:5a:05:5d:22:32:
        c6:ac:97:fd:97:03:07:cc:70:f5:61:bd:d2:84:01:fd:50:af:
        d0:da:78:69:ab:a2:34:91:af:8b:1d:f0:16:76:61:e4:a0:8d:
        d9:13:06:e7:a4:22:2b:4d:63:b8:63:a7:99:e5:f3:b8:6b:32:
        f9:6e:4a:dd:56:4c:6a:8a:b1:06:ef:bb:b1:2f:60:57:d6:f2:
        18:9f:db:fd:51:8e:e7:e5:6c:fd:3c:81:8b:42:21:da:e3:5a:
        38:02:a3:00:ce:30:ab:a4:38:56:f8:e7:3e:fd:d1:df:3f:eb:
        60:0d:c6:f3:bb:f7:77:96:88:e5:f7:fb:9f:3e:0a:92:2c:47:
        6d:f4:14:00:25:12:d4:42:c7:99:16:10:5c:86:8c:00:e3:ae:
        a9:08:e1:07:5f:f3:f2:3d:07:03:62:44:62:c7:62:46:4a:84:
        b9:62:53:05:18:5f:6e:61:ba:a1:28:e2:97:73:18:ed:c9:20:
        16:c1:fc:87:cb:be:cf:58:34:5a:36:42:73:42:94:e9:fe:1f:
        74:59:d0:f3:43:1e:5d:4b:b0:c1:08:87:dc:a0:2b:77:d8:26:
        dc:01:f0:7c:14:1b:b0:ca:4e:e0:9c:57:30:45:3a:22:fc:65:
        ae:20:ee:69:7f:0e:b6:66:1f:d7:21:0d:36:e3:6e:87:d7:fb:
        b7:cb:27:38:7a:a1:0e:ef:65
-----BEGIN CERTIFICATE-----
MIIEijCCAnECCQDcoNFIm6YpxTANBgkqhkiG9w0BAQUFADCBmDELMAkGA1UEBhMC
WFgxCzAJBgNVBAgTAllZMQswCQYDVQQHEwJaWjEsMCoGA1UEChMjTm9ydGggTWFs
ZGVuIEljZWxhbmRpYyBTYWdhIFNvY2lldHkxQTA/BgNVBAMTOHNjaGxlcHBlcmxl
LjNhNTJjZTc4MDk1MGQ0ZDk2OTc5MmEyNTU5Y2Q1MTlkN2VlOGM3Mjcub3JnMB4X
DTEyMDQxNDIyMDIxN1oXDTEzMDQxNDIyMDIxN1owgYQxCzAJBgNVBAYTAkFBMQsw
CQYDVQQIEwJCQjELMAkGA1UEBxMCQ0MxCzAJBgNVBAoTAkREMQswCQYDVQQLEwJF
RTFBMD8GA1UEAxM4c2NobGVwcGVybGUuM2E1MmNlNzgwOTUwZDRkOTY5NzkyYTI1
NTljZDUxOWQ3ZWU4YzcyNy5vcmcwggERMA0GCSqGSIb3DQEBAQUAA4H/ADCB+wKB
8wCbfDh2ojMjajwr4ScWdMFYu2TiAN+BX8QzdTzv3Swggo0Q5XppFWadi8eeJLjv
+WPKI47fHCtgGHW9WqM3/HfDUPt36a1YFC6Gb74K5KWAyUEZr73lI5URLMT2uYYN
j7ShSI5IH0fITD+hKwdRlpvvCr5JqHcpuZTinCOuqI3Vi0aS++gCEi6uim16hEj0
Lmlu1xaE6PNrdBIRSaXm8+CDRZar4wAVh6QicZIDIY/71ycIe9grCV996goj6dmP
U3OCziP1hCJm/jCIAx6+2y3V8RAVUfLds0gfdYPYjtCeSh5aTLZSYJWqLDjCafVH
jpgXkwIDAQABMA0GCSqGSIb3DQEBBQUAA4ICAgABJzVEuQEKuBj/OuUgs4B2jbaF
M7bTtCAxHluRQIu/FXeqJd2N0UtJZiV7zfZx3V7Ph/zKMVZqDjfhn5LAcaafxEjY
PGw177RKiH06TfupI9dhVV2KSc8H1IlBQkSYdheJt+IGrHe8GCnC0KcvZYmoDo2G
ZfQDHcYa1qoZ5ppuVllvbUBwvHG3x4hqdk9yNvDp0rrlEx9zF7RHe06iOtHPliXv
q+dJmZihrZa8ZMHt5DMpzkIIu443QXQXqHr6HrkNUTNB4Gg0GRSjssnDUp+As1T/
m6NUYbwklGEQfLfPJfqBqqWil5b3b53aOmcXSFjfJ9/v53fhWgVdIjLGrJf9lwMH
zHD1Yb3ShAH9UK/Q2nhpq6I0ka+LHfAWdmHkoI3ZEwbnpCIrTWO4Y6eZ5fO4azL5
bkrdVkxqirEG77uxL2BX1vIYn9v9UY7n5Wz9PIGLQiHa41o4AqMAzjCrpDhW+Oc+
/dHfP+tgDcbzu/d3lojl9/ufPgqSLEdt9BQAJRLUQseZFhBchowA466pCOEHX/Py
PQcDYkRix2JGSoS5YlMFGF9uYbqhKOKXcxjtySAWwfyHy77PWDRaNkJzQpTp/h90
WdDzQx5dS7DBCIfcoCt32CbcAfB8FBuwyk7gnFcwRToi/GWuIO5pfw62Zh/XIQ02
426H1/u3yyc4eqEO72U=
-----END CERTIFICATE-----

Your annotation:

Enter a new annotation:

Your nick:
The title of your paste:
Your paste (mandatory) :
Which module provides `load-relative'?
Visually impaired? Let me spell it for you (wav file) download WAV