martin.kleppmann.com
Open in
urlscan Pro
188.114.97.3
Public Scan
Submission: On October 21 via api from RU — Scanned from NL
Summary
TLS certificate: Issued by WE1 on September 24th 2024. Valid for: 3 months.
This is the only time martin.kleppmann.com was scanned on urlscan.io!
urlscan.io Verdict: No classification
Domain & IP information
IP Address | AS Autonomous System | ||
---|---|---|---|
21 | 188.114.97.3 188.114.97.3 | 13335 (CLOUDFLAR...) (CLOUDFLARENET) | |
1 | 2606:4700:20:... 2606:4700:20::681a:ddc | 13335 (CLOUDFLAR...) (CLOUDFLARENET) | |
1 | 172.64.150.56 172.64.150.56 | 13335 (CLOUDFLAR...) (CLOUDFLARENET) | |
5 | 199.232.192.134 199.232.192.134 | 54113 (FASTLY) (FASTLY) | |
2 | 104.17.24.14 104.17.24.14 | 13335 (CLOUDFLAR...) (CLOUDFLARENET) | |
1 | 151.101.192.134 151.101.192.134 | 54113 (FASTLY) (FASTLY) | |
2 | 199.232.192.64 199.232.192.64 | 54113 (FASTLY) (FASTLY) | |
2 | 2600:9000:205... 2600:9000:2057:6e00:6:8656:f5c0:93a1 | 16509 (AMAZON-02) (AMAZON-02) | |
35 | 8 |
Apex Domain Subdomains |
Transfer | |
---|---|---|
21 |
kleppmann.com
martin.kleppmann.com |
304 KB |
8 |
disqus.com
martinkl.disqus.com disqus.com — Cisco Umbrella Rank: 1153 tempest.services.disqus.com — Cisco Umbrella Rank: 17654 referrer.disqus.com — Cisco Umbrella Rank: 9022 |
28 KB |
2 |
disquscdn.com
c.disquscdn.com — Cisco Umbrella Rank: 6654 |
839 B |
2 |
cloudflare.com
cdnjs.cloudflare.com — Cisco Umbrella Rank: 220 |
70 KB |
1 |
substack.com
martinkl.substack.com |
|
1 |
mathjax.org
cdn.mathjax.org — Cisco Umbrella Rank: 33828 |
1 KB |
35 | 6 |
Domain | Requested by | |
---|---|---|
21 | martin.kleppmann.com |
martin.kleppmann.com
|
4 | referrer.disqus.com |
martin.kleppmann.com
|
2 | c.disquscdn.com |
martinkl.disqus.com
|
2 | tempest.services.disqus.com |
martinkl.disqus.com
|
2 | cdnjs.cloudflare.com |
cdn.mathjax.org
cdnjs.cloudflare.com |
1 | disqus.com |
martinkl.disqus.com
|
1 | martinkl.disqus.com |
martin.kleppmann.com
|
1 | martinkl.substack.com |
martin.kleppmann.com
|
1 | cdn.mathjax.org |
martin.kleppmann.com
|
35 | 9 |
This site contains links to these domains. Also see Links.
Subject Issuer | Validity | Valid | |
---|---|---|---|
kleppmann.com WE1 |
2024-09-24 - 2024-12-23 |
3 months | crt.sh |
mathjax.org WE1 |
2024-10-20 - 2025-01-18 |
3 months | crt.sh |
substack.com WE1 |
2024-10-11 - 2025-01-09 |
3 months | crt.sh |
*.disqus.com Sectigo RSA Domain Validation Secure Server CA |
2024-04-16 - 2025-04-16 |
a year | crt.sh |
cdnjs.cloudflare.com WE1 |
2024-09-28 - 2024-12-27 |
3 months | crt.sh |
*.services.disqus.com GlobalSign Atlas R3 DV TLS CA 2024 Q2 |
2024-06-10 - 2025-07-12 |
a year | crt.sh |
a.disquscdn.com Amazon RSA 2048 M02 |
2024-07-30 - 2025-08-27 |
a year | crt.sh |
This page contains 7 frames:
Primary Page:
https://martin.kleppmann.com/2016/02/08/how-to-do-distributed-locking.html
Frame ID: DBA0FA2BA45A25DB13E1C425B49E6094
Requests: 29 HTTP requests in this frame
Frame:
https://martinkl.substack.com/embed
Frame ID: 7761C252024C4EAF7A3456611AC8271D
Requests: 1 HTTP requests in this frame
Frame:
https://disqus.com/embed/comments/?base=default&f=martinkl&t_i=http%3A%2F%2Fmartin.kleppmann.com%2F2016%2F02%2F08%2Fhow-to-do-distributed-locking.html&t_u=http%3A%2F%2Fmartin.kleppmann.com%2F2016%2F02%2F08%2Fhow-to-do-distributed-locking.html&t_d=How%20to%20do%20distributed%20locking%20%E2%80%94%20Martin%20Kleppmann%E2%80%99s%20blog&t_t=How%20to%20do%20distributed%20locking%20%E2%80%94%20Martin%20Kleppmann%E2%80%99s%20blog&s_o=default
Frame ID: F2C85A011D08E6CDEB396664DEFC2713
Requests: 1 HTTP requests in this frame
Frame:
https://tempest.services.disqus.com/ads-iframe/taboola/?position=top&shortname=martinkl&experiment=network_default&variant=fallthrough&service=dynamic&anchorColor=%23a00004&colorScheme=light&sourceUrl=http%3A%2F%2Fmartin.kleppmann.com%2F2016%2F02%2F08%2Fhow-to-do-distributed-locking.html&typeface=sans-serif&disqus_version=current
Frame ID: 22383DA2B9A16310E69055868E7010F7
Requests: 1 HTTP requests in this frame
Frame:
https://tempest.services.disqus.com/ads-iframe/taboola/?position=bottom&shortname=martinkl&experiment=network_default&variant=fallthrough&service=dynamic&anchorColor=%23a00004&colorScheme=light&sourceUrl=http%3A%2F%2Fmartin.kleppmann.com%2F2016%2F02%2F08%2Fhow-to-do-distributed-locking.html&typeface=sans-serif&disqus_version=current
Frame ID: 3D13FD5501148D915872B0492128DDDC
Requests: 1 HTTP requests in this frame
Frame:
https://c.disquscdn.com/next/embed/styles/realtime.b23ff3c36dd0169627f8e54ca1621eca.css
Frame ID: 46C91850001E3E402EA6DCCF25099B4F
Requests: 1 HTTP requests in this frame
Frame:
https://c.disquscdn.com/next/embed/styles/realtime.b23ff3c36dd0169627f8e54ca1621eca.css
Frame ID: 1BDAB517986BB1CEE60D95057BBE89E6
Requests: 1 HTTP requests in this frame
55 Outgoing links
These are links going to different origins than the main page.
Title: my book
Search URL Search Domain Scan URL
Title: Redlock
Search URL Search Domain Scan URL
Title: Redis
Search URL Search Domain Scan URL
Title: leases
Search URL Search Domain Scan URL
Title: elsewhere
Search URL Search Domain Scan URL
Title: for efficiency or for correctness
Search URL Search Domain Scan URL
Title: have this problem
Search URL Search Domain Scan URL
Title: several minutes
Search URL Search Domain Scan URL
Title: need to stop the world
Search URL Search Domain Scan URL
Title: black node in your scheduler tree
Search URL Search Domain Scan URL
Title: they do
Search URL Search Domain Scan URL
Title: incident at GitHub
Search URL Search Domain Scan URL
Title: incrementing a counter
Search URL Search Domain Scan URL
Title: asynchronous model with unreliable failure detectors
Search URL Search Domain Scan URL
Title: consensus becomes impossible
Search URL Search Domain Scan URL
Title: requires consensus
Search URL Search Domain Scan URL
Title: uses gettimeofday
Search URL Search Domain Scan URL
Title: monotonic clock
Search URL Search Domain Scan URL
Title: expiry of keys
Search URL Search Domain Scan URL
Title: explicitly says
Search URL Search Domain Scan URL
Title: stepped by NTP
Search URL Search Domain Scan URL
Title: without making any timing assumptions
Search URL Search Domain Scan URL
Title: recommends delaying restarts
Search URL Search Domain Scan URL
Title: bad NTP server
Search URL Search Domain Scan URL
Title: Jepsen
Search URL Search Domain Scan URL
Title: straightforward single-node locking algorithm
Search URL Search Domain Scan URL
Title: ZooKeeper
Search URL Search Domain Scan URL
Title: Curator recipes
Search URL Search Domain Scan URL
Title: database with reasonable transactional guarantees
Search URL Search Domain Scan URL
Title: Salvatore
Search URL Search Domain Scan URL
Title: Junqueira and Reed’s book
Search URL Search Domain Scan URL
Title: Cachin, Guerraoui and Rodrigues’ textbook
Search URL Search Domain Scan URL
Title: Kyle Kingsbury
Search URL Search Domain Scan URL
Title: Camille Fournier
Search URL Search Domain Scan URL
Title: Flavio Junqueira
Search URL Search Domain Scan URL
Title: posted a rebuttal
Search URL Search Domain Scan URL
Title: HN discussion
Search URL Search Domain Scan URL
Title: doi:10.1145/74850.74870
Search URL Search Domain Scan URL
Title: doi:10.1145/2639988.2639988
Search URL Search Domain Scan URL
Title: doi:10.1145/226643.226647
Search URL Search Domain Scan URL
Title: doi:10.1145/3149.214121
Search URL Search Domain Scan URL
Title: doi:10.1145/114005.102808
Search URL Search Domain Scan URL
Title: doi:10.1145/42282.42283
Search URL Search Domain Scan URL
Title: doi:10.1007/978-3-642-15260-3
Search URL Search Domain Scan URL
Title: support me on Patreon
Search URL Search Domain Scan URL
Title: follow me on Bluesky
Search URL Search Domain Scan URL
Title: Mastodon
Search URL Search Domain Scan URL
Title: Site RSS feed
Search URL Search Domain Scan URL
Title: email notification
Search URL Search Domain Scan URL
Title: thousands
Search URL Search Domain Scan URL
Title: local-first software
Search URL Search Domain Scan URL
Title: University of Cambridge
Search URL Search Domain Scan URL
Search URL Search Domain Scan URL
Title: Carrington
Search URL Search Domain Scan URL
Title: Jekyll
Search URL Search Domain Scan URL
Redirected requests
There were HTTP redirect chains for the following requests:
35 HTTP transactions
Method Protocol |
Resource Path |
Size x-fer |
Type MIME-Type |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
GET H3 |
Primary Request
how-to-do-distributed-locking.html
martin.kleppmann.com/2016/02/08/ |
41 KB 16 KB |
Document
text/html |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||
General
Request headers
Response headers
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
GET H3 |
typography.css
martin.kleppmann.com/css/ |
3 KB 2 KB |
Stylesheet
text/css |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||
General
Request headers
Response headers
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
GET H3 |
style.css
martin.kleppmann.com/css/ |
2 KB 2 KB |
Stylesheet
text/css |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||
General
Request headers
Response headers
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
GET H3 |
pygments-default.css
martin.kleppmann.com/css/ |
3 KB 2 KB |
Stylesheet
text/css |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||
General
Request headers
Response headers
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
GET H3 |
ansi2html.css
martin.kleppmann.com/css/ |
17 KB 3 KB |
Stylesheet
text/css |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||
General
Request headers
Response headers
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
GET H3 |
customizations.css
martin.kleppmann.com/css/ |
707 B 1 KB |
Stylesheet
text/css |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||
General
Request headers
Response headers
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
GET H2 |
MathJax.js
cdn.mathjax.org/mathjax/latest/ |
2 KB 1 KB |
Script
application/javascript |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||
General
Request headers
Response headers
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
GET H3 |
unsafe-lock.png
martin.kleppmann.com/2016/02/ |
35 KB 35 KB |
Image
image/png |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||
General
Request headers
Response headers
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
GET H3 |
fencing-tokens.png
martin.kleppmann.com/2016/02/ |
35 KB 36 KB |
Image
image/png |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||
General
Request headers
Response headers
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
GET H3 |
book-cover-small.png
martin.kleppmann.com/images/ |
139 KB 139 KB |
Image
image/png |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||
General
Request headers
Response headers
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
GET H3 |
creative-commons.png
martin.kleppmann.com/images/ |
1 KB 2 KB |
Image
image/png |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||
General
Request headers
Response headers
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
GET H3 |
carrington-blog.css
martin.kleppmann.com/css/ |
13 KB 4 KB |
Stylesheet
text/css |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||
General
Request headers
Response headers
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
GET H3 |
embed
martinkl.substack.com/ Frame 7761 |
0 0 |
Document
text/html |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||
General
Request headers
Response headers
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
GET H/1.1 |
embed.js
martinkl.disqus.com/ |
80 KB 26 KB |
Script
application/javascript |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||
General
Request headers
Response headers
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
GET H3 |
header-gradient.gif
martin.kleppmann.com/images/ |
330 B 1 KB |
Image
image/gif |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||
General
Request headers
Response headers
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
GET H3 |
header-texture.jpg
martin.kleppmann.com/images/ |
47 KB 47 KB |
Image
image/jpeg |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||
General
Request headers
Response headers
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
GET H3 |
sub-header-border-bottom.gif
martin.kleppmann.com/images/ |
43 B 854 B |
Image
image/gif |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||
General
Request headers
Response headers
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
GET H3 |
arrow-bullet.gif
martin.kleppmann.com/images/ |
46 B 831 B |
Image
image/gif |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||
General
Request headers
Response headers
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
GET H3 |
sidebar-background.gif
martin.kleppmann.com/images/ |
1 KB 2 KB |
Image
image/gif |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||
General
Request headers
Response headers
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
GET H3 |
divider-ornament.gif
martin.kleppmann.com/images/ |
778 B 2 KB |
Image
image/gif |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||
General
Request headers
Response headers
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
GET H3 |
rss-button.gif
martin.kleppmann.com/images/ |
2 KB 3 KB |
Image
image/gif |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||
General
Request headers
Response headers
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
GET H3 |
footer-gradient.gif
martin.kleppmann.com/images/ |
612 B 1 KB |
Image
image/gif |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||
General
Request headers
Response headers
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
GET H3 |
divider-ornament-wide-dark.gif
martin.kleppmann.com/images/ |
2 KB 3 KB |
Image
image/gif |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||
General
Request headers
Response headers
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
GET H3 |
MathJax.js
cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.1/ |
62 KB 17 KB |
Script
application/javascript |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||
General
Request headers
Response headers
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
GET H3 |
TeX-AMS_CHTML.js
cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.1/config/ |
213 KB 53 KB |
Script
application/javascript |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||
General
Request headers
Response headers
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
GET H/1.1 |
/
disqus.com/embed/comments/ Frame F2C8 |
0 0 |
Document
text/html |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||
General
Request headers
Response headers
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
GET H/1.1 |
/
tempest.services.disqus.com/ads-iframe/taboola/ Frame 2238 |
0 0 |
Document
text/html |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||
General
Request headers
Response headers
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
GET H/1.1 |
/
tempest.services.disqus.com/ads-iframe/taboola/ Frame 3D13 |
0 0 |
Document
text/html |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||
General
Request headers
Response headers
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
GET H/1.1 |
event.gif
referrer.disqus.com/juggler/ |
43 B 339 B |
Image
image/gif |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||
General
Request headers
Response headers
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
GET H/1.1 |
event.gif
referrer.disqus.com/juggler/ |
43 B 339 B |
Image
image/gif |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||
General
Request headers
Response headers
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
GET H2 |
realtime.b23ff3c36dd0169627f8e54ca1621eca.css
c.disquscdn.com/next/embed/styles/ Frame 46C9 |
337 B 839 B |
Stylesheet
text/css |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||
General
Request headers
Response headers
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
GET H2 |
realtime.b23ff3c36dd0169627f8e54ca1621eca.css
c.disquscdn.com/next/embed/styles/ Frame 1BDA |
337 B 0 |
Stylesheet
text/css |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||
General
Request headers
Response headers
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
GET H/1.1 |
event.gif
referrer.disqus.com/juggler/ |
43 B 339 B |
Image
image/gif |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||
General
Request headers
Response headers
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
GET H/1.1 |
event.gif
referrer.disqus.com/juggler/ |
43 B 339 B |
Image
image/gif |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||
General
Request headers
Response headers
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
GET H3 |
favicon.ico
martin.kleppmann.com/ |
346 B 1007 B |
Other
text/html |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||
General
Request headers
Response headers
|
Verdicts & Comments Add Verdict or Comment
13 JavaScript Global Variables
These are the non-standard "global" variables defined on the window object. These can be helpful in identifying possible client-side frameworks and code.
object| 0 object| 1 object| 2 object| 3 object| 4 object| 5 object| 6 string| disqus_shortname string| disqus_url string| disqus_identifier function| disqus_config object| DISQUS object| MathJax1 Cookies
Cookies are little pieces of information stored in the browser of a user. Whenever a user visits the site again, he will also send his cookie values, thus allowing the website to re-identify him even if he changed locations. This is how permanent logins work.
Domain/Path | Expires | Name / Value |
---|---|---|
.substack.com/ | Name: __cf_bm Value: Gk4dBFVYPOaJ1YAonlV61L2ovZqblfeFxWbvHg2G_00-1729478181-1.0.1.1-reZvz2cEOTzIjLvx4NjvBfhxyTUIRnXoHOJiYdwBlgEW.nRr3pO34oawPET1q6pbyZEDxvUh_IhiaKhWiBpSCg |
1 Console Messages
A page may trigger messages to the console to be logged. These are often error messages about being unable to load a resource or execute a piece of JavaScript. Sometimes they also provide insight into the technology behind a website.
Source | Level | URL Text |
---|
Indicators
This is a term in the security industry to describe indicators such as IPs, Domains, Hashes, etc. This does not imply that any of these indicate malicious activity.
c.disquscdn.com
cdn.mathjax.org
cdnjs.cloudflare.com
disqus.com
martin.kleppmann.com
martinkl.disqus.com
martinkl.substack.com
referrer.disqus.com
tempest.services.disqus.com
104.17.24.14
151.101.192.134
172.64.150.56
188.114.97.3
199.232.192.134
199.232.192.64
2600:9000:2057:6e00:6:8656:f5c0:93a1
2606:4700:20::681a:ddc
171e61c7ebb645c2f14033bdd57342d6dff5bf5138b4346f538d0bcf1cb25d44
18a3b14911b63366b6c239d7a43304912f58e5421aa594bbe096485430412687
231d1acd4be71020140c1e76e2f157bd4bfc576530dda2352f45a6bfa3d8cccd
2b9d71d09a1c9e0a5c7f48eda784b0e6fd2ead8c3d91b999eb24c5aa9ffe0f11
2cf5114c7df9a3b9939bb6df5b86b901ac9bd481b4b7dd3a064fe57c8ac2bea5
33923f3026ae78f3c6b6494578a8c475d6644bb6ece8a5257b545def10cd46bc
3b7f38b48680e31c4315d9961e874c12c5d457deac6a893120f693ee016cbde2
48344fd55558bbeb600062a175d052979f9ece87c7299788f8ecf16a46c87bf6
53549b73af9eca63d428a3478653366666c9a1dbb5c984d806dc35fcc80214b6
5d4042580c44453423ffec2272f1a438ff857e7cb2a72bb01288dc09fa4d003b
6be9e405f21ff0ec5b15910fd219682046c3d8329358234508cadd1726ebccbf
8b4e4bf18b9dd5f2918bfb0ddd854b6d03707a10d7adfae1169c6be612feb69b
91300728c3f9e7643b90d58a7c3a4d2cdaf8141cc1dd2484851e6bfd3315b4aa
9f5181dd7951b73c997801312cc3ac887e5b91d0c15af144c25f3c4256fb969e
b3d6d780fb4497070549652fdefc4d16a7ac000725563c9e2d743fd1e054f77a
b51d249e2d16231efeb0f4a544fef9904a8234f10c73468f9facfe5b3440b91e
b9407ed3ca1eb73f0dd96cd5e8e8ef324611e84931bf9033e156724722b7dab8
bbbdf0bdfb5a004d5a6f61ebd4199655021ebb144e2928f1859f4dc2dad45f2f
c284dcb06ef882b1b45e11e0a16baa223b4117eca94e243c8e725c4ce3f909b3
ce372101bf334f748a70419a332397e434e50f3d1eb8fb1f4a118fd298c50a18
cf4724b2f736ed1a0ae6bc28f1ead963d9cd2c1fd87b6ef32e7799fc1c5c8bda
d1736c1913826a6e8755c7954c213816b4158071bf1a994030cb4e659ad436e9
d55087a7fb6e41ea2a83ab87ea1c3892e8736b662d999292cb161f98e2fc5f8d
db9c439d55a66032d09df5742aed74ed08b49403d8e5ea681be3452b0144fa95
dfc0a0a1ab1256b1b1cb90edebd371c5e3fd2087059ec0b92ee91653cc665400
e051cd7977581d1d5c441dceebaa5e01bf4ca7bcaf615f55b75c70c13a75b62c
ffb55525bcd3811c92e884be6f48e295ce01d8e44e5ea3da096a1e365e40e654