[submodule "lib/tool/openssl"]
path = lib/tool/openssl
url = git://git.autogeree.net/tool/openssl
+[submodule "etc/gitolite"]
+ path = etc/gitolite
+ url = git@ateliers.heureux-cyclage.org:gitolite-admin
--- /dev/null
+Subproject commit 3f7a2f4e12a66d9444e507c21e21f9acc5bed3f5
--- /dev/null
+..
\ No newline at end of file
--- /dev/null
+ SERVICE = git
+ RANDFILE = var/sec/x509/openssl.rand
+ oid_section = extra_oids
+[ extra_oids ]
+ # NOTE: pour une éventuelle validation étendue (Extended Validation (EV))
+ jurisdictionOfIncorporationLocalityName = 1.3.6.1.4.1.311.60.2.1.1
+ jurisdictionOfIncorporationStateOrProvinceName = 1.3.6.1.4.1.311.60.2.1.2
+ jurisdictionOfIncorporationCountryName = 1.3.6.1.4.1.311.60.2.1.3
+[ req ]
+ prompt = no
+ distinguished_name = distinguished_name
+ string_mask = pkix
+ #x509_extensions = root_extensions
+ #req_extensions = extension
+ #attributes = req_attributes
+[ distinguished_name ]
+ countryName = $ENV::x509_country
+ stateOrProvinceName = $ENV::x509_state_or_province
+ localityName = $ENV::x509_state_or_province
+ 0.organizationName = $ENV::x509_organization
+ organizationalUnitName = Service Git
+ commonName = $SERVICE.$ENV::x509_host
+ businessCategory = $ENV::x509_business_category
+ jurisdictionOfIncorporationLocalityName = $ENV::x509_state_or_province
+ jurisdictionOfIncorporationStateOrProvinceName = $ENV::x509_state_or_province
+ jurisdictionOfIncorporationCountryName = $ENV::x509_country
+[ extensions ]
+ basicConstraints = critical,CA:TRUE,pathlen:0
+ keyUsage = keyCertSign,cRLSign,digitalSignature,keyEncipherment
+ subjectAltName = email:contact+$SERVICE@$ENV::x509_host,DNS:$SERVICE.$ENV::x509_host,DNS:$ENV::x509_host
+ subjectKeyIdentifier = hash
+ issuerAltName = issuer:copy
+ authorityKeyIdentifier = keyid:always,issuer:always
+ authorityInfoAccess = caIssuers;URI:http://www.$ENV::x509_host/x509/crt.pem
+ crlDistributionPoints = URI:http://www.$ENV::x509_host/x509/$SERVICE/crl.pem
+ certificatePolicies = @certificate_policies
+[ self_signed_extensions ]
+ basicConstraints = critical,CA:TRUE,pathlen:0
+ keyUsage = keyCertSign,cRLSign,digitalSignature,keyEncipherment
+ subjectAltName = email:contact+$SERVICE@$ENV::x509_host,DNS:$SERVICE.$ENV::x509_host,DNS:$ENV::x509_host
+ subjectKeyIdentifier = hash
+ issuerAltName = issuer:copy
+ authorityKeyIdentifier = keyid:always,issuer:always
+ authorityInfoAccess = caIssuers;URI:http://www.$ENV::x509_host/x509/$SERVICE/crt.pem
+ crlDistributionPoints = URI:http://www.$ENV::x509_host/x509/$SERVICE/crl.pem
+[ user_extensions ]
+ basicConstraints = critical,CA:FALSE,pathlen:0
+ keyUsage = digitalSignature,keyEncipherment
+ subjectAltName = email:$ENV::user@$ENV::x509_host
+ subjectKeyIdentifier = hash
+ issuerAltName = issuer:copy
+ authorityKeyIdentifier = keyid:always,issuer:always
+ authorityInfoAccess = caIssuers;URI:http://www.$ENV::x509_host/x509/$SERVICE/crt.pem
+[ certificate_policies ]
+ policyIdentifier = 1.2.250.1.42
+ CPS.1 = https://www.$ENV::x509_host/x509/cps
+[ ca ]
+ private_key = var/sec/x509/$ENV::x509/key.pem
+ dir = var/pub/x509/$ENV::x509
+ crl_dir = $dir
+ crlnumber = $dir/crl.num
+ crl = $dir/crl.pem
+ database = $dir/idx.txt
+[ self_signed_ca ]
+ private_key = var/sec/x509/$ENV::x509/key.pem
+ dir = var/pub/x509/$ENV::x509
+ crl_dir = $dir
+ crlnumber = $dir/crl.self-signed.num
+ crl = $dir/crl.self-signed.pem
+ database = $dir/idx.self-signed.txt
--- /dev/null
+ SERVICE = git
+ HOME = .
+ RANDFILE = var/sec/x509/openssl.rand
+[ req ]
+ prompt = no
+ distinguished_name = user_distinguished_name
+ string_mask = pkix
+[ user_distinguished_name ]
+ countryName = $ENV::COUNTRY
+ stateOrProvinceName = $ENV::STATE_OR_PROVINCE
+ #localityName =
+ 0.organizationName = $ENV::ORGANIZATION
+ organizationalUnitName = Certificat utilisateurice du service Git
+ commonName = $ENV::USER
--- /dev/null
+#!/bin/sh -efux
+install -d -m 770 -o log.git-daemon -g log.git-daemon /home/git/log/git-daemon/
+exec chpst -u log.git-daemon svlogd -tt /home/git/log/git-daemon/
--- /dev/null
+#!/bin/sh -efux
+exec 2>&1
+exec /usr/bin/chpst \
+ -u git-daemon:git-daemon \
+ /usr/bin/git daemon \
+ --base-path=/home/git/pub/git \
+ --interpolated-path=/home/git/srv/git/%H%D \
+ --reuseaddr \
+ --syslog \
+ --user-path=pub/git \
+ --verbose \
+ -- \
+ /home/git/pub/git
--- /dev/null
+local run_user="$user"-daemon
+id "$run_user" >/dev/null ||
+sudo adduser \
+ --disabled-login \
+ --disabled-password \
+ --group \
+ --home /home/git/pub \
+ --shell /bin/false \
+ --system \
+ "$run_user"
+log_user=git-daemon-log
+id "$log_user" >/dev/null ||
+sudo adduser \
+ --disabled-login \
+ --disabled-password \
+ --group \
+ --home /home/git/log/git-daemon \
+ --shell /bin/false \
+ --system \
+ "$log_user"
--- /dev/null
+#!/bin/sh -efux
+exec 2>&1
+run_user=git-spawn-fcgi-80
+sock_user=www-data
+exec /usr/bin/spawn-fcgi
+ -g "$run_user" \
+ -G "$sock_user" \
+ -M 0660 \
+ -n \
+ -s /run/nginx/fastcgi/spawn-fcgi.git.80.git.heureux-cyclage.org \
+ -u "$run_user" \
+ -U "$sock_user" \
+ -- /usr/bin/multiwatch \
+ --forks 10 \
+ -- /usr/sbin/fcgiwrap
#!/bin/sh
set -e -f ${DRY_RUN:+-n} -u
-tool=${0%/*}
+tool=${0%/*}/..
ssh \
-o StrictHostKeyChecking=yes \
- -o UserKnownHostsFile=etc/openssh/known_hosts \
+ -o UserKnownHostsFile="$tool"/etc/openssh/known_hosts \
-o HashKnownHosts=no \
"$@"
--- /dev/null
+#!/bin/sh
+set -e -f -u
+tool=${0%/*}/..
+gpg --decrypt "$tool"/var/sec/ssh/$SSH_ID.pass.gpg
--- /dev/null
+ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQC9g0NAFgkl8C40d4qJzf55GM2CCmAVJxP2WkMsuwpvgQMmqZxRTcYz8gqWAUb6OnIH9Kgnw5AsFuknlcn4Hp0MuUQpCO0RTmXiYjEcqDwJQ7VWhrJ7Gjq771KkB6mz5KS8PbmpvFvK2K3ZtAbgtvH99qYU4zz35TIZsdNqf3yBBPgvFmCuRl5vrsEufVCEUrbD4ny+zaWIN3PNPz+3wwL8Nlk24Sp0fUAS/yXPvIEIcWGW9yKUSsQC1Up9c9doweQDng4Cckogzsn1jugNJhetzmJ0nv2nrHYwZJirImzFqEKT6I7WRpqRGpnAKEPIWYQ2VMHGnYDfTWzjlQIz1Od63HxoqEq3VrluWceNAybXMjo4oRaZH/HvPUOxq/faXVF4+HSJ0UyOHs8x12NVTD5XnUd5+WzLozfYN+B+KA4lBsSb3sILB58d+s3XRSj7oJ65zupAuPYCvl8VoZUsB5QXBh+bhUdK3fhf6wjuHEG5Kf6+1q+Nqmo0RtI3prHnI5THriigQIoIZUeM2fo/pTm9Mo+ZU6h7i9yJAyc+t2a088N47tEVoE5uwmaNV/rWTkxdF4yYuyZytezpXFd+vf1DDYrQoDufa43R4J4I32qLUW/yDTE9oxf8nh7QyCZukeGlAgwsBZTFzhdUQGY98quebUEMYCxwDIg7ij2X7oNPSQ== git@ateliers.heureux-cyclage.org
--- /dev/null
+..
\ No newline at end of file
--- /dev/null
+-----BEGIN X509 CRL-----
+MIIDszCCAZsCAQEwDQYJKoZIhvcNAQENBQAwggFXMQswCQYDVQQGEwJGUjEfMB0G
+A1UECB4WAFIAaAD0AG4AZQAtAEEAbABwAGUAczEfMB0GA1UEBx4WAFIAaAD0AG4A
+ZQAtAEEAbABwAGUAczEaMBgGA1UEChMRTCdIZXVyZXV4LUN5Y2xhZ2UxFDASBgNV
+BAsTC1NlcnZpY2UgR2l0MSAwHgYDVQQDExdnaXQuaGV1cmV1eC1jeWNsYWdlLm9y
+ZzFLMEkGA1UEDx5CAFYAMQAuADAALAAgAG4AaQAgAGQAaQBlAHUAIABuAGkAIABt
+AGEA7gB0AHIAZQAgAG4AaQAgAG0AbwB0AGUAdQByMScwJQYLKwYBBAGCNzwCAQEe
+FgBSAGgA9ABuAGUALQBBAGwAcABlAHMxJzAlBgsrBgEEAYI3PAIBAh4WAFIAaAD0
+AG4AZQAtAEEAbABwAGUAczETMBEGCysGAQQBgjc8AgEDEwJGUhcNMTMwMzE2MjAx
+OTEwWhcNMjMwMzE3MjAxOTEwWqAOMAwwCgYDVR0UBAMCAQAwDQYJKoZIhvcNAQEN
+BQADggIBAIfLwh96SaYNNPFKVuy0rIIZVF83gxrec3PI5udxwlizANli9PQjcedq
+Z5LaWpKquerzUqwopUUW6Vd78Y7jIBu0UCGIZarT/kiDm3lM+YWsZVayqDBCDpu8
+Lmfa7S1ZtrvrMKIWtGhBuhoYpdeHu+gkT7U5qAi3IOvfPE69i7TqSuQl9KQsTJzj
+z+X+cJWsN50TebZxf//F0C8ia7JMJbA2ub82KCVKXsDrxFA7AdpaQBcGZ+4FGiwy
+4Zuy2yWpurLYOpL1lp7seVvMUsul6aQ7hwFmbeSmz41ijpitY4gTExiYinyfmYYd
+eQCMC1bMxQ3asjndIf16vfSMS6dagZigt+jTUfiGQKPRpU0cuYZPEXFpUrvxD7SE
+OjpkJKpHBDgp5FyJ0skxCJ1XnoozweiGSrGPtK6OtiEUAIHcFpjkd6vi9J2AuhNx
+V75+uGw1F5CxaofOTqv0k0L8K33/x8CO1pPoHndOExJk5uJGDQw7NKxy5kQ5TNkP
+Dw228Ug0ofD2Gp4NlcfOWm+kZt40T+V2kD6BKynY9g6NBnV+0oU+Baz03LFhgUoE
+d4DqmKg+o8iMptEXifYlOtzoc5Trs3nA1ANtY0mNJUsDRd4LX+zXZvjrksrNQzqw
+e8x+usf1E2JOWVpOG5ou2CaRjqe9RxRJhItZIGumcxI3yi7VdT5M
+-----END X509 CRL-----
--- /dev/null
+-----BEGIN X509 CRL-----
+MIIDszCCAZsCAQEwDQYJKoZIhvcNAQENBQAwggFXMQswCQYDVQQGEwJGUjEfMB0G
+A1UECB4WAFIAaAD0AG4AZQAtAEEAbABwAGUAczEfMB0GA1UEBx4WAFIAaAD0AG4A
+ZQAtAEEAbABwAGUAczEaMBgGA1UEChMRTCdIZXVyZXV4LUN5Y2xhZ2UxFDASBgNV
+BAsTC1NlcnZpY2UgR2l0MSAwHgYDVQQDExdnaXQuaGV1cmV1eC1jeWNsYWdlLm9y
+ZzFLMEkGA1UEDx5CAFYAMQAuADAALAAgAG4AaQAgAGQAaQBlAHUAIABuAGkAIABt
+AGEA7gB0AHIAZQAgAG4AaQAgAG0AbwB0AGUAdQByMScwJQYLKwYBBAGCNzwCAQEe
+FgBSAGgA9ABuAGUALQBBAGwAcABlAHMxJzAlBgsrBgEEAYI3PAIBAh4WAFIAaAD0
+AG4AZQAtAEEAbABwAGUAczETMBEGCysGAQQBgjc8AgEDEwJGUhcNMTMwMzE2MjAx
+OTExWhcNMjMwMzE3MjAxOTExWqAOMAwwCgYDVR0UBAMCAQAwDQYJKoZIhvcNAQEN
+BQADggIBAMtU4RFVk9YcjsMMfXIqj2jZkDAolAfCOcYtQJJUrAYtKiZezznivXZR
+uC82f5pm7xSP1nhzdLR1ZrASiaCoSnfzvjInTY6wSkR8JwLfjvJmLZA5e53Kp7Mq
+KumP3mxRAjnjxkTaYP2slsewuwlWH2y9mJryBSwS3FnrKE+wFk3i63HVQR4SdNU9
+U/8ccwP1mahP/YYuCaRvvigAzIIrVM4s9XC9HZ/PpBB6cAOLL5j3P9dnnKmlP2hq
+P1sfB74O1qLkhdKl59FO3zY4yDIF8c3N8YSAw4ASAxPxRbtvI2a3Zra+t8kQajET
+45i58GYwzX/cZgQuNt1Yv5BQU0RuqcwiW8qheh9EWu9isCrjh+8jz7sPxubDxj1y
+9Ly6aP7dmwBrakSSyMeffGXsRBw0Ew0gBB8Jaan6gfW4VJzPG1LCt6aePpntE0qN
+MlKEZA4SnKokvzI0mfbS2UFa5uCqgHutuqsyTXssRINu4DFBrTY5zCpO1JkPnJKk
+8YsHed9oOvaWbrCaYVzbLnuCnaInnr93kWrFLzkelQLA94jvLMVj2Hab+9sDMitA
+ssJUAhcKV59sPWHY+y2miR8s98WbpjqewDTd8OrAbBjx6mNempJW5vnUHNhOCC9v
+QybJHQ8clcHWlqhslCxzVU7OegHypYkK+Exp6O5lFPArDs8SAEpx
+-----END X509 CRL-----
--- /dev/null
+-----BEGIN CERTIFICATE-----
+MIIJ4zCCB8ugAwIBAgIHIBMDFiEZEDANBgkqhkiG9w0BAQ0FADCCARYxHDAaBgNV
+BAMTE2hldXJldXgtY3ljbGFnZS5vcmcxCzAJBgNVBAYTAkZSMQswCQYDVQQrEwJI
+QzEcMBoGA1UEChMTaGV1cmV1eC1jeWNsYWdlLm9yZzFXMFUGA1UECx5OAEEAbgB0
+AGkALQBhAHUAdABvAHIAaQB0AOkAIABkAGUAIABjAGUAcgB0AGkAZgBpAGMAYQB0
+AGkAbwBuACAAcAByAGkAbQBhAGkAcgBlMQ4wDAYDVQQREwU2OTAwMTEfMB0GA1UE
+CB4WAFIAaAD0AG4AZQAtAEEAbABwAGUAczEfMB0GA1UECRMWMTAgcnVlIFNhaW50
+IFBvbHljYXJwZTETMBEGA1UEFB4KAG4A6QBhAG4AdDAeFw0xMzAzMTYyMDE5MTBa
+Fw0yMzAzMTcyMDE5MTBaMIIBVzELMAkGA1UEBhMCRlIxHzAdBgNVBAgeFgBSAGgA
+9ABuAGUALQBBAGwAcABlAHMxHzAdBgNVBAceFgBSAGgA9ABuAGUALQBBAGwAcABl
+AHMxGjAYBgNVBAoTEUwnSGV1cmV1eC1DeWNsYWdlMRQwEgYDVQQLEwtTZXJ2aWNl
+IEdpdDEgMB4GA1UEAxMXZ2l0LmhldXJldXgtY3ljbGFnZS5vcmcxSzBJBgNVBA8e
+QgBWADEALgAwACwAIABuAGkAIABkAGkAZQB1ACAAbgBpACAAbQBhAO4AdAByAGUA
+IABuAGkAIABtAG8AdABlAHUAcjEnMCUGCysGAQQBgjc8AgEBHhYAUgBoAPQAbgBl
+AC0AQQBsAHAAZQBzMScwJQYLKwYBBAGCNzwCAQIeFgBSAGgA9ABuAGUALQBBAGwA
+cABlAHMxEzARBgsrBgEEAYI3PAIBAxMCRlIwggIiMA0GCSqGSIb3DQEBAQUAA4IC
+DwAwggIKAoICAQDZC57npEzcIyDB+UmgUHDfAisBGBVWo6x4v20fhX13dWL+kf54
++AEuX0TNBVnLglK5EJAclw4t2vUNZf9I4MmyxXXOqhcV5fmFK4BeKS3od4/wtLVA
+rR1jKZhoR37aMZo6ck1TVI0Nd9GIGud/kVXp35bRwp7DYLfcmnwIVdBuElyiWSqn
+6KZAIZYGQfgcg3yUJg20l5+56cRbK42wU0+YixeymMewLnf6sNDfIoMhMZYjVPP1
+WawJ9WnhluEqOZ7jjP3THZv58DE2Ztu3dpSVDMzINHqEu2SB7LT0ivkrVsHJI5Lv
+rregzVY03F6z41ZT/Q+iBwV+2f+1+pHVbjGQA622nrNn8CTLAXgyS3gU+wHGKAbC
+ZKa3YKnISuFznMISt/e6hCVEZL4MggpHgInpEoaBebtx1w1PB4v5mWeHy7IStoqN
+SrJl/ZcPz6R7qU7k6GzdYJzdmMC3q7hckuKYCTopFTsVibN048smaAxkD2HY/j0d
+pybKc9ZRRs/Gbtd4TGTgnWJbrU2IXjTSv0wYwyUHqPNWJSPQFwnirkFlFRjsZjpg
+azUkkLBM3FuurH1V1nsmbAPnEHnym3yCWKEBpbGJs6HAEDIVbztVeGujiUlS/OFO
+reVk6LqdHkCMkuLwIMppjHfSoJB7tig6l+IFHorgbK4RXWHNoq9UiAXizQIDAQAB
+o4IC7zCCAuswEgYDVR0TAQH/BAgwBgEB/wIBADALBgNVHQ8EBAMCAaYwWAYDVR0R
+BFEwT4EfY29udGFjdCtnaXRAaGV1cmV1eC1jeWNsYWdlLm9yZ4IXZ2l0LmhldXJl
+dXgtY3ljbGFnZS5vcmeCE2hldXJldXgtY3ljbGFnZS5vcmcwHQYDVR0OBBYEFGYj
+UWRCNSC3sfv+/b1Pl/A20b9RMCYGA1UdEgQfMB2BG2NvbnRhY3RAaGV1cmV1eC1j
+eWNsYWdlLm9yZzCCAU4GA1UdIwSCAUUwggFBgBTQQETok+Fk9woJQMBtg2e8t7nt
+SqGCAR6kggEaMIIBFjEcMBoGA1UEAxMTaGV1cmV1eC1jeWNsYWdlLm9yZzELMAkG
+A1UEBhMCRlIxCzAJBgNVBCsTAkhDMRwwGgYDVQQKExNoZXVyZXV4LWN5Y2xhZ2Uu
+b3JnMVcwVQYDVQQLHk4AQQBuAHQAaQAtAGEAdQB0AG8AcgBpAHQA6QAgAGQAZQAg
+AGMAZQByAHQAaQBmAGkAYwBhAHQAaQBvAG4AIABwAHIAaQBtAGEAaQByAGUxDjAM
+BgNVBBETBTY5MDAxMR8wHQYDVQQIHhYAUgBoAPQAbgBlAC0AQQBsAHAAZQBzMR8w
+HQYDVQQJExYxMCBydWUgU2FpbnQgUG9seWNhcnBlMRMwEQYDVQQUHgoAbgDpAGEA
+bgB0ggcgEwMJIiQxMEcGCCsGAQUFBwEBBDswOTA3BggrBgEFBQcwAoYraHR0cDov
+L3d3dy5oZXVyZXV4LWN5Y2xhZ2Uub3JnL3g1MDkvY3J0LnBlbTBABgNVHR8EOTA3
+MDWgM6Axhi9odHRwOi8vd3d3LmhldXJldXgtY3ljbGFnZS5vcmcveDUwOS9naXQv
+Y3JsLnBlbTBKBgNVHSAEQzBBMD8GBSqBegEqMDYwNAYIKwYBBQUHAgEWKGh0dHBz
+Oi8vd3d3LmhldXJldXgtY3ljbGFnZS5vcmcveDUwOS9jcHMwDQYJKoZIhvcNAQEN
+BQADggIBALuTPCrJoxDu35AtUSizRk8JxfsnzaQItD301hFGtkBQRZFXvzuDbbZw
+44aHnnb6txo8AZD3G+tDerZuAZy0Q1x+Xbhem5Lkq3wnlpq8s0AwQgvYLYkhuC11
+vl3tzY+ENETL/tlHkOGp3AW9/BD3dJNnhZaxAnmG4Jg2WsO7aMfWZDIqyPyPAOhY
+PwkmqBsTMzhoEQzDQRUKUPHUXDhtVvE17BAbjiX/G1nHoDdmR9RCtYlIJYWjDJIA
+O0aUPUfev33LEDOY4DBsss7mz829POoTErZNmXkT8fzI/JTQLi2bgMkU8tLutG6j
+m1Brz5flBZcGLviCw2iKC8szP4FRp+ZascTpetxEU+kcmETnnGu2mJolP5/K+V+w
+pcsx1u/fq3zrosgbEqTklrkikBdXD+d+3mGyrqF/TsMwNPxuoje5CtNRc8bq6WtV
+WZENFRXXCsPPnxhWZZEuQMwMPP5R0EIWNXGo2ve5lJFBRtTh+S96R/41QDY1kx8X
+sCt2lu0ZKwHkvdIeYyxg6HVzlKjOJf5+aqOFoaZhhbvKDdwpo3v3o/Cdfkm66Yvj
+ueIawlOW/brjuzAw0S4CudJKBR22fKe/ZRuSriARKcbNja0noMkcd6xKfxTPirrq
+zNc3ihNnNJfFBv5oS5wk8Gzj5/magIWn8X8e+ZlJvQM1yruqtN+7
+-----END CERTIFICATE-----
+-----BEGIN CERTIFICATE-----
+MIIJIDCCBwigAwIBAgIHIBMDCSIkMTANBgkqhkiG9w0BAQ0FADCCARYxHDAaBgNV
+BAMTE2hldXJldXgtY3ljbGFnZS5vcmcxCzAJBgNVBAYTAkZSMQswCQYDVQQrEwJI
+QzEcMBoGA1UEChMTaGV1cmV1eC1jeWNsYWdlLm9yZzFXMFUGA1UECx5OAEEAbgB0
+AGkALQBhAHUAdABvAHIAaQB0AOkAIABkAGUAIABjAGUAcgB0AGkAZgBpAGMAYQB0
+AGkAbwBuACAAcAByAGkAbQBhAGkAcgBlMQ4wDAYDVQQREwU2OTAwMTEfMB0GA1UE
+CB4WAFIAaAD0AG4AZQAtAEEAbABwAGUAczEfMB0GA1UECRMWMTAgcnVlIFNhaW50
+IFBvbHljYXJwZTETMBEGA1UEFB4KAG4A6QBhAG4AdDAeFw0xMzAzMDkyMTI0MzFa
+Fw0yMzAzMTAyMTI0MzFaMIIBFjEcMBoGA1UEAxMTaGV1cmV1eC1jeWNsYWdlLm9y
+ZzELMAkGA1UEBhMCRlIxCzAJBgNVBCsTAkhDMRwwGgYDVQQKExNoZXVyZXV4LWN5
+Y2xhZ2Uub3JnMVcwVQYDVQQLHk4AQQBuAHQAaQAtAGEAdQB0AG8AcgBpAHQA6QAg
+AGQAZQAgAGMAZQByAHQAaQBmAGkAYwBhAHQAaQBvAG4AIABwAHIAaQBtAGEAaQBy
+AGUxDjAMBgNVBBETBTY5MDAxMR8wHQYDVQQIHhYAUgBoAPQAbgBlAC0AQQBsAHAA
+ZQBzMR8wHQYDVQQJExYxMCBydWUgU2FpbnQgUG9seWNhcnBlMRMwEQYDVQQUHgoA
+bgDpAGEAbgB0MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAxBbu3rG2
+OLIH76orDV961Q/IX8tsweWVfhzenHJFeM3sCe8NtWhMftEi0+hpsCSaHkEUidfA
+/o9S1tfa4vIY2ycSHky54wlyZxnTCgMVl7rQCfWxUKbREuc0vYu9kEAJkjhm2cVV
+zM4cv6TNSqKTY8vIiq3SyJzCwC+xjiIkuVGZ+OPKniNuIGEtqPcCByoeGR/7pyw1
+z5jotAL4L711w+rhFwnzD3f21TVU22HkuWKX+MGRRLlLESZfKj/K4+qR3kXEvSoa
+SbfyB/cBVljAPCnA4Ek/ONKDWUCieM0C4f8kPQC/K29N5w+LVNgIkNbpWzAH1fnh
+kkNwi4FYXvIJBIf9zMAymm5Cim5AnwXpt1XLIMgpYlNcD1J05BGsBl4ilUW7//x9
+vK/TKEuuhOnXFdJEL6z6MSF2Nmw4kaxj/RMfVuJFC30m8FMTOEU/DDvoVzNhVr0H
+GiqKkuMLB/OHrzD3jyex07BGeyMwQmQiC/qtWwLiPGBpNzprLY+epsvEaYfVgQ2k
+e99S47acHtoi9qTF/o6wf3koFPOC8pLBienZCI8KkFO06KEPZGQDa4M958ctTrTn
+yluF5fAwwrBRWfXyuz1MfxPc3mrkAekwrUfYy+f2myQulPXpQpM4qSiS1HWOCQk3
+q9EY3OMUHf3VlUp9X3R5eO2OxyTIBxQ1N2ECAwEAAaOCAm0wggJpMBIGA1UdEwEB
+/wQIMAYBAf8CAQEwCwYDVR0PBAQDAgEGMCYGA1UdEQQfMB2BG2NvbnRhY3RAaGV1
+cmV1eC1jeWNsYWdlLm9yZzAdBgNVHQ4EFgQU0EBE6JPhZPcKCUDAbYNnvLe57Uow
+JgYDVR0SBB8wHYEbY29udGFjdEBoZXVyZXV4LWN5Y2xhZ2Uub3JnMIIBTgYDVR0j
+BIIBRTCCAUGAFNBAROiT4WT3CglAwG2DZ7y3ue1KoYIBHqSCARowggEWMRwwGgYD
+VQQDExNoZXVyZXV4LWN5Y2xhZ2Uub3JnMQswCQYDVQQGEwJGUjELMAkGA1UEKxMC
+SEMxHDAaBgNVBAoTE2hldXJldXgtY3ljbGFnZS5vcmcxVzBVBgNVBAseTgBBAG4A
+dABpAC0AYQB1AHQAbwByAGkAdADpACAAZABlACAAYwBlAHIAdABpAGYAaQBjAGEA
+dABpAG8AbgAgAHAAcgBpAG0AYQBpAHIAZTEOMAwGA1UEERMFNjkwMDExHzAdBgNV
+BAgeFgBSAGgA9ABuAGUALQBBAGwAcABlAHMxHzAdBgNVBAkTFjEwIHJ1ZSBTYWlu
+dCBQb2x5Y2FycGUxEzARBgNVBBQeCgBuAOkAYQBuAHSCByATAwkiJDEwRwYIKwYB
+BQUHAQEEOzA5MDcGCCsGAQUFBzAChitodHRwOi8vd3d3LmhldXJldXgtY3ljbGFn
+ZS5vcmcveDUwOS9jcnQucGVtMDwGA1UdHwQ1MDMwMaAvoC2GK2h0dHA6Ly93d3cu
+aGV1cmV1eC1jeWNsYWdlLm9yZy94NTA5L2NybC5wZW0wDQYJKoZIhvcNAQENBQAD
+ggIBAKdOJ/6fq65CBx2HAaRoLI1lDjSbz1Aq/f8K+GsrQn+wT8BxTNCkY/6YMitP
+NMUEw0bhPXn3Iv8tcNvRyNr2C9QbRvGDK4UBzkxOUzeZy3wHBYp5r+iGYnUfZweF
+lwRvYzyb3eLrWfHIIyKtZH9sq67asrIenyBIV7ikqVWlmhad2m2ORiTgWnqQiPcC
+d1HTHWySQWrpn8o5tczeixOaiwPFUJgms23NM8pKxuvKNDizAv9KyzM1Az5elBht
+sZBS9bqSepQXxH5IfcvRliFLJLJLCaeOh+HDIq6evOVt0PwL7+eocAbZfw9/5gLg
+1AbW1RWu9Z8tJrpp+ZMmrHyYNISqqy2QA8SHZ2Z0Rmnr6Ff5gxBdJpsr2W2Xg1Ne
+tU1dB99jVevAxKCE/TFQeJVr+Uamy/cijCzReEjBYmckpkWZM6BOSwOfyyB0Y4Nd
+cWu6Q/F2QqOuxMpLXuDhUKwsl/IV7FglrcRYIPGwXBCYcColEn+7dY7+lQ1hD3Nr
+ZWrRs4WoUV86azgpmiPYWUil2/65Ma6+Fk5bB+ZuDeXHIYC+MSD+SX865TPsBlPH
+EGllbN4iJVzlrdAxpsxC+mMXjq5CL22bZFks/P5EzvQne077m8OQfQJRtVmRUQMa
+eKz2ra2vTRsMz0vay9aOPjmbMOlkqMqCdCHbk8sIOBL3xEkD
+-----END CERTIFICATE-----
--- /dev/null
+-----BEGIN CERTIFICATE-----
+MIIJ4zCCB8ugAwIBAgIHIBMDFiEZEDANBgkqhkiG9w0BAQ0FADCCARYxHDAaBgNV
+BAMTE2hldXJldXgtY3ljbGFnZS5vcmcxCzAJBgNVBAYTAkZSMQswCQYDVQQrEwJI
+QzEcMBoGA1UEChMTaGV1cmV1eC1jeWNsYWdlLm9yZzFXMFUGA1UECx5OAEEAbgB0
+AGkALQBhAHUAdABvAHIAaQB0AOkAIABkAGUAIABjAGUAcgB0AGkAZgBpAGMAYQB0
+AGkAbwBuACAAcAByAGkAbQBhAGkAcgBlMQ4wDAYDVQQREwU2OTAwMTEfMB0GA1UE
+CB4WAFIAaAD0AG4AZQAtAEEAbABwAGUAczEfMB0GA1UECRMWMTAgcnVlIFNhaW50
+IFBvbHljYXJwZTETMBEGA1UEFB4KAG4A6QBhAG4AdDAeFw0xMzAzMTYyMDE5MTBa
+Fw0yMzAzMTcyMDE5MTBaMIIBVzELMAkGA1UEBhMCRlIxHzAdBgNVBAgeFgBSAGgA
+9ABuAGUALQBBAGwAcABlAHMxHzAdBgNVBAceFgBSAGgA9ABuAGUALQBBAGwAcABl
+AHMxGjAYBgNVBAoTEUwnSGV1cmV1eC1DeWNsYWdlMRQwEgYDVQQLEwtTZXJ2aWNl
+IEdpdDEgMB4GA1UEAxMXZ2l0LmhldXJldXgtY3ljbGFnZS5vcmcxSzBJBgNVBA8e
+QgBWADEALgAwACwAIABuAGkAIABkAGkAZQB1ACAAbgBpACAAbQBhAO4AdAByAGUA
+IABuAGkAIABtAG8AdABlAHUAcjEnMCUGCysGAQQBgjc8AgEBHhYAUgBoAPQAbgBl
+AC0AQQBsAHAAZQBzMScwJQYLKwYBBAGCNzwCAQIeFgBSAGgA9ABuAGUALQBBAGwA
+cABlAHMxEzARBgsrBgEEAYI3PAIBAxMCRlIwggIiMA0GCSqGSIb3DQEBAQUAA4IC
+DwAwggIKAoICAQDZC57npEzcIyDB+UmgUHDfAisBGBVWo6x4v20fhX13dWL+kf54
++AEuX0TNBVnLglK5EJAclw4t2vUNZf9I4MmyxXXOqhcV5fmFK4BeKS3od4/wtLVA
+rR1jKZhoR37aMZo6ck1TVI0Nd9GIGud/kVXp35bRwp7DYLfcmnwIVdBuElyiWSqn
+6KZAIZYGQfgcg3yUJg20l5+56cRbK42wU0+YixeymMewLnf6sNDfIoMhMZYjVPP1
+WawJ9WnhluEqOZ7jjP3THZv58DE2Ztu3dpSVDMzINHqEu2SB7LT0ivkrVsHJI5Lv
+rregzVY03F6z41ZT/Q+iBwV+2f+1+pHVbjGQA622nrNn8CTLAXgyS3gU+wHGKAbC
+ZKa3YKnISuFznMISt/e6hCVEZL4MggpHgInpEoaBebtx1w1PB4v5mWeHy7IStoqN
+SrJl/ZcPz6R7qU7k6GzdYJzdmMC3q7hckuKYCTopFTsVibN048smaAxkD2HY/j0d
+pybKc9ZRRs/Gbtd4TGTgnWJbrU2IXjTSv0wYwyUHqPNWJSPQFwnirkFlFRjsZjpg
+azUkkLBM3FuurH1V1nsmbAPnEHnym3yCWKEBpbGJs6HAEDIVbztVeGujiUlS/OFO
+reVk6LqdHkCMkuLwIMppjHfSoJB7tig6l+IFHorgbK4RXWHNoq9UiAXizQIDAQAB
+o4IC7zCCAuswEgYDVR0TAQH/BAgwBgEB/wIBADALBgNVHQ8EBAMCAaYwWAYDVR0R
+BFEwT4EfY29udGFjdCtnaXRAaGV1cmV1eC1jeWNsYWdlLm9yZ4IXZ2l0LmhldXJl
+dXgtY3ljbGFnZS5vcmeCE2hldXJldXgtY3ljbGFnZS5vcmcwHQYDVR0OBBYEFGYj
+UWRCNSC3sfv+/b1Pl/A20b9RMCYGA1UdEgQfMB2BG2NvbnRhY3RAaGV1cmV1eC1j
+eWNsYWdlLm9yZzCCAU4GA1UdIwSCAUUwggFBgBTQQETok+Fk9woJQMBtg2e8t7nt
+SqGCAR6kggEaMIIBFjEcMBoGA1UEAxMTaGV1cmV1eC1jeWNsYWdlLm9yZzELMAkG
+A1UEBhMCRlIxCzAJBgNVBCsTAkhDMRwwGgYDVQQKExNoZXVyZXV4LWN5Y2xhZ2Uu
+b3JnMVcwVQYDVQQLHk4AQQBuAHQAaQAtAGEAdQB0AG8AcgBpAHQA6QAgAGQAZQAg
+AGMAZQByAHQAaQBmAGkAYwBhAHQAaQBvAG4AIABwAHIAaQBtAGEAaQByAGUxDjAM
+BgNVBBETBTY5MDAxMR8wHQYDVQQIHhYAUgBoAPQAbgBlAC0AQQBsAHAAZQBzMR8w
+HQYDVQQJExYxMCBydWUgU2FpbnQgUG9seWNhcnBlMRMwEQYDVQQUHgoAbgDpAGEA
+bgB0ggcgEwMJIiQxMEcGCCsGAQUFBwEBBDswOTA3BggrBgEFBQcwAoYraHR0cDov
+L3d3dy5oZXVyZXV4LWN5Y2xhZ2Uub3JnL3g1MDkvY3J0LnBlbTBABgNVHR8EOTA3
+MDWgM6Axhi9odHRwOi8vd3d3LmhldXJldXgtY3ljbGFnZS5vcmcveDUwOS9naXQv
+Y3JsLnBlbTBKBgNVHSAEQzBBMD8GBSqBegEqMDYwNAYIKwYBBQUHAgEWKGh0dHBz
+Oi8vd3d3LmhldXJldXgtY3ljbGFnZS5vcmcveDUwOS9jcHMwDQYJKoZIhvcNAQEN
+BQADggIBALuTPCrJoxDu35AtUSizRk8JxfsnzaQItD301hFGtkBQRZFXvzuDbbZw
+44aHnnb6txo8AZD3G+tDerZuAZy0Q1x+Xbhem5Lkq3wnlpq8s0AwQgvYLYkhuC11
+vl3tzY+ENETL/tlHkOGp3AW9/BD3dJNnhZaxAnmG4Jg2WsO7aMfWZDIqyPyPAOhY
+PwkmqBsTMzhoEQzDQRUKUPHUXDhtVvE17BAbjiX/G1nHoDdmR9RCtYlIJYWjDJIA
+O0aUPUfev33LEDOY4DBsss7mz829POoTErZNmXkT8fzI/JTQLi2bgMkU8tLutG6j
+m1Brz5flBZcGLviCw2iKC8szP4FRp+ZascTpetxEU+kcmETnnGu2mJolP5/K+V+w
+pcsx1u/fq3zrosgbEqTklrkikBdXD+d+3mGyrqF/TsMwNPxuoje5CtNRc8bq6WtV
+WZENFRXXCsPPnxhWZZEuQMwMPP5R0EIWNXGo2ve5lJFBRtTh+S96R/41QDY1kx8X
+sCt2lu0ZKwHkvdIeYyxg6HVzlKjOJf5+aqOFoaZhhbvKDdwpo3v3o/Cdfkm66Yvj
+ueIawlOW/brjuzAw0S4CudJKBR22fKe/ZRuSriARKcbNja0noMkcd6xKfxTPirrq
+zNc3ihNnNJfFBv5oS5wk8Gzj5/magIWn8X8e+ZlJvQM1yruqtN+7
+-----END CERTIFICATE-----
+-----BEGIN X509 CRL-----
+MIIDszCCAZsCAQEwDQYJKoZIhvcNAQENBQAwggFXMQswCQYDVQQGEwJGUjEfMB0G
+A1UECB4WAFIAaAD0AG4AZQAtAEEAbABwAGUAczEfMB0GA1UEBx4WAFIAaAD0AG4A
+ZQAtAEEAbABwAGUAczEaMBgGA1UEChMRTCdIZXVyZXV4LUN5Y2xhZ2UxFDASBgNV
+BAsTC1NlcnZpY2UgR2l0MSAwHgYDVQQDExdnaXQuaGV1cmV1eC1jeWNsYWdlLm9y
+ZzFLMEkGA1UEDx5CAFYAMQAuADAALAAgAG4AaQAgAGQAaQBlAHUAIABuAGkAIABt
+AGEA7gB0AHIAZQAgAG4AaQAgAG0AbwB0AGUAdQByMScwJQYLKwYBBAGCNzwCAQEe
+FgBSAGgA9ABuAGUALQBBAGwAcABlAHMxJzAlBgsrBgEEAYI3PAIBAh4WAFIAaAD0
+AG4AZQAtAEEAbABwAGUAczETMBEGCysGAQQBgjc8AgEDEwJGUhcNMTMwMzE2MjAx
+OTEwWhcNMjMwMzE3MjAxOTEwWqAOMAwwCgYDVR0UBAMCAQAwDQYJKoZIhvcNAQEN
+BQADggIBAIfLwh96SaYNNPFKVuy0rIIZVF83gxrec3PI5udxwlizANli9PQjcedq
+Z5LaWpKquerzUqwopUUW6Vd78Y7jIBu0UCGIZarT/kiDm3lM+YWsZVayqDBCDpu8
+Lmfa7S1ZtrvrMKIWtGhBuhoYpdeHu+gkT7U5qAi3IOvfPE69i7TqSuQl9KQsTJzj
+z+X+cJWsN50TebZxf//F0C8ia7JMJbA2ub82KCVKXsDrxFA7AdpaQBcGZ+4FGiwy
+4Zuy2yWpurLYOpL1lp7seVvMUsul6aQ7hwFmbeSmz41ijpitY4gTExiYinyfmYYd
+eQCMC1bMxQ3asjndIf16vfSMS6dagZigt+jTUfiGQKPRpU0cuYZPEXFpUrvxD7SE
+OjpkJKpHBDgp5FyJ0skxCJ1XnoozweiGSrGPtK6OtiEUAIHcFpjkd6vi9J2AuhNx
+V75+uGw1F5CxaofOTqv0k0L8K33/x8CO1pPoHndOExJk5uJGDQw7NKxy5kQ5TNkP
+Dw228Ug0ofD2Gp4NlcfOWm+kZt40T+V2kD6BKynY9g6NBnV+0oU+Baz03LFhgUoE
+d4DqmKg+o8iMptEXifYlOtzoc5Trs3nA1ANtY0mNJUsDRd4LX+zXZvjrksrNQzqw
+e8x+usf1E2JOWVpOG5ou2CaRjqe9RxRJhItZIGumcxI3yi7VdT5M
+-----END X509 CRL-----
--- /dev/null
+-----BEGIN CERTIFICATE-----
+MIIKTzCCCDegAwIBAgIHIBMDFiEZETANBgkqhkiG9w0BAQ0FADCCAVcxCzAJBgNV
+BAYTAkZSMR8wHQYDVQQIHhYAUgBoAPQAbgBlAC0AQQBsAHAAZQBzMR8wHQYDVQQH
+HhYAUgBoAPQAbgBlAC0AQQBsAHAAZQBzMRowGAYDVQQKExFMJ0hldXJldXgtQ3lj
+bGFnZTEUMBIGA1UECxMLU2VydmljZSBHaXQxIDAeBgNVBAMTF2dpdC5oZXVyZXV4
+LWN5Y2xhZ2Uub3JnMUswSQYDVQQPHkIAVgAxAC4AMAAsACAAbgBpACAAZABpAGUA
+dQAgAG4AaQAgAG0AYQDuAHQAcgBlACAAbgBpACAAbQBvAHQAZQB1AHIxJzAlBgsr
+BgEEAYI3PAIBAR4WAFIAaAD0AG4AZQAtAEEAbABwAGUAczEnMCUGCysGAQQBgjc8
+AgECHhYAUgBoAPQAbgBlAC0AQQBsAHAAZQBzMRMwEQYLKwYBBAGCNzwCAQMTAkZS
+MB4XDTEzMDMxNjIwMTkxMVoXDTIzMDMxNzIwMTkxMVowggFXMQswCQYDVQQGEwJG
+UjEfMB0GA1UECB4WAFIAaAD0AG4AZQAtAEEAbABwAGUAczEfMB0GA1UEBx4WAFIA
+aAD0AG4AZQAtAEEAbABwAGUAczEaMBgGA1UEChMRTCdIZXVyZXV4LUN5Y2xhZ2Ux
+FDASBgNVBAsTC1NlcnZpY2UgR2l0MSAwHgYDVQQDExdnaXQuaGV1cmV1eC1jeWNs
+YWdlLm9yZzFLMEkGA1UEDx5CAFYAMQAuADAALAAgAG4AaQAgAGQAaQBlAHUAIABu
+AGkAIABtAGEA7gB0AHIAZQAgAG4AaQAgAG0AbwB0AGUAdQByMScwJQYLKwYBBAGC
+NzwCAQEeFgBSAGgA9ABuAGUALQBBAGwAcABlAHMxJzAlBgsrBgEEAYI3PAIBAh4W
+AFIAaAD0AG4AZQAtAEEAbABwAGUAczETMBEGCysGAQQBgjc8AgEDEwJGUjCCAiIw
+DQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBANkLnuekTNwjIMH5SaBQcN8CKwEY
+FVajrHi/bR+FfXd1Yv6R/nj4AS5fRM0FWcuCUrkQkByXDi3a9Q1l/0jgybLFdc6q
+FxXl+YUrgF4pLeh3j/C0tUCtHWMpmGhHftoxmjpyTVNUjQ130Yga53+RVenfltHC
+nsNgt9yafAhV0G4SXKJZKqfopkAhlgZB+ByDfJQmDbSXn7npxFsrjbBTT5iLF7KY
+x7Aud/qw0N8igyExliNU8/VZrAn1aeGW4So5nuOM/dMdm/nwMTZm27d2lJUMzMg0
+eoS7ZIHstPSK+StWwckjku+ut6DNVjTcXrPjVlP9D6IHBX7Z/7X6kdVuMZADrbae
+s2fwJMsBeDJLeBT7AcYoBsJkprdgqchK4XOcwhK397qEJURkvgyCCkeAiekShoF5
+u3HXDU8Hi/mZZ4fLshK2io1KsmX9lw/PpHupTuTobN1gnN2YwLeruFyS4pgJOikV
+OxWJs3TjyyZoDGQPYdj+PR2nJspz1lFGz8Zu13hMZOCdYlutTYheNNK/TBjDJQeo
+81YlI9AXCeKuQWUVGOxmOmBrNSSQsEzcW66sfVXWeyZsA+cQefKbfIJYoQGlsYmz
+ocAQMhVvO1V4a6OJSVL84U6t5WToup0eQIyS4vAgymmMd9KgkHu2KDqX4gUeiuBs
+rhFdYc2ir1SIBeLNAgMBAAGjggMaMIIDFjASBgNVHRMBAf8ECDAGAQH/AgEAMAsG
+A1UdDwQEAwIBpjBYBgNVHREEUTBPgR9jb250YWN0K2dpdEBoZXVyZXV4LWN5Y2xh
+Z2Uub3JnghdnaXQuaGV1cmV1eC1jeWNsYWdlLm9yZ4ITaGV1cmV1eC1jeWNsYWdl
+Lm9yZzAdBgNVHQ4EFgQUZiNRZEI1ILex+/79vU+X8DbRv1EwWAYDVR0SBFEwT4Ef
+Y29udGFjdCtnaXRAaGV1cmV1eC1jeWNsYWdlLm9yZ4IXZ2l0LmhldXJldXgtY3lj
+bGFnZS5vcmeCE2hldXJldXgtY3ljbGFnZS5vcmcwggGPBgNVHSMEggGGMIIBgoAU
+ZiNRZEI1ILex+/79vU+X8DbRv1GhggFfpIIBWzCCAVcxCzAJBgNVBAYTAkZSMR8w
+HQYDVQQIHhYAUgBoAPQAbgBlAC0AQQBsAHAAZQBzMR8wHQYDVQQHHhYAUgBoAPQA
+bgBlAC0AQQBsAHAAZQBzMRowGAYDVQQKExFMJ0hldXJldXgtQ3ljbGFnZTEUMBIG
+A1UECxMLU2VydmljZSBHaXQxIDAeBgNVBAMTF2dpdC5oZXVyZXV4LWN5Y2xhZ2Uu
+b3JnMUswSQYDVQQPHkIAVgAxAC4AMAAsACAAbgBpACAAZABpAGUAdQAgAG4AaQAg
+AG0AYQDuAHQAcgBlACAAbgBpACAAbQBvAHQAZQB1AHIxJzAlBgsrBgEEAYI3PAIB
+AR4WAFIAaAD0AG4AZQAtAEEAbABwAGUAczEnMCUGCysGAQQBgjc8AgECHhYAUgBo
+APQAbgBlAC0AQQBsAHAAZQBzMRMwEQYLKwYBBAGCNzwCAQMTAkZSggcgEwMWIRkR
+MEsGCCsGAQUFBwEBBD8wPTA7BggrBgEFBQcwAoYvaHR0cDovL3d3dy5oZXVyZXV4
+LWN5Y2xhZ2Uub3JnL3g1MDkvZ2l0L2NydC5wZW0wQAYDVR0fBDkwNzA1oDOgMYYv
+aHR0cDovL3d3dy5oZXVyZXV4LWN5Y2xhZ2Uub3JnL3g1MDkvZ2l0L2NybC5wZW0w
+DQYJKoZIhvcNAQENBQADggIBAC/6ugwtOck8DRB8NgO4X65xxer0cpDrO7mCzFNa
+xQq6OBCdSdTN4ByPUl2BqU67Llroivfh9j5zG7icgr7Ctbdu4NXJIxFSvYrHKRrd
+GEETN3heAXZL7qiqjvHLVdC3bEkW8L/3h51GP2eg12Prj5irTsYchdzkWHEdddVX
+NIVglXmKGEo+j/dbp703K4T82Jbm2wUWUS/Y2JAIGSu8viITg6HJue4DX7IGqvCG
+tnedsREY8UmiYd6aShhICuftbbFSeyito08r5HYfZk1SegRQAExp6VoD2BOpi7Hw
+p+zBhC60BNQDPXfSTbkh/RneLWhbwVOMs0HBzpUMHV1RXwqNM+qVsQ5f85KFz4YQ
+S2mahZj8w35DWMkJlLDm0WjuJRzCOXK/r3TXZEt9II19wxQeRIOw+Kvzp7hyd0YN
+UIO0I5s+2sN7fk9eB4m4IKdr3fRSpXaPAwq0b/CsZZ2wJ8zxD0VHt8F9oaZIJ7Ik
+tcRGdcAkjUu+fKh1cfFH3GNSdbloctpQ/WphJuq3gU356B3RjPcoku5oBpbSlTu1
+Dfk1DxE0N4O32hiG0knPQSmt6fOOUZ2FWIo1B8AzCawNkwBV51eyw12gcsMep5ck
+F8BblgDMqUW02jZ4+b5QcwmZObwEysUPuGbkA38DIH9Z6rl+XnWL5OdJT1NDWzeZ
+g0Xj
+-----END CERTIFICATE-----
+-----BEGIN X509 CRL-----
+MIIDszCCAZsCAQEwDQYJKoZIhvcNAQENBQAwggFXMQswCQYDVQQGEwJGUjEfMB0G
+A1UECB4WAFIAaAD0AG4AZQAtAEEAbABwAGUAczEfMB0GA1UEBx4WAFIAaAD0AG4A
+ZQAtAEEAbABwAGUAczEaMBgGA1UEChMRTCdIZXVyZXV4LUN5Y2xhZ2UxFDASBgNV
+BAsTC1NlcnZpY2UgR2l0MSAwHgYDVQQDExdnaXQuaGV1cmV1eC1jeWNsYWdlLm9y
+ZzFLMEkGA1UEDx5CAFYAMQAuADAALAAgAG4AaQAgAGQAaQBlAHUAIABuAGkAIABt
+AGEA7gB0AHIAZQAgAG4AaQAgAG0AbwB0AGUAdQByMScwJQYLKwYBBAGCNzwCAQEe
+FgBSAGgA9ABuAGUALQBBAGwAcABlAHMxJzAlBgsrBgEEAYI3PAIBAh4WAFIAaAD0
+AG4AZQAtAEEAbABwAGUAczETMBEGCysGAQQBgjc8AgEDEwJGUhcNMTMwMzE2MjAx
+OTExWhcNMjMwMzE3MjAxOTExWqAOMAwwCgYDVR0UBAMCAQAwDQYJKoZIhvcNAQEN
+BQADggIBAMtU4RFVk9YcjsMMfXIqj2jZkDAolAfCOcYtQJJUrAYtKiZezznivXZR
+uC82f5pm7xSP1nhzdLR1ZrASiaCoSnfzvjInTY6wSkR8JwLfjvJmLZA5e53Kp7Mq
+KumP3mxRAjnjxkTaYP2slsewuwlWH2y9mJryBSwS3FnrKE+wFk3i63HVQR4SdNU9
+U/8ccwP1mahP/YYuCaRvvigAzIIrVM4s9XC9HZ/PpBB6cAOLL5j3P9dnnKmlP2hq
+P1sfB74O1qLkhdKl59FO3zY4yDIF8c3N8YSAw4ASAxPxRbtvI2a3Zra+t8kQajET
+45i58GYwzX/cZgQuNt1Yv5BQU0RuqcwiW8qheh9EWu9isCrjh+8jz7sPxubDxj1y
+9Ly6aP7dmwBrakSSyMeffGXsRBw0Ew0gBB8Jaan6gfW4VJzPG1LCt6aePpntE0qN
+MlKEZA4SnKokvzI0mfbS2UFa5uCqgHutuqsyTXssRINu4DFBrTY5zCpO1JkPnJKk
+8YsHed9oOvaWbrCaYVzbLnuCnaInnr93kWrFLzkelQLA94jvLMVj2Hab+9sDMitA
+ssJUAhcKV59sPWHY+y2miR8s98WbpjqewDTd8OrAbBjx6mNempJW5vnUHNhOCC9v
+QybJHQ8clcHWlqhslCxzVU7OegHypYkK+Exp6O5lFPArDs8SAEpx
+-----END X509 CRL-----
--- /dev/null
+-----BEGIN CERTIFICATE-----
+MIIJ4zCCB8ugAwIBAgIHIBMDFiEZEDANBgkqhkiG9w0BAQ0FADCCARYxHDAaBgNV
+BAMTE2hldXJldXgtY3ljbGFnZS5vcmcxCzAJBgNVBAYTAkZSMQswCQYDVQQrEwJI
+QzEcMBoGA1UEChMTaGV1cmV1eC1jeWNsYWdlLm9yZzFXMFUGA1UECx5OAEEAbgB0
+AGkALQBhAHUAdABvAHIAaQB0AOkAIABkAGUAIABjAGUAcgB0AGkAZgBpAGMAYQB0
+AGkAbwBuACAAcAByAGkAbQBhAGkAcgBlMQ4wDAYDVQQREwU2OTAwMTEfMB0GA1UE
+CB4WAFIAaAD0AG4AZQAtAEEAbABwAGUAczEfMB0GA1UECRMWMTAgcnVlIFNhaW50
+IFBvbHljYXJwZTETMBEGA1UEFB4KAG4A6QBhAG4AdDAeFw0xMzAzMTYyMDE5MTBa
+Fw0yMzAzMTcyMDE5MTBaMIIBVzELMAkGA1UEBhMCRlIxHzAdBgNVBAgeFgBSAGgA
+9ABuAGUALQBBAGwAcABlAHMxHzAdBgNVBAceFgBSAGgA9ABuAGUALQBBAGwAcABl
+AHMxGjAYBgNVBAoTEUwnSGV1cmV1eC1DeWNsYWdlMRQwEgYDVQQLEwtTZXJ2aWNl
+IEdpdDEgMB4GA1UEAxMXZ2l0LmhldXJldXgtY3ljbGFnZS5vcmcxSzBJBgNVBA8e
+QgBWADEALgAwACwAIABuAGkAIABkAGkAZQB1ACAAbgBpACAAbQBhAO4AdAByAGUA
+IABuAGkAIABtAG8AdABlAHUAcjEnMCUGCysGAQQBgjc8AgEBHhYAUgBoAPQAbgBl
+AC0AQQBsAHAAZQBzMScwJQYLKwYBBAGCNzwCAQIeFgBSAGgA9ABuAGUALQBBAGwA
+cABlAHMxEzARBgsrBgEEAYI3PAIBAxMCRlIwggIiMA0GCSqGSIb3DQEBAQUAA4IC
+DwAwggIKAoICAQDZC57npEzcIyDB+UmgUHDfAisBGBVWo6x4v20fhX13dWL+kf54
++AEuX0TNBVnLglK5EJAclw4t2vUNZf9I4MmyxXXOqhcV5fmFK4BeKS3od4/wtLVA
+rR1jKZhoR37aMZo6ck1TVI0Nd9GIGud/kVXp35bRwp7DYLfcmnwIVdBuElyiWSqn
+6KZAIZYGQfgcg3yUJg20l5+56cRbK42wU0+YixeymMewLnf6sNDfIoMhMZYjVPP1
+WawJ9WnhluEqOZ7jjP3THZv58DE2Ztu3dpSVDMzINHqEu2SB7LT0ivkrVsHJI5Lv
+rregzVY03F6z41ZT/Q+iBwV+2f+1+pHVbjGQA622nrNn8CTLAXgyS3gU+wHGKAbC
+ZKa3YKnISuFznMISt/e6hCVEZL4MggpHgInpEoaBebtx1w1PB4v5mWeHy7IStoqN
+SrJl/ZcPz6R7qU7k6GzdYJzdmMC3q7hckuKYCTopFTsVibN048smaAxkD2HY/j0d
+pybKc9ZRRs/Gbtd4TGTgnWJbrU2IXjTSv0wYwyUHqPNWJSPQFwnirkFlFRjsZjpg
+azUkkLBM3FuurH1V1nsmbAPnEHnym3yCWKEBpbGJs6HAEDIVbztVeGujiUlS/OFO
+reVk6LqdHkCMkuLwIMppjHfSoJB7tig6l+IFHorgbK4RXWHNoq9UiAXizQIDAQAB
+o4IC7zCCAuswEgYDVR0TAQH/BAgwBgEB/wIBADALBgNVHQ8EBAMCAaYwWAYDVR0R
+BFEwT4EfY29udGFjdCtnaXRAaGV1cmV1eC1jeWNsYWdlLm9yZ4IXZ2l0LmhldXJl
+dXgtY3ljbGFnZS5vcmeCE2hldXJldXgtY3ljbGFnZS5vcmcwHQYDVR0OBBYEFGYj
+UWRCNSC3sfv+/b1Pl/A20b9RMCYGA1UdEgQfMB2BG2NvbnRhY3RAaGV1cmV1eC1j
+eWNsYWdlLm9yZzCCAU4GA1UdIwSCAUUwggFBgBTQQETok+Fk9woJQMBtg2e8t7nt
+SqGCAR6kggEaMIIBFjEcMBoGA1UEAxMTaGV1cmV1eC1jeWNsYWdlLm9yZzELMAkG
+A1UEBhMCRlIxCzAJBgNVBCsTAkhDMRwwGgYDVQQKExNoZXVyZXV4LWN5Y2xhZ2Uu
+b3JnMVcwVQYDVQQLHk4AQQBuAHQAaQAtAGEAdQB0AG8AcgBpAHQA6QAgAGQAZQAg
+AGMAZQByAHQAaQBmAGkAYwBhAHQAaQBvAG4AIABwAHIAaQBtAGEAaQByAGUxDjAM
+BgNVBBETBTY5MDAxMR8wHQYDVQQIHhYAUgBoAPQAbgBlAC0AQQBsAHAAZQBzMR8w
+HQYDVQQJExYxMCBydWUgU2FpbnQgUG9seWNhcnBlMRMwEQYDVQQUHgoAbgDpAGEA
+bgB0ggcgEwMJIiQxMEcGCCsGAQUFBwEBBDswOTA3BggrBgEFBQcwAoYraHR0cDov
+L3d3dy5oZXVyZXV4LWN5Y2xhZ2Uub3JnL3g1MDkvY3J0LnBlbTBABgNVHR8EOTA3
+MDWgM6Axhi9odHRwOi8vd3d3LmhldXJldXgtY3ljbGFnZS5vcmcveDUwOS9naXQv
+Y3JsLnBlbTBKBgNVHSAEQzBBMD8GBSqBegEqMDYwNAYIKwYBBQUHAgEWKGh0dHBz
+Oi8vd3d3LmhldXJldXgtY3ljbGFnZS5vcmcveDUwOS9jcHMwDQYJKoZIhvcNAQEN
+BQADggIBALuTPCrJoxDu35AtUSizRk8JxfsnzaQItD301hFGtkBQRZFXvzuDbbZw
+44aHnnb6txo8AZD3G+tDerZuAZy0Q1x+Xbhem5Lkq3wnlpq8s0AwQgvYLYkhuC11
+vl3tzY+ENETL/tlHkOGp3AW9/BD3dJNnhZaxAnmG4Jg2WsO7aMfWZDIqyPyPAOhY
+PwkmqBsTMzhoEQzDQRUKUPHUXDhtVvE17BAbjiX/G1nHoDdmR9RCtYlIJYWjDJIA
+O0aUPUfev33LEDOY4DBsss7mz829POoTErZNmXkT8fzI/JTQLi2bgMkU8tLutG6j
+m1Brz5flBZcGLviCw2iKC8szP4FRp+ZascTpetxEU+kcmETnnGu2mJolP5/K+V+w
+pcsx1u/fq3zrosgbEqTklrkikBdXD+d+3mGyrqF/TsMwNPxuoje5CtNRc8bq6WtV
+WZENFRXXCsPPnxhWZZEuQMwMPP5R0EIWNXGo2ve5lJFBRtTh+S96R/41QDY1kx8X
+sCt2lu0ZKwHkvdIeYyxg6HVzlKjOJf5+aqOFoaZhhbvKDdwpo3v3o/Cdfkm66Yvj
+ueIawlOW/brjuzAw0S4CudJKBR22fKe/ZRuSriARKcbNja0noMkcd6xKfxTPirrq
+zNc3ihNnNJfFBv5oS5wk8Gzj5/magIWn8X8e+ZlJvQM1yruqtN+7
+-----END CERTIFICATE-----
--- /dev/null
+-----BEGIN PGP SIGNATURE-----
+Version: GnuPG v1.4.12 (GNU/Linux)
+
+iQIcBAABCgAGBQJRRNO+AAoJEF4nGc9w/oqeRkMP/3aVmomIM2EN4Ee27z2l0W1j
+8s2H/jBZVfuSBRYMUptWg2NQ97x4R3WxMYOxNRgSanKitsxt3sHOvcl2Xo0Iq9wa
+eYAcdd2eBg8gRa+PgXI5Dj8Mh9uh+Y61yUfW9Ll5PewAS8jVrvKzve4l9gc0Oz14
+ERDhnqZGSYCmaKJX9aywVf8E0UX/jKRe8CETGIZXe7EfSmhSSJDA5elqHFEmfTe0
+xjoTK3xUXo5oXmboaNBD+XoXQwTbi0vXHG64z2iM2osyOR4bNDdR0ntB7q4p6eGz
+pWWtxemPSz+tLOq4ks3jHBtymVH3lWryzMWRroSNactRWHtAme5DY3rNC++FWBDT
+IrboGA1lKYx1y+NsMKse4qTn+bIs89iCxmgSsuMh7TUIznjk5bJIs2BQYp4dnmEh
+cY8a4yBvkKvSLrVgSGnqLtn2h+KlB67hiOYaCXVrbKwxWZOf9eEiox3kYj1jyd5G
+aRD9pd1gokejrwM11wOPvvv/7lfO3CHmWtRCf8RlvaJ/tVAcRIwTYWT64bJNhV9B
+S+ruWWsWyYRW48Lb1/Z9YYGxbQqWElxvpjcPmEp/5CW/JFi1FGqcmntOyNqWicMB
+mwyxUTGOQYigoBBNXufO8A1tePDTnTHIoAtg9mtiseOhOvHiZ6t2Et3HgCMX0g+8
+BGKcyC37gTK7Po8KkG9a
+=4C8y
+-----END PGP SIGNATURE-----
--- /dev/null
+-----BEGIN CERTIFICATE-----
+MIIKTzCCCDegAwIBAgIHIBMDFiEZETANBgkqhkiG9w0BAQ0FADCCAVcxCzAJBgNV
+BAYTAkZSMR8wHQYDVQQIHhYAUgBoAPQAbgBlAC0AQQBsAHAAZQBzMR8wHQYDVQQH
+HhYAUgBoAPQAbgBlAC0AQQBsAHAAZQBzMRowGAYDVQQKExFMJ0hldXJldXgtQ3lj
+bGFnZTEUMBIGA1UECxMLU2VydmljZSBHaXQxIDAeBgNVBAMTF2dpdC5oZXVyZXV4
+LWN5Y2xhZ2Uub3JnMUswSQYDVQQPHkIAVgAxAC4AMAAsACAAbgBpACAAZABpAGUA
+dQAgAG4AaQAgAG0AYQDuAHQAcgBlACAAbgBpACAAbQBvAHQAZQB1AHIxJzAlBgsr
+BgEEAYI3PAIBAR4WAFIAaAD0AG4AZQAtAEEAbABwAGUAczEnMCUGCysGAQQBgjc8
+AgECHhYAUgBoAPQAbgBlAC0AQQBsAHAAZQBzMRMwEQYLKwYBBAGCNzwCAQMTAkZS
+MB4XDTEzMDMxNjIwMTkxMVoXDTIzMDMxNzIwMTkxMVowggFXMQswCQYDVQQGEwJG
+UjEfMB0GA1UECB4WAFIAaAD0AG4AZQAtAEEAbABwAGUAczEfMB0GA1UEBx4WAFIA
+aAD0AG4AZQAtAEEAbABwAGUAczEaMBgGA1UEChMRTCdIZXVyZXV4LUN5Y2xhZ2Ux
+FDASBgNVBAsTC1NlcnZpY2UgR2l0MSAwHgYDVQQDExdnaXQuaGV1cmV1eC1jeWNs
+YWdlLm9yZzFLMEkGA1UEDx5CAFYAMQAuADAALAAgAG4AaQAgAGQAaQBlAHUAIABu
+AGkAIABtAGEA7gB0AHIAZQAgAG4AaQAgAG0AbwB0AGUAdQByMScwJQYLKwYBBAGC
+NzwCAQEeFgBSAGgA9ABuAGUALQBBAGwAcABlAHMxJzAlBgsrBgEEAYI3PAIBAh4W
+AFIAaAD0AG4AZQAtAEEAbABwAGUAczETMBEGCysGAQQBgjc8AgEDEwJGUjCCAiIw
+DQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBANkLnuekTNwjIMH5SaBQcN8CKwEY
+FVajrHi/bR+FfXd1Yv6R/nj4AS5fRM0FWcuCUrkQkByXDi3a9Q1l/0jgybLFdc6q
+FxXl+YUrgF4pLeh3j/C0tUCtHWMpmGhHftoxmjpyTVNUjQ130Yga53+RVenfltHC
+nsNgt9yafAhV0G4SXKJZKqfopkAhlgZB+ByDfJQmDbSXn7npxFsrjbBTT5iLF7KY
+x7Aud/qw0N8igyExliNU8/VZrAn1aeGW4So5nuOM/dMdm/nwMTZm27d2lJUMzMg0
+eoS7ZIHstPSK+StWwckjku+ut6DNVjTcXrPjVlP9D6IHBX7Z/7X6kdVuMZADrbae
+s2fwJMsBeDJLeBT7AcYoBsJkprdgqchK4XOcwhK397qEJURkvgyCCkeAiekShoF5
+u3HXDU8Hi/mZZ4fLshK2io1KsmX9lw/PpHupTuTobN1gnN2YwLeruFyS4pgJOikV
+OxWJs3TjyyZoDGQPYdj+PR2nJspz1lFGz8Zu13hMZOCdYlutTYheNNK/TBjDJQeo
+81YlI9AXCeKuQWUVGOxmOmBrNSSQsEzcW66sfVXWeyZsA+cQefKbfIJYoQGlsYmz
+ocAQMhVvO1V4a6OJSVL84U6t5WToup0eQIyS4vAgymmMd9KgkHu2KDqX4gUeiuBs
+rhFdYc2ir1SIBeLNAgMBAAGjggMaMIIDFjASBgNVHRMBAf8ECDAGAQH/AgEAMAsG
+A1UdDwQEAwIBpjBYBgNVHREEUTBPgR9jb250YWN0K2dpdEBoZXVyZXV4LWN5Y2xh
+Z2Uub3JnghdnaXQuaGV1cmV1eC1jeWNsYWdlLm9yZ4ITaGV1cmV1eC1jeWNsYWdl
+Lm9yZzAdBgNVHQ4EFgQUZiNRZEI1ILex+/79vU+X8DbRv1EwWAYDVR0SBFEwT4Ef
+Y29udGFjdCtnaXRAaGV1cmV1eC1jeWNsYWdlLm9yZ4IXZ2l0LmhldXJldXgtY3lj
+bGFnZS5vcmeCE2hldXJldXgtY3ljbGFnZS5vcmcwggGPBgNVHSMEggGGMIIBgoAU
+ZiNRZEI1ILex+/79vU+X8DbRv1GhggFfpIIBWzCCAVcxCzAJBgNVBAYTAkZSMR8w
+HQYDVQQIHhYAUgBoAPQAbgBlAC0AQQBsAHAAZQBzMR8wHQYDVQQHHhYAUgBoAPQA
+bgBlAC0AQQBsAHAAZQBzMRowGAYDVQQKExFMJ0hldXJldXgtQ3ljbGFnZTEUMBIG
+A1UECxMLU2VydmljZSBHaXQxIDAeBgNVBAMTF2dpdC5oZXVyZXV4LWN5Y2xhZ2Uu
+b3JnMUswSQYDVQQPHkIAVgAxAC4AMAAsACAAbgBpACAAZABpAGUAdQAgAG4AaQAg
+AG0AYQDuAHQAcgBlACAAbgBpACAAbQBvAHQAZQB1AHIxJzAlBgsrBgEEAYI3PAIB
+AR4WAFIAaAD0AG4AZQAtAEEAbABwAGUAczEnMCUGCysGAQQBgjc8AgECHhYAUgBo
+APQAbgBlAC0AQQBsAHAAZQBzMRMwEQYLKwYBBAGCNzwCAQMTAkZSggcgEwMWIRkR
+MEsGCCsGAQUFBwEBBD8wPTA7BggrBgEFBQcwAoYvaHR0cDovL3d3dy5oZXVyZXV4
+LWN5Y2xhZ2Uub3JnL3g1MDkvZ2l0L2NydC5wZW0wQAYDVR0fBDkwNzA1oDOgMYYv
+aHR0cDovL3d3dy5oZXVyZXV4LWN5Y2xhZ2Uub3JnL3g1MDkvZ2l0L2NybC5wZW0w
+DQYJKoZIhvcNAQENBQADggIBAC/6ugwtOck8DRB8NgO4X65xxer0cpDrO7mCzFNa
+xQq6OBCdSdTN4ByPUl2BqU67Llroivfh9j5zG7icgr7Ctbdu4NXJIxFSvYrHKRrd
+GEETN3heAXZL7qiqjvHLVdC3bEkW8L/3h51GP2eg12Prj5irTsYchdzkWHEdddVX
+NIVglXmKGEo+j/dbp703K4T82Jbm2wUWUS/Y2JAIGSu8viITg6HJue4DX7IGqvCG
+tnedsREY8UmiYd6aShhICuftbbFSeyito08r5HYfZk1SegRQAExp6VoD2BOpi7Hw
+p+zBhC60BNQDPXfSTbkh/RneLWhbwVOMs0HBzpUMHV1RXwqNM+qVsQ5f85KFz4YQ
+S2mahZj8w35DWMkJlLDm0WjuJRzCOXK/r3TXZEt9II19wxQeRIOw+Kvzp7hyd0YN
+UIO0I5s+2sN7fk9eB4m4IKdr3fRSpXaPAwq0b/CsZZ2wJ8zxD0VHt8F9oaZIJ7Ik
+tcRGdcAkjUu+fKh1cfFH3GNSdbloctpQ/WphJuq3gU356B3RjPcoku5oBpbSlTu1
+Dfk1DxE0N4O32hiG0knPQSmt6fOOUZ2FWIo1B8AzCawNkwBV51eyw12gcsMep5ck
+F8BblgDMqUW02jZ4+b5QcwmZObwEysUPuGbkA38DIH9Z6rl+XnWL5OdJT1NDWzeZ
+g0Xj
+-----END CERTIFICATE-----
--- /dev/null
+-----BEGIN PGP SIGNATURE-----
+Version: GnuPG v1.4.12 (GNU/Linux)
+
+iQIcBAABCgAGBQJRRNO/AAoJEF4nGc9w/oqeVu4P/RLVYFm3sx/dWSG4gEm3G73u
+gC2DIowUE/MDUbqgJMGj2HC7+bGMnLxvhpE5aDV5rY6XBDTeiZXh7uKRr5W9GS+1
+4ttQxMt0RIPOCMLNy/iJrmzn6mFYN5GtPoBr65QDopvhSACROZq10IEcbt08rGjS
+v11PTwnlXLtU8GlzWdo3UvSiGnTHALPM3i0yfJM97UNqDz4yv+KcP0X+tjVfSuSm
+SUrRKFVZzVfjbpNxXq6sPmxBCRhmUT21cVr4t5J3OHtva25sP1MkomcY7bKFuGNT
+QPDSulGcQmxeSP38fMTUcFNlqYa7Hehv9/VPQcyPMnh/uVYeZDZCxTtS5qKeU5hT
+AIspTHXxDzQq1T52fthDRM+9ifZf56QxRqY1JZs2b0o5lWLs4+9glBJEPTGZMf83
+0Wl9UDaXPZ6OmAx2uv17CwCpSQvEe+nD2n7tu8SgciJfgkxXdzdyybUFHnaUgJFy
+qijI1Hm/v7b/GX/kJ6pcQLE0IPtG3CHMZSoLbpWhIyz0qI8MGdX1yNOdWhbU5Yh3
+xDw8FytDcvWH5xE77SQAcjValBfTAQs81D49CkfeLYjyxSUEHPzwS2FSrqfxPo3j
+hNkyK7C4HtFP36+1DrzdY1dWQICd31m+WrEYih/UmKZnZ/QAw+DkF4ko4OYBCkLJ
+n2P0rcLyS1IMTqSAyd/y
+=yFfz
+-----END PGP SIGNATURE-----
--- /dev/null
+-----BEGIN CERTIFICATE REQUEST-----
+MIIFnjCCA4YCAQAwggFXMQswCQYDVQQGEwJGUjEfMB0GA1UECB4WAFIAaAD0AG4A
+ZQAtAEEAbABwAGUAczEfMB0GA1UEBx4WAFIAaAD0AG4AZQAtAEEAbABwAGUAczEa
+MBgGA1UEChMRTCdIZXVyZXV4LUN5Y2xhZ2UxFDASBgNVBAsTC1NlcnZpY2UgR2l0
+MSAwHgYDVQQDExdnaXQuaGV1cmV1eC1jeWNsYWdlLm9yZzFLMEkGA1UEDx5CAFYA
+MQAuADAALAAgAG4AaQAgAGQAaQBlAHUAIABuAGkAIABtAGEA7gB0AHIAZQAgAG4A
+aQAgAG0AbwB0AGUAdQByMScwJQYLKwYBBAGCNzwCAQEeFgBSAGgA9ABuAGUALQBB
+AGwAcABlAHMxJzAlBgsrBgEEAYI3PAIBAh4WAFIAaAD0AG4AZQAtAEEAbABwAGUA
+czETMBEGCysGAQQBgjc8AgEDEwJGUjCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCC
+AgoCggIBANkLnuekTNwjIMH5SaBQcN8CKwEYFVajrHi/bR+FfXd1Yv6R/nj4AS5f
+RM0FWcuCUrkQkByXDi3a9Q1l/0jgybLFdc6qFxXl+YUrgF4pLeh3j/C0tUCtHWMp
+mGhHftoxmjpyTVNUjQ130Yga53+RVenfltHCnsNgt9yafAhV0G4SXKJZKqfopkAh
+lgZB+ByDfJQmDbSXn7npxFsrjbBTT5iLF7KYx7Aud/qw0N8igyExliNU8/VZrAn1
+aeGW4So5nuOM/dMdm/nwMTZm27d2lJUMzMg0eoS7ZIHstPSK+StWwckjku+ut6DN
+VjTcXrPjVlP9D6IHBX7Z/7X6kdVuMZADrbaes2fwJMsBeDJLeBT7AcYoBsJkprdg
+qchK4XOcwhK397qEJURkvgyCCkeAiekShoF5u3HXDU8Hi/mZZ4fLshK2io1KsmX9
+lw/PpHupTuTobN1gnN2YwLeruFyS4pgJOikVOxWJs3TjyyZoDGQPYdj+PR2nJspz
+1lFGz8Zu13hMZOCdYlutTYheNNK/TBjDJQeo81YlI9AXCeKuQWUVGOxmOmBrNSSQ
+sEzcW66sfVXWeyZsA+cQefKbfIJYoQGlsYmzocAQMhVvO1V4a6OJSVL84U6t5WTo
+up0eQIyS4vAgymmMd9KgkHu2KDqX4gUeiuBsrhFdYc2ir1SIBeLNAgMBAAGgADAN
+BgkqhkiG9w0BAQ0FAAOCAgEAE7pkYyItZ4nOceXcoLnlsJAWEzt+8FoLgLX01aci
+cT0ZmFU95LRcI5YExrDkprq/eJn51S6k0yxkMi7o1vKH29f0MBtwNdb1bPCrwlhH
+1wbTc/al7okWVHi4zZAVAJE2dcpbYv7RiG3bHRCEYuVY8OBtfOUJOA8V955uL6kc
+fgpGad4bhPNiOebIFf4se00UmH/QzQ46/oq+DgYyYhodppV3ETxeh0Imft68Bu7+
+VGptxCVA6WNF8QPZCVk/57ov6LRqtzmhBeoPPr2nSTAElFCwgf5jDwWJi49CLrZD
++nJa8k5Fm1Jap9bUC1xk+u7pcOXusDqZFu6FPiHaNUjtA6JKR/BXlpS7iKQNs4aZ
+ZZP74LOOLHOIGZWIDxNAq5q/u+xncXX8n1toIpze8SiPJGAUz8RAYEwQfqQGZQqW
+YxIcIOM4unhFROsosViw8GntZr8KhUMNN42kJZdNE/uFLiNSWY63V5rju04pGeRH
+J0osPZjyhnokQoGSKE9gDvR9DCzlvmkfeVMMdOvPo9gtWbEpN9tJEULNkHC2UW7T
+4VFhtJ8Ee7flQj8XecA6NiYY/Lz/GwaeCUs79Sa50tB7C9Srhm1bYgVTCljly6CB
+kZHDqAYyweJNNxZ9B/AYOy3315YxS+/RuildV/1VQGwRoz6AWbBFcZChW29BoNmO
+2Ak=
+-----END CERTIFICATE REQUEST-----
# NOTE: clefs générées par Debian
sudo update-initramfs -u
}
+rule_gitolite_configure () {
+ local user=git
+ sudo debconf-set-selections <<-EOF
+ gitolite gitolite/gituser string $user
+ gitolite gitolite/adminkey string
+ gitolite gitolite/gitdir string /home/$user
+ EOF
+ rule apt_get_install gitolite
+ getent passwd "$user" >/dev/null ||
+ sudo adduser \
+ --disabled-password \
+ --group \
+ --shell /bin/bash \
+ --system \
+ "$user"
+ sudo chfn --full-name "$user" "$user"
+ eval local home\; home="~$user"
+ sudo install -d -m 770 -o "$user" -g "$user" \
+ /etc/gitolite \
+ "$home"/etc \
+ "$home"/etc/ssh \
+ "$home"/pub \
+ "$home"/log \
+ "$home"/log/gitolite \
+ "$home"/log/gitolite/perf
+ sudo ln -fns /etc/gitolite "$home"/etc/gitolite
+ sudo ln -fns etc/gitolite/gitolite.rc "$home"/.gitolite.rc
+ sudo ln -fns etc/ssh "$home"/.ssh
+ sudo install -m 770 -o "$user" -g "$user" /dev/stdin \
+ "$home"/etc/gitolite/gitolite.rc <<-EOF
+ #\$ADMIN_POST_UPDATE_CHAINS_TO = "hooks/post-update.secondary";
+ #\$BIG_INFO_CAP = 20;
+ #\$ENV{GL_SLAVES} = 'gitolite@server2 gitolite@server3';
+ # NOTE: Please use single quotes, not double quotes.
+ #\$GITWEB_URI_ESCAPE = 0;
+ \$GIT_PATH = "";
+ #\$GL_ADC_PATH = "";
+ \$GL_ADMINDIR = \$ENV{HOME} . "/etc/gitolite";
+ #\$GL_ALL_INCLUDES_SPECIAL = 0;
+ #\$GL_ALL_READ_ALL = 0;
+ \$GL_BIG_CONFIG = 0;
+ \$GL_CONF = "\$GL_ADMINDIR/conf/gitolite.conf";
+ \$GL_CONF_COMPILED = "\$GL_ADMINDIR/conf/gitolite.conf.pm";
+ #\$GL_GET_MEMBERSHIPS_PGM = "/usr/local/bin/expand-ldap-user-to-groups"
+ \$GL_GITCONFIG_KEYS = "hooks\\..* repo\\..*";
+ #\$GL_HOSTNAME = "git.$vm_domainname";
+ # NOTE: read doc/mirroring.mkd COMPLETELY before setting this.
+ #\$GL_HTTP_ANON_USER = "mob";
+ \$GL_KEYDIR = "\$GL_ADMINDIR/keydir";
+ \$GL_LOGT = \$ENV{HOME} . "/log/gitolite/%y-%m-%d.log";
+ #\$GL_NICE_VALUE = 0;
+ \$GL_NO_CREATE_REPOS = 0;
+ \$GL_NO_DAEMON_NO_GITWEB = 0;
+ \$GL_NO_SETUP_AUTHKEYS = 0;
+ \$GL_PACKAGE_CONF = "/usr/share/gitolite/conf";
+ \$GL_PACKAGE_HOOKS = "/usr/share/gitolite/hooks";
+ #\$GL_PERFLOGT = \$ENV{HOME} . "/log/gitolite/perf/%y-%m-%d.log";
+ #\$GL_REF_OR_FILENAME_PATT = qr(^[0-9a-zA-Z][0-9a-zA-Z._\\@/+ :,-]*\$);
+ \$GL_SITE_INFO = "git.$vm_domainname";
+ #\$GL_SLAVE_MODE = 0;
+ \$GL_WILDREPOS = 0;
+ #\$GL_WILDREPOS_DEFPERMS = 'R @all';
+ \$GL_WILDREPOS_PERM_CATS = "READERS WRITERS";
+ \$HTPASSWD_FILE = "";
+ \$PROJECTS_LIST = \$ENV{HOME} . "/projects.list";
+ \$REPO_BASE = "pub";
+ \$REPO_UMASK = 0007;
+ \$RSYNC_BASE = "";
+ \$SVNSERVE = "";
+ #\$UPDATE_CHAINS_TO = "hooks/update.secondary";
+ #\$WEB_INTERFACE = "gitweb";
+ 1;
+ EOF
+ sudo install -m 770 -o "$user" -g "$user" /dev/stdin \
+ "$home"/etc/gitweb/gitweb.conf <<-EOF
+ \$commit_oneline_message_width = 70;
+ \$default_projects_order = 'age';
+ \$default_text_plain_charset = 'UTF-8';
+ @diff_opts = ();
+ \$favicon = "img/git-favicon.png";
+ \$git_temp = "/run/shm/gitweb";
+ \$home_footer = "/etc/gitweb/cgi/home-footer.cgi.inc";
+ \$home_header = "/etc/gitweb/cgi/home-header.cgi.inc";
+ \$home_link = "/";
+ \$home_link_str = 'dépôts';
+ \$home_th_age = 'activité';
+ \$home_th_descr = 'description';
+ \$home_th_owner = 'contact';
+ \$home_th_project = 'dépôt';
+ \$javascript = "js/gitweb.js";
+ \$logo = "img/git-logo.png";
+ \$my_uri = "";
+ \$projectroot = "../git";
+ \$projects_list = "/etc/gitolite/projects.list";
+ \$projects_list_description_width = 42;
+ \$projects_list_owner_width = 15;
+ \$search_str = "Filtre :";
+ \$site_footer = "/home/fai/pub/www/git.autogeree.net/cgi/site-footer.bin";
+ \$site_header = undef;
+ \$site_name = "git.$vm_domainname";
+ \$space_to_nbsp = 0;
+ @stylesheets = ("css/gitweb.css");#
+ \$untabify_tabstop = 2;
+ EOF
+ sudo install -m 600 -o "$user" -g "$user" \
+ "$tool"/var/pub/ssh/"$user".key \
+ "$home"/etc/ssh/"$user".pub
+ sudo -u "$user" \
+ GL_RC="$home"/etc/gitolite/gitolite.rc \
+ GIT_AUTHOR_NAME="$user" \
+ gl-setup -q "$home"/etc/ssh/"$user".pub "$user"
+ local d
+ for d in doc logs src
+ do test ! -d "$home"/etc/gitolite/"$d" ||
+ rmdir "$home"/etc/gitolite/"$d"
+ done
+ rule apt_get_install gitweb highlight
+ #sudo sv restart spawn-fcgi.git.80.git.heureux-cyclage.org
+ #sudo sv restart git-daemon.git.9418
+ }
rule_locale_configure () {
sudo debconf-set-selections <<-EOF
locales locales/default_environment_locale select None
#rule apache2_configure
rule nginx_configure
rule php5_fpm_configure
+ rule gitolite_configure
}
rule_luks_key_change () {
#!/bin/sh
set -e -f ${DRY_RUN:+-n} -u
-tool=${0%/*}
+tool=$(cd "${0%/*}"; cd -)
. "$tool"/lib/rule.sh
. "$tool"/etc/vm.sh
rule _x509_service_key_send_deciphered imap \
/etc/dovecot/$vm_domainname/$service/x509/key.pem -l root "$@"
}
+rule_gitolite_configure () {
+ (
+ cd "$tool"/etc/gitolite
+ GIT_SSH=../../lib/ssh \
+ ssh-agent sh -c ' \
+ SSH_ASKPASS='"$tool"'/lib/ssh-pass \
+ SSH_ID=git \
+ ssh-add '"$tool"'/var/sec/ssh/git </dev/null && \
+ git push -v origin '"$*"
+ )
+ }
rule_nginx_key_send () {
local -; set +f
for conf in "$tool"/etc/nginx/site.d/*/server.conf