blog.miguelgrinberg.com
Open in
urlscan Pro
138.68.45.120
Public Scan
Effective URL: https://blog.miguelgrinberg.com/
Submission: On May 22 via manual from CA
Summary
TLS certificate: Issued by Let's Encrypt Authority X3 on March 31st 2020. Valid for: 3 months.
This is the only time blog.miguelgrinberg.com was scanned on urlscan.io!
urlscan.io Verdict: No classification
Domain & IP information
IP Address | AS Autonomous System | ||
---|---|---|---|
1 17 | 138.68.45.120 138.68.45.120 | 14061 (DIGITALOC...) (DIGITALOCEAN-ASN) | |
5 | 2606:4700::68... 2606:4700::6810:84e5 | 13335 (CLOUDFLAR...) (CLOUDFLARENET) | |
8 | 2a00:1450:400... 2a00:1450:4001:81d::200e | 15169 (GOOGLE) (GOOGLE) | |
1 | 2a02:26f0:f1:... 2a02:26f0:f1:29e::25eb | 20940 (AKAMAI-ASN1) (AKAMAI-ASN1) | |
2 | 2a03:2880:f01... 2a03:2880:f01c:8012:face:b00c:0:3 | 32934 (FACEBOOK) (FACEBOOK) | |
2 | 151.101.112.157 151.101.112.157 | 54113 (FASTLY) (FASTLY) | |
2 | 2a00:1450:400... 2a00:1450:4001:81c::2008 | 15169 (GOOGLE) (GOOGLE) | |
36 | 7 |
ASN14061 (DIGITALOCEAN-ASN, US)
PTR: miguelgrinberg.com
miguelgrinberg.com. | |
blog.miguelgrinberg.com |
ASN15169 (GOOGLE, US)
apis.google.com | |
www.youtube.com |
ASN15169 (GOOGLE, US)
ssl.google-analytics.com |
Apex Domain Subdomains |
Transfer | |
---|---|---|
16 |
miguelgrinberg.com
blog.miguelgrinberg.com |
158 KB |
7 |
youtube.com
www.youtube.com |
|
5 |
cloudflare.com
cdnjs.cloudflare.com |
94 KB |
2 |
google-analytics.com
ssl.google-analytics.com |
17 KB |
2 |
twitter.com
platform.twitter.com |
29 KB |
2 |
facebook.net
connect.facebook.net |
59 KB |
1 |
linkedin.com
platform.linkedin.com |
55 KB |
1 |
google.com
apis.google.com |
19 KB |
1 |
com.
1 redirects
miguelgrinberg.com. |
200 B |
36 | 9 |
Domain | Requested by | |
---|---|---|
16 | blog.miguelgrinberg.com |
blog.miguelgrinberg.com
|
7 | www.youtube.com |
blog.miguelgrinberg.com
|
5 | cdnjs.cloudflare.com |
blog.miguelgrinberg.com
|
2 | ssl.google-analytics.com |
blog.miguelgrinberg.com
|
2 | platform.twitter.com |
blog.miguelgrinberg.com
platform.twitter.com |
2 | connect.facebook.net |
blog.miguelgrinberg.com
connect.facebook.net |
1 | platform.linkedin.com |
blog.miguelgrinberg.com
|
1 | apis.google.com |
blog.miguelgrinberg.com
|
1 | miguelgrinberg.com. | 1 redirects |
36 | 9 |
This site contains links to these domains. Also see Links.
Subject Issuer | Validity | Valid | |
---|---|---|---|
blog.miguelgrinberg.com Let's Encrypt Authority X3 |
2020-03-31 - 2020-06-29 |
3 months | crt.sh |
cloudflare.com CloudFlare Inc ECC CA-2 |
2020-01-07 - 2020-10-09 |
9 months | crt.sh |
*.google.com GTS CA 1O1 |
2020-05-05 - 2020-07-28 |
3 months | crt.sh |
platform.linkedin.com DigiCert SHA2 Secure Server CA |
2018-07-11 - 2020-07-15 |
2 years | crt.sh |
*.facebook.com DigiCert SHA2 High Assurance Server CA |
2020-05-14 - 2020-08-05 |
3 months | crt.sh |
platform.twitter.com DigiCert SHA2 High Assurance Server CA |
2019-08-28 - 2020-09-01 |
a year | crt.sh |
*.google-analytics.com GTS CA 1O1 |
2020-05-05 - 2020-07-28 |
3 months | crt.sh |
This page contains 9 frames:
Primary Page:
https://blog.miguelgrinberg.com/
Frame ID: 32B3D4914906915378B072FB493CC52E
Requests: 28 HTTP requests in this frame
Frame:
https://www.youtube.com/embed/0MTT8FH1JtI
Frame ID: 9CD4ECE743DD294FD632FA6183DED916
Requests: 1 HTTP requests in this frame
Frame:
https://www.youtube.com/embed/s0Bimr1079A
Frame ID: 188F31D9333CA8261006D824774C821F
Requests: 1 HTTP requests in this frame
Frame:
https://www.youtube.com/embed/IxCBjUapkWk
Frame ID: 0D2E46FA81C2CFDA254600B6FBD7D46A
Requests: 1 HTTP requests in this frame
Frame:
https://www.youtube.com/embed/qEfduVAQ8FQ
Frame ID: FE81F6753E2244967607BDBAFA186433
Requests: 1 HTTP requests in this frame
Frame:
https://www.youtube.com/embed/Q2eafQYgglM
Frame ID: 15E6210DD1F654D2D90C457921E513E2
Requests: 1 HTTP requests in this frame
Frame:
https://www.youtube.com/embed/P5nOGKVLIYo
Frame ID: 93191BC1009E95D8C72E792FF7BB1E60
Requests: 1 HTTP requests in this frame
Frame:
https://www.youtube.com/embed/CXAF8uOduzk
Frame ID: 7F378FD829D8724EFED9E0F26D06BD2D
Requests: 1 HTTP requests in this frame
Frame:
https://platform.twitter.com/widgets/widget_iframe.2a008290075125adde2d7b849b06a0bb.html?origin=https%3A%2F%2Fblog.miguelgrinberg.com
Frame ID: D15D376E046AAB1B35CB1AE58885A974
Requests: 1 HTTP requests in this frame
Screenshot
Page URL History Show full URLs
-
http://miguelgrinberg.com./
HTTP 301
https://blog.miguelgrinberg.com/ Page URL
Detected technologies
Bootstrap (Web Frameworks) ExpandDetected patterns
- html /<link[^>]+?href="[^"]*bootstrap(?:\.min)?\.css/i
Nginx (Web Servers) Expand
Detected patterns
- headers server /nginx(?:\/([\d.]+))?/i
Page Statistics
16 Outgoing links
These are links going to different origins than the main page.
Title: My Courses
Search URL Search Domain Scan URL
Search URL Search Domain Scan URL
Search URL Search Domain Scan URL
Search URL Search Domain Scan URL
Search URL Search Domain Scan URL
Search URL Search Domain Scan URL
Search URL Search Domain Scan URL
Title: callback hell
Search URL Search Domain Scan URL
Title: Promises
Search URL Search Domain Scan URL
Title: my .tmux.conf file
Search URL Search Domain Scan URL
Title: my .vimrc file
Search URL Search Domain Scan URL
Title: http://ctags.sourceforge.net/
Search URL Search Domain Scan URL
Title: React
Search URL Search Domain Scan URL
Title: Flask
Search URL Search Domain Scan URL
Title: Courses
Search URL Search Domain Scan URL
Title: Github
Search URL Search Domain Scan URL
Page URL History
This captures the URL locations of the websites, including HTTP redirects and client-side redirects via JavaScript or Meta fields.
-
http://miguelgrinberg.com./
HTTP 301
https://blog.miguelgrinberg.com/ Page URL
Redirected requests
There were HTTP redirect chains for the following requests:
36 HTTP transactions
Method Protocol |
Resource Path |
Size x-fer |
Type MIME-Type |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
GET H/1.1 |
Primary Request
/
blog.miguelgrinberg.com/ Redirect Chain
|
31 KB 7 KB |
Document
text/html |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
General
Request headers
Response headers
Redirect headers
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
GET H2 |
bootstrap.min.css
cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/css/ |
118 KB 18 KB |
Stylesheet
text/css |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
General
Request headers
Response headers
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
GET H/1.1 |
prettify.css
blog.miguelgrinberg.com/static/ |
709 B 713 B |
Stylesheet
text/css |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
General
Request headers
Response headers
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
GET H/1.1 |
colorbox.css
blog.miguelgrinberg.com/static/colorbox/ |
4 KB 2 KB |
Stylesheet
text/css |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
General
Request headers
Response headers
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
GET H/1.1 |
style_20200412b.css
blog.miguelgrinberg.com/static/ |
7 KB 2 KB |
Stylesheet
text/css |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
General
Request headers
Response headers
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
GET H2 |
platform.js
apis.google.com/js/ |
48 KB 19 KB |
Script
application/javascript |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
General
Request headers
Response headers
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
GET H/1.1 |
in.js
platform.linkedin.com/ |
181 KB 55 KB |
Script
text/javascript |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
General
Request headers
Response headers
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
GET H/1.1 |
rss.png
blog.miguelgrinberg.com/static/ |
1 KB 2 KB |
Image
image/png |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
General
Request headers
Response headers
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
GET H/1.1 |
facebook.png
blog.miguelgrinberg.com/static/ |
1 KB 2 KB |
Image
image/png |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
General
Request headers
Response headers
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
GET H/1.1 |
googleplus.png
blog.miguelgrinberg.com/static/ |
2 KB 2 KB |
Image
image/png |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
General
Request headers
Response headers
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
GET H/1.1 |
linkedin.png
blog.miguelgrinberg.com/static/ |
1 KB 2 KB |
Image
image/png |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
General
Request headers
Response headers
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
GET H/1.1 |
github.png
blog.miguelgrinberg.com/static/ |
1 KB 2 KB |
Image
image/png |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
General
Request headers
Response headers
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
GET H/1.1 |
twitter.png
blog.miguelgrinberg.com/static/ |
1 KB 1 KB |
Image
image/png |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
General
Request headers
Response headers
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
GET H/1.1 |
patreon.png
blog.miguelgrinberg.com/static/ |
3 KB 3 KB |
Image
image/png |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
General
Request headers
Response headers
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
GET H/1.1 |
micropython-book-small.png
blog.miguelgrinberg.com/static/ |
102 KB 102 KB |
Image
image/png |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
General
Request headers
Response headers
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
GET H/1.1 |
miguel.jpg
blog.miguelgrinberg.com/static/ |
19 KB 20 KB |
Image
image/jpeg |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
General
Request headers
Response headers
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
GET H/1.1 |
rss-small.png
blog.miguelgrinberg.com/static/ |
3 KB 4 KB |
Image
image/png |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
General
Request headers
Response headers
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
GET H2 |
jquery.min.js
cdnjs.cloudflare.com/ajax/libs/jquery/1.12.4/ |
95 KB 32 KB |
Script
application/javascript |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
General
Request headers
Response headers
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
GET H2 |
bootstrap.min.js
cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/js/ |
36 KB 9 KB |
Script
application/javascript |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
General
Request headers
Response headers
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
GET H2 |
jquery.colorbox-min.js
cdnjs.cloudflare.com/ajax/libs/jquery.colorbox/1.4.33/ |
11 KB 4 KB |
Script
application/javascript |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
General
Request headers
Response headers
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
GET H/1.1 |
prettify.js
blog.miguelgrinberg.com/static/ |
13 KB 7 KB |
Script
application/javascript |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
General
Request headers
Response headers
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
GET H2 |
moment-with-langs.min.js
cdnjs.cloudflare.com/ajax/libs/moment.js/2.5.1/ |
119 KB 30 KB |
Script
application/javascript |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
General
Request headers
Response headers
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
GET H2 |
all.js
connect.facebook.net/en_US/ |
3 KB 2 KB |
Script
application/x-javascript |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
General
Request headers
Response headers
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
GET H2 |
widgets.js
platform.twitter.com/ |
96 KB 29 KB |
Script
application/javascript |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
General
Request headers
Response headers
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
GET H2 |
0MTT8FH1JtI
www.youtube.com/embed/ Frame 9CD4 |
0 0 |
Document
text/html |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
General
Request headers
Response headers
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
GET H2 |
s0Bimr1079A
www.youtube.com/embed/ Frame 188F |
0 0 |
Document
text/html |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
General
Request headers
Response headers
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
GET H2 |
IxCBjUapkWk
www.youtube.com/embed/ Frame 0D2E |
0 0 |
Document
text/html |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
General
Request headers
Response headers
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
GET H2 |
qEfduVAQ8FQ
www.youtube.com/embed/ Frame FE81 |
0 0 |
Document
text/html |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
General
Request headers
Response headers
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
GET H2 |
Q2eafQYgglM
www.youtube.com/embed/ Frame 15E6 |
0 0 |
Document
text/html |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
General
Request headers
Response headers
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
GET H2 |
P5nOGKVLIYo
www.youtube.com/embed/ Frame 9319 |
0 0 |
Document
text/html |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
General
Request headers
Response headers
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
GET H2 |
CXAF8uOduzk
www.youtube.com/embed/ Frame 7F37 |
0 0 |
Document
text/html |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
General
Request headers
Response headers
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
GET H2 |
ga.js
ssl.google-analytics.com/ |
45 KB 17 KB |
Script
text/javascript |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
General
Request headers
Response headers
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
GET H/1.1 |
overlay.png
blog.miguelgrinberg.com/static/colorbox/images/ |
115 B 462 B |
Image
image/png |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
General
Request headers
Response headers
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
GET H2 |
all.js
connect.facebook.net/en_US/ |
190 KB 57 KB |
Script
application/x-javascript |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
General
Request headers
Response headers
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
GET H2 |
widget_iframe.2a008290075125adde2d7b849b06a0bb.html
platform.twitter.com/widgets/ Frame D15D |
0 0 |
Document
text/html |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
General
Request headers
Response headers
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
GET H2 |
__utm.gif
ssl.google-analytics.com/r/ |
35 B 98 B |
Image
image/gif |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
General
Request headers
Response headers
|
Verdicts & Comments Add Verdict or Comment
25 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| onformdata object| onpointerrawupdate object| gapi object| ___jsl function| $ function| jQuery object| jQuery11240637648004147916 object| q boolean| PR_SHOULD_USE_CONTINUATION function| prettyPrintOne function| prettyPrint object| PR function| moment function| flask_moment_render function| flask_moment_render_all object| _gaq object| __core-js_shared__ object| Sslac object| IN object| FB object| __twttrll object| twttr object| __twttr object| _gat object| gaGlobal8 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 |
---|---|---|
.youtube.com/ | Name: VISITOR_INFO1_LIVE Value: cAI99JXjB_0 |
|
.youtube.com/ | Name: GPS Value: 1 |
|
.blog.miguelgrinberg.com/ | Name: __utmc Value: 138535648 |
|
.blog.miguelgrinberg.com/ | Name: __utmb Value: 138535648.1.10.1590184197 |
|
.blog.miguelgrinberg.com/ | Name: __utmt Value: 1 |
|
.youtube.com/ | Name: YSC Value: lNdrokoditA |
|
.blog.miguelgrinberg.com/ | Name: __utmz Value: 138535648.1590184197.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none) |
|
.blog.miguelgrinberg.com/ | Name: __utma Value: 138535648.98231666.1590184197.1590184197.1590184197.1 |
Security Headers
This page lists any security headers set by the main page. If you want to understand what these mean and how to use them, head on over to this page
Header | Value |
---|---|
Strict-Transport-Security | max-age=15768000 |
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.
apis.google.com
blog.miguelgrinberg.com
cdnjs.cloudflare.com
connect.facebook.net
miguelgrinberg.com.
platform.linkedin.com
platform.twitter.com
ssl.google-analytics.com
www.youtube.com
138.68.45.120
151.101.112.157
2606:4700::6810:84e5
2a00:1450:4001:81c::2008
2a00:1450:4001:81d::200e
2a02:26f0:f1:29e::25eb
2a03:2880:f01c:8012:face:b00c:0:3
04267038608d360c78254e55ab98e75045067567996e7dc7f1501784718dabbe
08d9e34d1b3c22dca41c1abf0ee162241e3f6dc9b3b031896f3f1022a71a159e
0f13c46b4686f1965c0c622b9dfbb3437b9b8f0d3878b7c6f72cc0e3e1801274
1259ea99bd76596239bfd3102c679eb0a5052578dc526b0452f4d42f8bcdd45f
1b6981aa96029043ff58150cb6f65a8db1dcd29432fb3ed92ae069114a614635
3a2d4f16fb1b9bfe1a581e974731a328a5ba6aa198190618e8a579c9cb4a45e5
43c5d9682494f0d1b32d2f6d8f393a1e2d3844157fc7b8c5e8b4589d32a77382
4ecbbca1f8a0cf88f712259968d232d13bd85b222c9403fd4fad2918e4303413
53964478a7c634e8dad34ecc303dd8048d00dce4993906de1bacf67f663486ef
6141ce6da8e2387def2b47511f27d332c781392b364a512775c3fc1075bd4298
668b046d12db350ccba6728890476b3efee53b2f42dbb84743e5e9f1ae0cc404
752df758c0fc34e6a6c0459a43d88fc37d622528b45468b6be5db2e95a0b86cd
8337212354871836e6763a41e615916c89bac5b3f1f0adf60ba43c7c806e1015
9303e868201ea138878fa9ce6ea3a578160b7108c6ee52bae5d8cb6bb88d0d24
9931bc5c4f213ed8e3f0316fc51383afbb2e8baa20bd26b75ec52dc6d92bbfeb
a02911e3b1b25d7d389465f8da41f5c9bea90e555881fa646411973931f41f6b
a5c0708100f09f50298c1fa310dd7b502312fb8d7e046e7273811d7921ca786e
aff28a41ba8bc30ee8aae230da9336106111507bfd23f3a6381070834d426598
cb88bf7a67ba917b5ee7b4a1cc593d8bfe94cf2670cb24df338308ec8a573ec3
d47116a68de4348554947b5aed7e936c2ff4785e70cecbeb4304505f21f72072
d63d40453a087dbd03f9a4d7e7c3b63297c2a2fe53718f0299460f79c4b5a5d7
e2e576e3bc607cd179ff511947010f645d3441a35313aec0dbd06c4437f83b77
eeaab6bd89e76053b00e5ae6f3e60278c6ead31fe92b36575df839bfdef10d43
f0769d55303995110a66092b99bb1ae1ddd3595b33acdd8ec6dda98d9c97ffae
f75e846cc83bd11432f4b1e21a45f31bc85283d11d372f7b19accd1bf6a2635c
f769d4b302dd731630acd2441b02bb5f19f8117ead58d19d13a5f624d55a3d29
f95023837d0f7784f0ed7a4fd682d355c1db9c5204f416fe714509a9fd3d20c1
fb70e343bef9b9f9d081df96d169f8f7933f09869db187eda93a4925946758e5