rust-web-server 18.15.0

Single-binary web server and reverse proxy: automatic HTTPS (Let's Encrypt), HTTP/1.1, HTTP/2 and HTTP/3, load balancing, auth and rate limiting, configured in one TOML file. Also a Rust library: routing, middleware, MCP server, ORM, background jobs. No hyper, no Tower; HTTP/2 and HTTP/3 framing via h2 and quinn.
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
// Generated by ci/gen_bot_lists.py from src/traffic/bots.json — don't edit.
// https://github.com/ai-robots-txt/ai.robots.txt @ d8e8b77ca6f04ee132fd5dec0ce842b5d45e85da (MIT); https://github.com/monperrus/crawler-user-agents @ db662d2787f984ed4fe3043744a12eb067b89218 (MIT);
// crawler IP ranges as published, fetched 2026-10-31. Licenses: src/traffic/NOTICE.md.

/// `(lowercase User-Agent token, name, operator, kind)` of AI agents.
pub(super) const AI_AGENTS: &[(&str, &str, &str, &str)] = &[
    ("agi agent", "AGI Agent", "AGI, Inc", "ai-agent"),
    ("ai2bot", "AI2Bot", "Ai2", "ai-agent"),
    ("ai2bot-deepresearcheval", "AI2Bot-DeepResearchEval", "Ai2, a non-profit AI research institute", "ai-assistant"),
    ("aiwebindex", "AIWebIndex", "Lyrenth", "ai-search"),
    ("addsearchbot", "AddSearchBot", "", "ai-search"),
    ("agentdatabot", "AgentDataBot", "", "ai-training"),
    ("agenttimes", "AgentTimes", "The Agent Times", "ai-training"),
    ("ai2bot-dolma", "Ai2Bot-Dolma", "Ai2", "ai-agent"),
    ("amazonbuyforme", "AmazonBuyForMe", "Amazon", "ai-agent"),
    ("amazonbot", "Amazonbot", "Amazon", "ai-agent"),
    ("amzn-searchbot", "Amzn-SearchBot", "", "ai-search"),
    ("amzn-user", "Amzn-User", "Amazon, used for fetching web content to answer user queries through Alexa and other Amazon AI services", "ai-assistant"),
    ("andibot", "Andibot", "Andi", "ai-assistant"),
    ("anomura", "Anomura", "Direqt", "ai-search"),
    ("apifybot", "ApifyBot", "", "ai-training"),
    ("apifywebsitecontentcrawler", "ApifyWebsiteContentCrawler", "", "ai-training"),
    ("applebot", "Applebot", "", "ai-search"),
    ("applebot-extended", "Applebot-Extended", "Apple", "ai-agent"),
    ("aranet-searchbot", "Aranet-SearchBot", "", "ai-agent"),
    ("awario", "Awario", "Awario", "ai-training"),
    ("azureai-searchbot", "AzureAI-SearchBot", "", "ai-search"),
    ("bixelbot", "BixelBot", "", "ai-training"),
    ("bravebot", "Bravebot", "https://safe.search.brave.com/help/brave-search-crawler", "ai-training"),
    ("brightbot", "Brightbot", "", "ai-training"),
    ("brightbot 1.0", "Brightbot 1.0", "https://brightdata.com/brightbot", "ai-training"),
    ("buddybot", "BuddyBot", "BuddyBotLearning", "ai-agent"),
    ("bytespider", "Bytespider", "ByteDance", "ai-training"),
    ("ccbot", "CCBot", "Common Crawl Foundation", "ai-training"),
    ("cartai agentic commerce", "CartAI Agentic Commerce", "CartAI that accesses online stores to support user-directed shopping and checkout workflows", "ai-agent"),
    ("channel3bot", "Channel3Bot", "", "ai-search"),
    ("chatglm-spider", "ChatGLM-Spider", "", "ai-training"),
    ("chatgpt agent", "ChatGPT Agent", "OpenAI", "ai-agent"),
    ("chatgpt-user", "ChatGPT-User", "OpenAI", "ai-assistant"),
    ("claude-code", "Claude-Code", "", "ai-agent"),
    ("claude-searchbot", "Claude-SearchBot", "Anthropic", "ai-search"),
    ("claude-user", "Claude-User", "Anthropic", "ai-assistant"),
    ("claude-web", "Claude-Web", "Anthropic", "ai-agent"),
    ("claudebot", "ClaudeBot", "Anthropic", "ai-training"),
    ("cledarabot", "CledaraBot", "Cledara that visits SaaS providers to complete customer-approved administrative tasks, including invoice collection and user managem…", "ai-agent"),
    ("cloudvertexbot", "CloudVertexBot", "", "ai-training"),
    ("cloudflare-autorag", "Cloudflare-AutoRAG", "Cloudflare", "ai-search"),
    ("cloudflarebrowserrenderingcrawler", "CloudflareBrowserRenderingCrawler", "Cloudflare that returns rendered website content for research, monitoring, and AI data workflows", "ai-training"),
    ("code", "Code", "", "ai-agent"),
    ("codex", "Codex", "", "ai-agent"),
    ("cotoyogi", "Cotoyogi", "ROIS", "ai-training"),
    ("cragcrawler", "CragCrawler", "CragSoftware, a Brazil-based software company specializing in data engineering and AI web scraping services", "ai-training"),
    ("crawl4ai", "Crawl4AI", "", "ai-agent"),
    ("crawlspace", "Crawlspace", "Crawlspace", "ai-training"),
    ("cursor", "Cursor", "", "ai-agent"),
    ("datenbank crawler", "Datenbank Crawler", "Datenbank", "ai-training"),
    ("deepseekbot", "DeepSeekBot", "DeepSeek", "ai-training"),
    ("devin", "Devin", "Devin AI", "ai-agent"),
    ("diffbot", "Diffbot", "Diffbot", "ai-training"),
    ("diffbot-user", "Diffbot-User", "Diffbot", "ai-assistant"),
    ("dot", "Dot", "", "ai-agent"),
    ("doubaobot", "DoubaoBot", "ByteDance", "ai-assistant"),
    ("duckassistbot", "DuckAssistBot", "", "ai-assistant"),
    ("erniebot", "ERNIEBot", "Baidu", "ai-agent"),
    ("echobot bot", "Echobot Bot", "Echobox", "ai-training"),
    ("echoboxbot", "EchoboxBot", "Echobox", "ai-training"),
    ("elevenlabsbot", "ElevenlabsBot", "ElevenLabs", "ai-assistant"),
    ("elevenlabscrawler", "ElevenlabsCrawler", "ElevenLabs", "ai-training"),
    ("exabot", "ExaBot", "", "ai-training"),
    ("exasearchbot", "ExaSearchBot", "Exa", "ai-search"),
    ("exauser", "ExaUser", "", "ai-assistant"),
    ("facebookbot", "FacebookBot", "Meta/Facebook", "ai-training"),
    ("factset_spyderbot", "Factset_spyderbot", "Factset", "ai-training"),
    ("firecrawlagent", "FirecrawlAgent", "Firecrawl that extracts web content and converts it into structured data for use in LLM and AI applications", "ai-training"),
    ("friendlycrawler", "FriendlyCrawler", "Unknown", "ai-training"),
    ("gptbot", "GPTBot", "OpenAI", "ai-training"),
    ("geisthaus-pagefetcher", "GeistHaus-PageFetcher", "GeistHaus, a company developing AI systems for therapy and psychological assessment", "ai-assistant"),
    ("gemini-deep-research", "Gemini-Deep-Research", "", "ai-assistant"),
    ("google-agent", "Google-Agent", "", "ai-agent"),
    ("google-cloudvertexbot", "Google-CloudVertexBot", "Google", "ai-agent"),
    ("google-extended", "Google-Extended", "Google", "ai-training"),
    ("google-firebase", "Google-Firebase", "Google", "ai-agent"),
    ("google-gemini-cli", "Google-Gemini-CLI", "", "ai-agent"),
    ("google-notebooklm", "Google-NotebookLM", "", "ai-assistant"),
    ("googleagent-mariner", "GoogleAgent-Mariner", "Google", "ai-agent"),
    ("googleagent-urlcontext", "GoogleAgent-URLContext", "Google that retrieves web content on behalf of Gemini API users", "ai-assistant"),
    ("googleother", "GoogleOther", "Google", "ai-training"),
    ("googleother-image", "GoogleOther-Image", "Google", "ai-training"),
    ("googleother-video", "GoogleOther-Video", "Google", "ai-training"),
    ("grok bot", "Grok Bot", "", "ai-agent"),
    ("grokappandroid", "GrokAppAndroid", "xAI", "ai-search"),
    ("grokbot", "GrokBot", "xAI", "ai-search"),
    ("harkbot", "HarkBot", "", "ai-agent"),
    ("henkbot", "HenkBot", "", "ai-training"),
    ("hunyuan", "Hunyuan", "Tencent", "ai-training"),
    ("icc-crawler", "ICC-Crawler", "NICT", "ai-training"),
    ("isscyberriskcrawler", "ISSCyberRiskCrawler", "ISS-Corporate", "ai-training"),
    ("imagesiftbot", "ImagesiftBot", "ImageSift", "ai-training"),
    ("instinct", "Instinct", "", "ai-agent"),
    ("kangaroo bot", "Kangaroo Bot", "", "ai-training"),
    ("keenablebot", "KeenableBot", "Keenable", "ai-search"),
    ("kimi-agent", "Kimi-Agent", "Moonshot AI that browses websites while carrying out user-directed research and other tasks", "ai-agent"),
    ("kimi-searchbot", "Kimi-SearchBot", "Moonshot AI", "ai-search"),
    ("kimi-user", "Kimi-User", "Moonshot AI that fetches web content on behalf of users interacting with Kimi", "ai-assistant"),
    ("kimibot", "KimiBot", "Moonshot AI", "ai-training"),
    ("klaviyoaibot", "KlaviyoAIBot", "Klaviyo", "ai-assistant"),
    ("kunatocrawler", "KunatoCrawler", "", "ai-agent"),
    ("laiondownloader", "LAIONDownloader", "Large-scale Artificial Intelligence Open Network", "ai-search"),
    ("lcc", "LCC", "", "ai-training"),
    ("lightpanda", "Lightpanda", "Anyone who downloads the Lightpanda client. Possibly being used by a Grok-adjacent organization's botnet.", "ai-training"),
    ("linerbot", "LinerBot", "", "ai-assistant"),
    ("linguee bot", "Linguee Bot", "Linguee", "ai-agent"),
    ("linkupbot", "LinkupBot", "", "ai-search"),
    ("manus-user", "Manus-User", "Butterfly Effect, a company based in China", "ai-agent"),
    ("meta-externalagent", "Meta-ExternalAgent", "", "ai-training"),
    ("meta-externalfetcher", "Meta-ExternalFetcher", "", "ai-assistant"),
    ("mistralai-index", "MistralAI-Index", "Mistral AI", "ai-search"),
    ("mistralai-training", "MistralAI-Training", "Mistral AI", "ai-training"),
    ("mistralai-user", "MistralAI-User", "Mistral", "ai-assistant"),
    ("mistralai-user/1.0", "MistralAI-User/1.0", "Mistral AI", "ai-agent"),
    ("moonshotbot", "MoonshotBot", "Kimi", "ai-training"),
    ("mozilla-tabstack", "Mozilla-Tabstack", "Mozilla that performs programmatic, AI-driven interactions with web content through Tabstack", "ai-training"),
    ("muse", "Muse", "", "ai-agent"),
    ("mycentralaiscraperbot", "MyCentralAIScraperBot", "", "ai-training"),
    ("nagetbot", "NagetBot", "Naget Inc (founded by Chris Samarinas, headquarter in Amherst, Massachusetts)", "ai-training"),
    ("notebooklm", "NotebookLM", "", "ai-assistant"),
    ("novaact", "NovaAct", "", "ai-agent"),
    ("oai-adsbot", "OAI-AdsBot", "OpenAI", "ai-agent"),
    ("oai-searchbot", "OAI-SearchBot", "OpenAI", "ai-search"),
    ("openai", "OpenAI", "OpenAI", "ai-agent"),
    ("operator", "Operator", "", "ai-agent"),
    ("pangubot", "PanguBot", "the Chinese company Huawei", "ai-training"),
    ("panscient", "Panscient", "Panscient", "ai-training"),
    ("payhawk invoice fetching agent", "Payhawk Invoice Fetching Agent", "Payhawk that retrieves invoices from supplier websites for users and attaches them to expense records", "ai-agent"),
    ("perplexity-user", "Perplexity-User", "Perplexity", "ai-assistant"),
    ("perplexitybot", "PerplexityBot", "Perplexity", "ai-search"),
    ("petalbot", "PetalBot", "Huawei", "ai-assistant"),
    ("phindbot", "PhindBot", "phind", "ai-assistant"),
    ("poggio-citations", "Poggio-Citations", "Poggio, a company that provides AI sales enablement tools for creating tailored narratives, business cases, and account plan…", "ai-assistant"),
    ("poseidon research crawler", "Poseidon Research Crawler", "Poseidon Research", "ai-search"),
    ("qualifiedbot", "QualifiedBot", "Qualified", "ai-assistant"),
    ("querit-searchbot", "Querit-SearchBot", "Querit that indexes web content for their search API service, which is designed to provide real-time search results for larg…", "ai-training"),
    ("queritbot", "QueritBot", "Querit, a company providing a search API for large language model integration", "ai-training"),
    ("quillbot", "QuillBot", "Quillbot", "ai-agent"),
    ("qwenbot", "QwenBot", "Alibaba", "ai-agent"),
    ("reflectionbot", "Reflectionbot", "Reflection", "ai-agent"),
    ("sbintuitionsbot", "SBIntuitionsBot", "SB Intuitions", "ai-training"),
    ("scrapy", "Scrapy", "Zyte", "ai-training"),
    ("scrybot", "ScryBot", "Scry", "ai-training"),
    ("semrushbot-ocob", "SemrushBot-OCOB", "Semrush", "ai-agent"),
    ("semrushbot-swa", "SemrushBot-SWA", "Semrush", "ai-assistant"),
    ("shap-user", "Shap-User", "", "ai-assistant"),
    ("shapbot", "ShapBot", "Parallel", "ai-training"),
    ("sidetrade indexer bot", "Sidetrade indexer bot", "Sidetrade", "ai-training"),
    ("spider", "Spider", "", "ai-training"),
    ("tavilybot", "TavilyBot", "", "ai-training"),
    ("terra cotta", "Terra Cotta", "", "ai-training"),
    ("terracotta", "TerraCotta", "Ceramic AI", "ai-training"),
    ("thinkbot", "Thinkbot", "Thinkbot", "ai-agent"),
    ("tiktokspider", "TikTokSpider", "ByteDance", "ai-training"),
    ("timpibot", "Timpibot", "Timpi", "ai-training"),
    ("tongyibot", "TongyiBot", "Alibaba that fetches web content for the Tongyi Qianwen assistant and related Qwen-generated answers", "ai-assistant"),
    ("trae", "Trae", "", "ai-agent"),
    ("twinagent", "TwinAgent", "Twin, a platform that creates automated workers to perform tasks by integrating with APIs and controlling web applications through browser automa…", "ai-agent"),
    ("useai", "UseAI", "", "ai-assistant"),
    ("velenpublicwebcrawler", "VelenPublicWebCrawler", "Velen Crawler", "ai-training"),
    ("wardbot", "WARDBot", "WEBSPARK", "ai-training"),
    ("wrtnbot", "WRTNBot", "", "ai-agent"),
    ("webzio-extended", "Webzio-Extended", "", "ai-training"),
    ("yak", "YaK", "Meltwater", "ai-search"),
    ("yandexadditional", "YandexAdditional", "Yandex", "ai-training"),
    ("yandexadditionalbot", "YandexAdditionalBot", "Yandex", "ai-training"),
    ("yibot", "YiBot", "01.ai, an AI company founded by Kai-Fu Lee.", "ai-training"),
    ("yiyanbot", "YiyanBot", "Baidu that fetches web content for the yiyan", "ai-assistant"),
    ("youbot", "YouBot", "You", "ai-search"),
    ("zanistabot", "ZanistaBot", "", "ai-search"),
    ("aihitbot", "aiHitBot", "aiHit", "ai-agent"),
    ("amazon-qbusiness", "amazon-QBusiness", "", "ai-assistant"),
    ("amazon-kendra", "amazon-kendra", "Amazon", "ai-search"),
    ("anthropic-ai", "anthropic-ai", "Anthropic", "ai-training"),
    ("atlassian-bot", "atlassian-bot", "Atlassian", "ai-assistant"),
    ("bedrockbot", "bedrockbot", "Amazon", "ai-training"),
    ("bigsur.ai", "bigsur.ai", "Big Sur AI that fetches website content to enable AI-powered web agents, sales assistants, and content marketing solutions for busi…", "ai-assistant"),
    ("cohere-ai", "cohere-ai", "Cohere", "ai-training"),
    ("cohere-training-data-crawler", "cohere-training-data-crawler", "Cohere to download training data for its LLMs (Large Language Models) that power its enterprise AI products", "ai-training"),
    ("iaskbot", "iAskBot", "", "ai-agent"),
    ("iaskspider", "iaskspider", "", "ai-agent"),
    ("iaskspider/2.0", "iaskspider/2.0", "iAsk", "ai-agent"),
    ("imagespider", "imageSpider", "", "ai-training"),
    ("img2dataset", "img2dataset", "img2dataset", "ai-training"),
    ("kagi-fetcher", "kagi-fetcher", "Kagi that fetches web content to answer user queries through Kagi AI, their suite of AI-powered tools including Assistant, Res…", "ai-assistant"),
    ("laion-huggingface-processor", "laion-huggingface-processor", "", "ai-training"),
    ("meta-externalagent", "meta-externalagent", "Meta", "ai-agent"),
    ("meta-externalfetcher", "meta-externalfetcher", "", "ai-assistant"),
    ("meta-webindexer", "meta-webindexer", "Meta", "ai-assistant"),
    ("nbot", "nbot", "NBot", "ai-search"),
    ("netestate imprint crawler", "netEstate Imprint Crawler", "netEstate", "ai-training"),
    ("newsai", "newsai", "", "ai-training"),
    ("omgili", "omgili", "Webz.io", "ai-training"),
    ("omgilibot", "omgilibot", "Webz.io", "ai-training"),
    ("opencode", "opencode", "", "ai-agent"),
    ("panscient.com", "panscient.com", "Panscient", "ai-training"),
    ("qodercli", "qodercli", "Qoder that helps developers build, debug, and modify software from the terminal", "ai-agent"),
    ("quillbot.com", "quillbot.com", "Quillbot", "ai-agent"),
    ("webzio-extended", "webzio-extended", "", "ai-training"),
    ("wpbot", "wpbot", "QuantumCloud", "ai-agent"),
    ("xai-grok", "xAI-Grok", "xAI", "ai-training"),
];

/// `(anchored at the start, lowercase literal, name, kind)` of other bots.
pub(super) const CRAWLERS: &[(bool, &str, &str, &str)] = &[
    (false, "semrushbot", "SemrushBot", "seo"),
    (false, "ahrefsbot", "AhrefsBot", "seo"),
    (false, "dataforseobot", "DataForSeoBot", "seo"),
    (false, "facebookexternalhit", "facebookexternalhit", "social-preview"),
    (false, "googlebot/", "googlebot", "search-engine"),
    (false, "googlebot-mobile", "googlebot-mobile", "search-engine"),
    (false, "googlebot-image", "googlebot-image", "search-engine"),
    (false, "googlebot-news", "googlebot-news", "search-engine"),
    (false, "googlebot-video", "googlebot-video", "search-engine"),
    (false, "adsbot-google-mobile", "adsbot-google-mobile", "crawler"),
    (false, "feedfetcher-google", "feedfetcher-google", "feed"),
    (false, "mediapartners-google", "mediapartners-google", "crawler"),
    (false, "apis-google", "apis-google", "search-engine"),
    (false, "google-inspectiontool", "google-inspectiontool", "search-engine"),
    (false, "storebot-google", "storebot-google", "search-engine"),
    (false, "bingbot", "bingbot", "search-engine"),
    (false, "slurp", "slurp", "search-engine"),
    (false, "linkedinbot", "linkedinbot", "social-preview"),
    (false, "python-urllib", "python-urllib", "crawler"),
    (false, "python-requests", "python-requests", "crawler"),
    (false, "aiohttp", "aiohttp", "crawler"),
    (false, "httpx", "httpx", "crawler"),
    (false, "libwww-perl", "libwww-perl", "crawler"),
    (false, "httpunit", "httpunit", "crawler"),
    (false, "nutch", "nutch", "search-engine"),
    (false, "go-http-client", "go-http-client", "crawler"),
    (false, "phpcrawl", "phpcrawl", "crawler"),
    (false, "msnbot", "msnbot", "search-engine"),
    (false, "jyxobot", "jyxobot", "search-engine"),
    (false, "fast-webcrawler", "fast-webcrawler", "search-engine"),
    (false, "fast enterprise crawler", "fast", "search-engine"),
    (false, "biglotron", "biglotron", "search-engine"),
    (false, "teoma", "teoma", "search-engine"),
    (false, "convera", "convera", "search-engine"),
    (true, "seekbot", "seekbot", "search-engine"),
    (false, "gigabot", "gigabot", "search-engine"),
    (false, "gigablast", "gigablast", "search-engine"),
    (false, "ia_archiver", "ia_archiver", "archiver"),
    (false, "gingercrawler", "gingercrawler", "seo"),
    (false, "webmon ", "webmon", "monitoring"),
    (false, "httrack", "httrack", "crawler"),
    (false, "grub.org", "grub.org", "search-engine"),
    (false, "usinenouvellecrawler", "usinenouvellecrawler", "search-engine"),
    (false, "antibot", "antibot", "crawler"),
    (false, "netresearchserver", "netresearchserver", "seo"),
    (false, "speedy", "speedy", "search-engine"),
    (false, "fluffy", "fluffy", "search-engine"),
    (false, "findlink", "findlink", "seo"),
    (false, "msrbot", "msrbot", "search-engine"),
    (false, "yacybot", "yacybot", "search-engine"),
    (false, "aisearchbot", "aisearchbot", "search-engine"),
    (false, "ips-agent", "ips-agent", "seo"),
    (false, "tagoobot", "tagoobot", "search-engine"),
    (false, "mj12bot", "mj12bot", "seo"),
    (false, "woriobot", "woriobot", "search-engine"),
    (false, "yanga", "yanga", "search-engine"),
    (false, "buzzbot", "buzzbot", "seo"),
    (false, "mlbot", "mlbot", "seo"),
    (false, "yandex.com/bots", "yandex.com", "search-engine"),
    (false, "purebot", "purebot", "search-engine"),
    (false, "cyberpatrol", "cyberpatrol", "crawler"),
    (false, "voilabot", "voilabot", "search-engine"),
    (false, "baiduspider", "baiduspider", "search-engine"),
    (false, "citeseerxbot", "citeseerxbot", "crawler"),
    (false, "spbot", "spbot", "seo"),
    (false, "twengabot", "twengabot", "seo"),
    (false, "postrank", "postrank", "seo"),
    (false, "turnitin", "turnitin", "crawler"),
    (false, "scribdbot", "scribdbot", "search-engine"),
    (false, "page2rss", "page2rss", "feed"),
    (false, "sitebot", "sitebot", "seo"),
    (false, "linkdex", "linkdex", "seo"),
    (false, "adidxbot", "adidxbot", "search-engine"),
    (false, "ezooms", "ezooms", "seo"),
    (false, "dotbot", "dotbot", "seo"),
    (false, "mail.ru_bot", "mail.ru_bot", "search-engine"),
    (false, "discobot", "discobot", "search-engine"),
    (false, "heritrix", "heritrix", "archiver"),
    (false, "findthatfile", "findthatfile", "search-engine"),
    (false, "europarchive.org", "europarchive.org", "archiver"),
    (false, "nerdbynature.bot", "nerdbynature.bot", "seo"),
    (false, "ahrefssiteaudit", "ahrefssiteaudit", "seo"),
    (false, "fuelbot", "fuelbot", "seo"),
    (true, "crunchbot", "crunchbot", "seo"),
    (false, "indeedbot", "indeedbot", "search-engine"),
    (false, "mappydata", "mappydata", "seo"),
    (false, "woobot", "woobot", "seo"),
    (false, "zoominfobot", "zoominfobot", "seo"),
    (false, "privacyawarebot", "privacyawarebot", "seo"),
    (false, "multiviewbot", "multiviewbot", "seo"),
    (false, "swimgbot", "swimgbot", "seo"),
    (false, "grobbot", "grobbot", "seo"),
    (false, "eright", "eright", "seo"),
    (false, "apercite", "apercite", "seo"),
    (false, "semanticbot", "semanticbot", "seo"),
    (false, "aboundex", "aboundex", "search-engine"),
    (false, "domaincrawler", "domaincrawler", "seo"),
    (false, "wbsearchbot", "wbsearchbot", "search-engine"),
    (false, "summify", "summify", "seo"),
    (false, "edisterbot", "edisterbot", "search-engine"),
    (false, "seznambot", "seznambot", "search-engine"),
    (false, "ec2linkfinder", "ec2linkfinder", "crawler"),
    (false, "gslfbot", "gslfbot", "seo"),
    (false, "intelium_bot", "intelium_bot", "seo"),
    (false, "yeti", "yeti", "search-engine"),
    (false, "retrevopageanalyzer", "retrevopageanalyzer", "seo"),
    (false, "lb-spider", "lb-spider", "search-engine"),
    (false, "sogou", "sogou", "search-engine"),
    (false, "lssbot", "lssbot", "seo"),
    (false, "careerbot", "careerbot", "seo"),
    (false, "wotbox", "wotbox", "search-engine"),
    (false, "wocbot", "wocbot", "search-engine"),
    (false, "ichiro", "ichiro", "search-engine"),
    (false, "duckduckbot", "duckduckbot", "search-engine"),
    (false, "lssrocketcrawler", "lssrocketcrawler", "seo"),
    (false, "drupact", "drupact", "seo"),
    (false, "webcompanycrawler", "webcompanycrawler", "seo"),
    (false, "acoonbot", "acoonbot", "search-engine"),
    (false, "openindexspider", "openindexspider", "search-engine"),
    (false, "gnam gnam spider", "gnam", "seo"),
    (false, "web-archive-net.com.bot", "web-archive-net.com.bot", "archiver"),
    (false, "backlinkcrawler", "backlinkcrawler", "seo"),
    (false, "coccoc", "coccoc", "search-engine"),
    (false, "integromedb", "integromedb", "crawler"),
    (false, "content crawler spider", "content", "seo"),
    (false, "toplistbot", "toplistbot", "seo"),
    (false, "it2media-domain-crawler", "it2media-domain-crawler", "seo"),
    (false, "ip-web-crawler.com", "ip-web-crawler.com", "crawler"),
    (false, "siteexplorer.info", "siteexplorer.info", "seo"),
    (false, "elisabot", "elisabot", "seo"),
    (false, "proximic", "proximic", "crawler"),
    (false, "changedetection", "changedetection", "monitoring"),
    (false, "arabot", "arabot", "search-engine"),
    (false, "wesee:search", "wesee:search", "search-engine"),
    (false, "niki-bot", "niki-bot", "seo"),
    (false, "crystalsemanticsbot", "crystalsemanticsbot", "seo"),
    (false, "rogerbot", "rogerbot", "seo"),
    (false, "360spider", "360spider", "search-engine"),
    (false, "psbot", "psbot", "search-engine"),
    (false, "interfaxscanbot", "interfaxscanbot", "seo"),
    (false, "cc metadata scaper", "cc", "archiver"),
    (false, "g00g1e.net", "g00g1e.net", "seo"),
    (false, "grapeshotcrawler", "grapeshotcrawler", "crawler"),
    (false, "urlappendbot", "urlappendbot", "seo"),
    (false, "brainobot", "brainobot", "seo"),
    (false, "fr-crawler", "fr-crawler", "search-engine"),
    (false, "binlar", "binlar", "crawler"),
    (false, "simplecrawler", "simplecrawler", "crawler"),
    (false, "twitterbot", "twitterbot", "social-preview"),
    (false, "cxensebot", "cxensebot", "crawler"),
    (false, "smtbot", "smtbot", "seo"),
    (false, "bnf.fr_bot", "bnf.fr_bot", "archiver"),
    (false, "a6-indexer", "a6-indexer", "search-engine"),
    (false, "admantx", "admantx", "crawler"),
    (false, "facebot", "facebot", "social-preview"),
    (false, "orangebot/", "orangebot", "search-engine"),
    (false, "memorybot", "memorybot", "seo"),
    (false, "advbot", "advbot", "crawler"),
    (false, "megaindex", "megaindex", "seo"),
    (false, "semanticscholarbot", "semanticscholarbot", "crawler"),
    (false, "ltx71", "ltx71", "crawler"),
    (false, "nerdybot", "nerdybot", "seo"),
    (false, "xovibot", "xovibot", "seo"),
    (false, "bubing", "bubing", "crawler"),
    (false, "qwantify", "qwantify", "search-engine"),
    (false, "archive.org_bot", "archive.org_bot", "archiver"),
    (false, "tweetmemebot", "tweetmemebot", "social-preview"),
    (false, "crawler4j", "crawler4j", "crawler"),
    (false, "findxbot", "findxbot", "search-engine"),
    (false, "yoozbot", "yoozbot", "seo"),
    (false, "lipperhey", "lipperhey", "seo"),
    (false, "y!j", "y!j", "search-engine"),
    (false, "domain re-animator bot", "domain", "seo"),
    (false, "addthis", "addthis", "social-preview"),
    (false, "screaming frog seo spider", "screaming", "seo"),
    (false, "metauri", "metauri", "seo"),
    (false, "openhosebot", "openhosebot", "search-engine"),
    (false, "capsulechecker", "capsulechecker", "monitoring"),
    (false, "collection@infegy.com", "collection@infegy.com", "seo"),
    (false, "istellabot", "istellabot", "search-engine"),
    (false, "deusu/", "deusu", "search-engine"),
    (false, "betabot", "betabot", "seo"),
    (false, "cliqzbot/", "cliqzbot", "search-engine"),
    (false, "mojeekbot/", "mojeekbot", "search-engine"),
    (false, "netestate ne crawler", "netestate", "seo"),
    (false, "safesearch microdata crawler", "safesearch", "search-engine"),
    (false, "gluten free crawler/", "gluten", "search-engine"),
    (false, "sonic", "sonic", "seo"),
    (false, "sysomos", "sysomos", "seo"),
    (false, "trove", "trove", "archiver"),
    (false, "deadlinkchecker", "deadlinkchecker", "seo"),
    (false, "slack-imgproxy", "slack-imgproxy", "social-preview"),
    (false, "embedly", "embedly", "social-preview"),
    (false, "rankactivelinkbot", "rankactivelinkbot", "seo"),
    (false, "iskanie", "iskanie", "seo"),
    (false, "safednsbot", "safednsbot", "crawler"),
    (false, "skypeuripreview", "skypeuripreview", "social-preview"),
    (false, "veoozbot", "veoozbot", "seo"),
    (false, "slackbot", "slackbot", "social-preview"),
    (false, "redditbot", "redditbot", "social-preview"),
    (false, "datagnionbot", "datagnionbot", "seo"),
    (false, "google-adwords-instant", "google-adwords-instant", "crawler"),
    (false, "adbeat_bot", "adbeat_bot", "crawler"),
    (false, "whatsapp", "whatsapp", "social-preview"),
    (false, "contxbot", "contxbot", "seo"),
    (false, "pinterest.com/bot", "pinterest.com", "social-preview"),
    (false, "electricmonk", "electricmonk", "seo"),
    (false, "garlikcrawler", "garlikcrawler", "seo"),
    (false, "bingpreview/", "bingpreview", "social-preview"),
    (false, "vebidoobot", "vebidoobot", "seo"),
    (false, "femtosearchbot", "femtosearchbot", "search-engine"),
    (false, "yahoo link preview", "yahoo", "social-preview"),
    (false, "metajobbot", "metajobbot", "seo"),
    (false, "domainstatsbot", "domainstatsbot", "seo"),
    (false, "mindupbot", "mindupbot", "seo"),
    (false, "daum/", "daum", "search-engine"),
    (false, "jugendschutzprogramm-crawler", "jugendschutzprogramm-crawler", "crawler"),
    (false, "xenu link sleuth", "xenu", "seo"),
    (false, "pcore-http", "pcore-http", "crawler"),
    (false, "moatbot", "moatbot", "crawler"),
    (false, "kosmiobot", "kosmiobot", "seo"),
    (false, "appinsights", "appinsights", "monitoring"),
    (false, "phantomjs", "phantomjs", "crawler"),
    (false, "gowikibot", "gowikibot", "seo"),
    (false, "piplbot", "piplbot", "seo"),
    (false, "discordbot", "discordbot", "social-preview"),
    (false, "telegrambot", "telegrambot", "social-preview"),
    (false, "jetslide", "jetslide", "social-preview"),
    (false, "newsharecounts", "newsharecounts", "social-preview"),
    (false, "james bot", "james", "seo"),
    (false, "tineye", "tineye", "seo"),
    (false, "socialrankiobot", "socialrankiobot", "seo"),
    (false, "trendictionbot", "trendictionbot", "seo"),
    (false, "ocarinabot", "ocarinabot", "seo"),
    (false, "epicbot", "epicbot", "seo"),
    (false, "primalbot", "primalbot", "seo"),
    (false, "duckduckgo-favicons-bot", "duckduckgo-favicons-bot", "search-engine"),
    (false, "gnowitnewsbot", "gnowitnewsbot", "seo"),
    (false, "leikibot", "leikibot", "seo"),
    (false, "linkarchiver", "linkarchiver", "archiver"),
    (false, "yak/", "yak", "seo"),
    (false, "paperlibot", "paperlibot", "seo"),
    (false, "digg deeper", "digg", "seo"),
    (true, "dcrawl", "dcrawl", "seo"),
    (false, "snacktory", "snacktory", "seo"),
    (false, "anderspinkbot", "anderspinkbot", "seo"),
    (false, "fyrebot", "fyrebot", "seo"),
    (false, "everyonesocialbot", "everyonesocialbot", "social-preview"),
    (false, "mediatoolkitbot", "mediatoolkitbot", "monitoring"),
    (false, "luminator-robots", "luminator-robots", "seo"),
    (false, "extlinksbot", "extlinksbot", "seo"),
    (false, "surveybot", "surveybot", "seo"),
    (false, "ning/", "ning", "social-preview"),
    (false, "okhttp", "okhttp", "crawler"),
    (false, "nuzzel", "nuzzel", "seo"),
    (false, "pocketparser", "pocketparser", "seo"),
    (false, "yisouspider", "yisouspider", "search-engine"),
    (false, "um-ln", "um-ln", "seo"),
    (false, "toutiaospider", "toutiaospider", "search-engine"),
    (false, "muckrack", "muckrack", "seo"),
    (false, "jamie's spider", "jamie's", "seo"),
    (false, "ahc/", "ahc", "crawler"),
    (false, "netcraftsurveyagent", "netcraftsurveyagent", "crawler"),
    (false, "laserlikebot", "laserlikebot", "seo"),
    (true, "apache-httpclient", "apache-httpclient", "crawler"),
    (false, "appengine-google", "appengine-google", "search-engine"),
    (false, "jetty", "jetty", "crawler"),
    (false, "upflow", "upflow", "seo"),
    (false, "thinklab", "thinklab", "crawler"),
    (false, "traackr.com", "traackr.com", "seo"),
    (false, "twurly", "twurly", "seo"),
    (false, "mastodon", "mastodon", "social-preview"),
    (false, "http_get", "http_get", "crawler"),
    (false, "dnyzbot", "dnyzbot", "seo"),
    (false, "botify", "botify", "seo"),
    (false, "007ac9 crawler", "007ac9", "seo"),
    (false, "behloolbot", "behloolbot", "seo"),
    (false, "brandverity", "brandverity", "seo"),
    (false, "check_http", "check_http", "monitoring"),
    (false, "bdcbot", "bdcbot", "seo"),
    (false, "zumbot", "zumbot", "search-engine"),
    (false, "ezid", "ezid", "seo"),
    (false, "archivebot", "archivebot", "archiver"),
    (true, "lcc ", "lcc", "crawler"),
    (false, "filterdb.iss.net/crawler", "filterdb.iss.net", "crawler"),
    (false, "blp_bbot", "blp_bbot", "seo"),
    (false, "bomborabot", "bomborabot", "seo"),
    (false, "buck/", "buck", "monitoring"),
    (false, "companybook-crawler", "companybook-crawler", "seo"),
    (false, "genieo", "genieo", "seo"),
    (false, "magpie-crawler", "magpie-crawler", "seo"),
    (false, "meltwaternews", "meltwaternews", "seo"),
    (false, "moreover", "moreover", "seo"),
    (false, "newspaper/", "newspaper", "crawler"),
    (false, "scoutjet", "scoutjet", "seo"),
    (true, "sentry/", "sentry", "monitoring"),
    (false, " sentry/", " sentry/", "monitoring"),
    (false, "storygizebot", "storygizebot", "seo"),
    (false, "uptimerobot", "uptimerobot", "monitoring"),
    (false, "outclicksbot", "outclicksbot", "crawler"),
    (false, "seoscanners", "seoscanners", "seo"),
    (false, "hatena", "hatena", "social-preview"),
    (false, "google web preview", "google", "social-preview"),
    (false, "mauibot", "mauibot", "seo"),
    (false, "alphabot", "alphabot", "seo"),
    (false, "sbl-bot", "sbl-bot", "crawler"),
    (false, "ias crawler", "ias", "crawler"),
    (false, "adscanner", "adscanner", "crawler"),
    (false, "netvibes", "netvibes", "feed"),
    (false, "acapbot", "acapbot", "seo"),
    (false, "baidu-yunguance", "baidu-yunguance", "monitoring"),
    (false, "bitlybot", "bitlybot", "seo"),
    (false, "blogmurabot", "blogmurabot", "seo"),
    (false, "bot.araturka.com", "bot.araturka.com", "search-engine"),
    (false, "bot-pge.chlooe.com", "bot-pge.chlooe.com", "seo"),
    (false, "boxcarbot", "boxcarbot", "seo"),
    (false, "btwebclient", "btwebclient", "crawler"),
    (false, "contextad bot", "contextad", "crawler"),
    (false, "digincore bot", "digincore", "seo"),
    (false, "disqus", "disqus", "seo"),
    (false, "feedly", "feedly", "feed"),
    (false, "fetch/", "fetch", "seo"),
    (false, "fever", "fever", "feed"),
    (false, "flamingo_searchengine", "flamingo_searchengine", "search-engine"),
    (false, "flipboardproxy", "flipboardproxy", "social-preview"),
    (false, "g2reader-bot", "g2reader-bot", "feed"),
    (false, "g2 web services", "g2", "seo"),
    (false, "imrbot", "imrbot", "seo"),
    (false, "k7mlwcbot", "k7mlwcbot", "crawler"),
    (false, "kemvibot", "kemvibot", "seo"),
    (false, "landau-media-spider", "landau-media-spider", "seo"),
    (false, "linkapediabot", "linkapediabot", "seo"),
    (false, "vkshare", "vkshare", "social-preview"),
    (false, "siteimprove.com", "siteimprove.com", "monitoring"),
    (false, "blexbot/", "blexbot", "seo"),
    (false, "dareboost", "dareboost", "monitoring"),
    (false, "zuperlistbot/", "zuperlistbot", "seo"),
    (false, "miniflux/", "miniflux", "feed"),
    (false, "feedspot", "feedspot", "feed"),
    (false, "diffbot/", "diffbot", "seo"),
    (false, "seokicks", "seokicks", "seo"),
    (false, "tracemyfile", "tracemyfile", "seo"),
    (false, "nimbostratus-bot", "nimbostratus-bot", "seo"),
    (false, "zgrab", "zgrab", "crawler"),
    (false, "pr-cy.ru", "pr-cy.ru", "seo"),
    (false, "adstxtcrawler", "adstxtcrawler", "crawler"),
    (false, "datafeedwatch", "datafeedwatch", "seo"),
    (false, "zabbix", "zabbix", "monitoring"),
    (false, "tangibleebot", "tangibleebot", "seo"),
    (false, "google-xrawler", "google-xrawler", "search-engine"),
    (false, "axios", "axios", "crawler"),
    (false, "amazon cloudfront", "amazon", "crawler"),
    (false, "pulsepoint ", "pulsepoint", "crawler"),
    (false, "cloudflare-alwaysonline", "cloudflare-alwaysonline", "monitoring"),
    (false, "cloudflare-healthchecks", "cloudflare-healthchecks", "monitoring"),
    (false, "cloudflare-traffic-manager", "cloudflare-traffic-manager", "monitoring"),
    (false, "cloudflare-prefetch", "cloudflare-prefetch", "seo"),
    (false, "cloudflare-ssldetector", "cloudflare-ssldetector", "crawler"),
    (false, "https://developers.cloudflare.com/security-center/", "https:", "crawler"),
    (false, "google-structured-data-testing-tool", "google-structured-data-testing-tool", "search-engine"),
    (false, "wordupinfosearch", "wordupinfosearch", "search-engine"),
    (false, "webdatastats", "webdatastats", "seo"),
    (false, "httpurlconnection", "httpurlconnection", "crawler"),
    (false, "zoombot", "zoombot", "seo"),
    (false, "moodlebot", "moodlebot", "seo"),
    (false, "jpg-newsbot", "jpg-newsbot", "seo"),
    (false, "outbrain", "outbrain", "crawler"),
    (false, "w3c_validator", "w3c_validator", "monitoring"),
    (false, "validator.nu", "validator.nu", "monitoring"),
    (false, "w3c-checklink", "w3c-checklink", "monitoring"),
    (false, "w3c-mobileok", "w3c-mobileok", "monitoring"),
    (false, "w3c_i18n-checker", "w3c_i18n-checker", "monitoring"),
    (false, "feedvalidator", "feedvalidator", "monitoring"),
    (false, "w3c_css_validator", "w3c_css_validator", "monitoring"),
    (false, "w3c_unicorn", "w3c_unicorn", "monitoring"),
    (false, "google-physicalweb", "google-physicalweb", "search-engine"),
    (false, "blackboard", "blackboard", "crawler"),
    (false, "icbot/", "icbot", "seo"),
    (false, "bazqux", "bazqux", "feed"),
    (false, "twingly", "twingly", "seo"),
    (false, "rivva", "rivva", "seo"),
    (false, "experibot", "experibot", "monitoring"),
    (false, "awesomecrawler", "awesomecrawler", "seo"),
    (false, "dataprovider.com", "dataprovider.com", "seo"),
    (false, "grouphigh/", "grouphigh", "seo"),
    (false, "theoldreader.com", "theoldreader.com", "feed"),
    (false, "anyevent", "anyevent", "crawler"),
    (false, "uptimebot.org", "uptimebot.org", "monitoring"),
    (false, "nmap scripting engine", "nmap", "crawler"),
    (false, "2ip.ru", "2ip.ru", "seo"),
    (false, "clickagy", "clickagy", "crawler"),
    (false, "caliperbot", "caliperbot", "seo"),
    (false, "mbcrawler", "mbcrawler", "seo"),
    (false, "online-webceo-bot", "online-webceo-bot", "seo"),
    (false, "b2b bot", "b2b", "seo"),
    (false, "google favicon", "google", "search-engine"),
    (false, "hubspot", "hubspot", "seo"),
    (false, "chrome-lighthouse", "chrome-lighthouse", "monitoring"),
    (false, "headlesschrome", "headlesschrome", "crawler"),
    (false, "checkmarknetwork/", "checkmarknetwork", "monitoring"),
    (false, "www.uptime.com", "www.uptime.com", "monitoring"),
    (false, "streamline3bot/", "streamline3bot", "monitoring"),
    (false, "serpstatbot/", "serpstatbot", "seo"),
    (false, "mixnodecache/", "mixnodecache", "seo"),
    (true, "curl", "curl", "crawler"),
    (false, "simplescraper", "simplescraper", "seo"),
    (false, "rssingbot", "rssingbot", "feed"),
    (false, "jooblebot", "jooblebot", "search-engine"),
    (false, "fedoraplanet", "fedoraplanet", "feed"),
    (false, "friendica", "friendica", "social-preview"),
    (false, "nextcloud", "nextcloud", "feed"),
    (false, "tiny tiny rss", "tiny", "feed"),
    (false, "regionstuttgartbot", "regionstuttgartbot", "seo"),
    (false, "datanyze", "datanyze", "seo"),
    (false, "google-site-verification", "google-site-verification", "search-engine"),
    (false, "trendsmapresolver", "trendsmapresolver", "seo"),
    (false, "tweetedtimes", "tweetedtimes", "seo"),
    (false, "ntentbot", "ntentbot", "search-engine"),
    (false, "gwene", "gwene", "feed"),
    (false, "simplepie", "simplepie", "feed"),
    (false, "searchatlas", "searchatlas", "seo"),
    (false, "superfeedr", "superfeedr", "feed"),
    (false, "feedbot", "feedbot", "feed"),
    (false, "ut-dorkbot", "ut-dorkbot", "crawler"),
    (false, "amazonproductdiscovery", "amazonproductdiscovery", "search-engine"),
    (false, "amazonsellerinitiatedlisting", "amazonsellerinitiatedlisting", "search-engine"),
    (false, "serendeputybot", "serendeputybot", "seo"),
    (false, "eyeotabot", "eyeotabot", "crawler"),
    (false, "officestorebot", "officestorebot", "search-engine"),
    (false, "neticle crawler", "neticle", "seo"),
    (false, "surdotlybot", "surdotlybot", "seo"),
    (false, "linkisbot", "linkisbot", "seo"),
    (false, "awariosmartbot", "awariosmartbot", "seo"),
    (false, "awariorssbot", "awariorssbot", "seo"),
    (false, "rytebot", "rytebot", "seo"),
    (false, "freewebmonitoring sitechecker", "freewebmonitoring", "monitoring"),
    (false, "aspiegelbot", "aspiegelbot", "search-engine"),
    (false, "naver blog rssbot", "naver", "feed"),
    (false, "zenback bot", "zenback", "seo"),
    (false, "sentibot", "sentibot", "seo"),
    (false, "domains project/", "domains", "seo"),
    (false, "pandalytics", "pandalytics", "seo"),
    (false, "vkrobot", "vkrobot", "social-preview"),
    (false, "bidswitchbot", "bidswitchbot", "crawler"),
    (false, "tigerbot", "tigerbot", "seo"),
    (false, "nixstatsbot", "nixstatsbot", "monitoring"),
    (false, "atom feed robot", "atom", "feed"),
    (false, "pagepeeker/", "pagepeeker", "seo"),
    (false, "vigil/", "vigil", "monitoring"),
    (false, "rssbot/", "rssbot", "feed"),
    (false, "startmebot/", "startmebot", "seo"),
    (false, "jobboersebot", "jobboersebot", "search-engine"),
    (false, "seewithkids", "seewithkids", "seo"),
    (false, "ninja bot", "ninja", "crawler"),
    (false, "cutbot", "cutbot", "seo"),
    (false, "bublupbot", "bublupbot", "seo"),
    (false, "brandonbot", "brandonbot", "seo"),
    (false, "ridderbot", "ridderbot", "seo"),
    (false, "taboolabot", "taboolabot", "crawler"),
    (false, "dubbotbot", "dubbotbot", "monitoring"),
    (false, "finditanswersbot", "finditanswersbot", "seo"),
    (false, "infoobot", "infoobot", "seo"),
    (false, "refindbot", "refindbot", "seo"),
    (false, "seobilitybot", "seobilitybot", "seo"),
    (false, "cincraw", "cincraw", "seo"),
    (false, "dragonbot", "dragonbot", "seo"),
    (false, "voluumdsp-content-bot", "voluumdsp-content-bot", "crawler"),
    (false, "freshrss", "freshrss", "feed"),
    (false, "bitbot", "bitbot", "seo"),
    (true, "php-curl-class", "php-curl-class", "crawler"),
    (false, "google-certificates-bridge", "google-certificates-bridge", "search-engine"),
    (false, "centurybot", "centurybot", "seo"),
    (false, "viber", "viber", "social-preview"),
    (false, "e.ventures investment crawler", "e.ventures", "seo"),
    (false, "evc-batch", "evc-batch", "seo"),
    (false, "virustotal", "virustotal", "crawler"),
    (true, "ptst/", "ptst", "monitoring"),
    (false, " ptst/", " ptst/", "monitoring"),
    (false, "minicrawler", "minicrawler", "monitoring"),
    (false, "cookiebot", "cookiebot", "crawler"),
    (false, "trovitbot", "trovitbot", "search-engine"),
    (false, "seostar.co", "seostar.co", "seo"),
    (false, "ioncrawl", "ioncrawl", "seo"),
    (false, "uptime-kuma", "uptime-kuma", "monitoring"),
    (false, "seekport", "seekport", "search-engine"),
    (false, "freshpingbot", "freshpingbot", "monitoring"),
    (false, "feedbin", "feedbin", "feed"),
    (false, "criteobot", "criteobot", "crawler"),
    (false, "snap url preview service", "snap", "social-preview"),
    (false, "better uptime bot", "better", "monitoring"),
    (false, "ruxitsynthetic", "ruxitsynthetic", "monitoring"),
    (false, "google-read-aloud", "google-read-aloud", "search-engine"),
    (false, "valve/steam", "valve", "social-preview"),
    (false, "odklbot/", "odklbot", "social-preview"),
    (false, "yandexrenderresourcesbot/", "yandexrenderresourcesbot", "search-engine"),
    (false, "lightspeedsystemscrawler", "lightspeedsystemscrawler", "crawler"),
    (false, "ev-crawler/", "ev-crawler", "seo"),
    (false, "bitsightbot/", "bitsightbot", "crawler"),
    (false, "woorankreview/", "woorankreview", "seo"),
    (false, "google-safety", "google-safety", "search-engine"),
    (false, "awariobot", "awariobot", "seo"),
    (false, "linespider", "linespider", "social-preview"),
    (false, "wellknownbot", "wellknownbot", "seo"),
    (false, "a patent crawler", "a", "crawler"),
    (false, "stractbot", "stractbot", "search-engine"),
    (false, "search.marginalia.nu", "search.marginalia.nu", "search-engine"),
    (false, "nicecrawler", "nicecrawler", "search-engine"),
    (false, "neevabot", "neevabot", "search-engine"),
    (false, "brightedge crawler", "brightedge", "seo"),
    (false, "sitecheckerbotcrawler", "sitecheckerbotcrawler", "seo"),
    (false, "tombapublicwebcrawler", "tombapublicwebcrawler", "seo"),
    (false, "crawlyprojectcrawler", "crawlyprojectcrawler", "seo"),
    (false, "komodiabot", "komodiabot", "seo"),
    (false, "kstandbot", "kstandbot", "seo"),
    (false, "cispa webcrawler", "cispa", "crawler"),
    (false, "mtrobot", "mtrobot", "seo"),
    (false, "hyscore.io", "hyscore.io", "seo"),
    (false, "alexandriaorgbot", "alexandriaorgbot", "search-engine"),
    (false, "2ip bot", "2ip", "seo"),
    (false, "yellowbrandprotectionbot", "yellowbrandprotectionbot", "seo"),
    (false, "seolizer", "seolizer", "seo"),
    (false, "vuhuvbot", "vuhuvbot", "seo"),
    (false, "inetdex-bot", "inetdex-bot", "search-engine"),
    (false, "synapse", "synapse", "social-preview"),
    (false, "t3versionsbot", "t3versionsbot", "seo"),
    (false, "deepnoc", "deepnoc", "monitoring"),
    (false, "cocolyzebot", "cocolyzebot", "seo"),
    (false, "hypestat", "hypestat", "seo"),
    (false, "reverseengineeringbot", "reverseengineeringbot", "crawler"),
    (false, "sempi.tech", "sempi.tech", "seo"),
    (false, "iframely", "iframely", "social-preview"),
    (false, "metainspector", "metainspector", "seo"),
    (false, "node-fetch", "node-fetch", "crawler"),
    (false, "l9explore", "l9explore", "crawler"),
    (false, "python-opengraph", "python-opengraph", "crawler"),
    (false, "opengraphcheck", "opengraphcheck", "seo"),
    (false, "developers.google.com/+/web/snippet", "developers.google.com", "search-engine"),
    (false, "senutobot", "senutobot", "seo"),
    (false, "macocu", "macocu", "crawler"),
    (false, "newsblur", "newsblur", "feed"),
    (false, "inoreader", "inoreader", "feed"),
    (false, "netsystemsresearch", "netsystemsresearch", "crawler"),
    (false, "pagething", "pagething", "seo"),
    (false, "wordpress/", "wordpress", "seo"),
    (false, "phxbot", "phxbot", "search-engine"),
    (false, "expanse", "expanse", "crawler"),
    (false, "internetmeasurement", "internetmeasurement", "crawler"),
    (true, "bw/", "bw", "seo"),
    (false, "geedobot", "geedobot", "search-engine"),
    (false, "audisto crawler", "audisto", "seo"),
    (false, "perplexitybot/", "perplexitybot", "search-engine"),
    (false, "monsidobot", "monsidobot", "monitoring"),
    (false, "groupmebot", "groupmebot", "social-preview"),
    (false, "vercelbot", "vercelbot", "seo"),
    (false, "vercel-screenshot", "vercel-screenshot", "seo"),
    (false, "facebookcatalog/", "facebookcatalog", "crawler"),
    (false, "meta-externalads/", "meta-externalads", "crawler"),
    (false, "meta-externalagent/", "meta-externalagent", "social-preview"),
    (false, "meta-externalfetcher/", "meta-externalfetcher", "social-preview"),
    (false, "academicbotrtu", "academicbotrtu", "crawler"),
    (false, "keybasebot", "keybasebot", "social-preview"),
    (false, "lemmy", "lemmy", "social-preview"),
    (false, "cookiehubscan", "cookiehubscan", "crawler"),
    (false, "hydrozen.io", "hydrozen.io", "monitoring"),
    (false, "http banner detection", "http", "crawler"),
    (false, "summalybot", "summalybot", "social-preview"),
    (false, "microsoftpreview/", "microsoftpreview", "social-preview"),
    (false, "geedoproductsearch", "geedoproductsearch", "search-engine"),
    (false, "oncrawl/", "oncrawl", "seo"),
    (false, "sindresorhus/got", "sindresorhus", "crawler"),
    (false, "censysinspect/", "censysinspect", "crawler"),
    (false, "sbintuitionsbot/", "sbintuitionsbot", "ai-agent"),
    (false, "sitebulb", "sitebulb", "seo"),
    (false, "yextbot/", "yextbot", "seo"),
    (false, "datadogsynthetics", "datadogsynthetics", "monitoring"),
    (false, "google-ads-conversions", "google-ads-conversions", "crawler"),
    (false, "observepoint", "observepoint", "monitoring"),
    (false, "checkly", "checkly", "monitoring"),
    (false, "alittle client", "alittle", "crawler"),
    (false, "aliyunsecbot", "aliyunsecbot", "crawler"),
    (false, "serankingbacklinksbot", "serankingbacklinksbot", "seo"),
    (false, "cmschecker", "cmschecker", "seo"),
    (false, "wayback", "wayback", "archiver"),
    (false, "playwright", "playwright", "crawler"),
    (false, "puppeteer", "puppeteer", "crawler"),
    (false, "selenium", "selenium", "crawler"),
    (false, "nikto", "nikto", "crawler"),
    (false, "sqlmap", "sqlmap", "crawler"),
    (false, "zmeu", "zmeu", "crawler"),
    (false, "masscan", "masscan", "crawler"),
    (false, "wpscan", "wpscan", "crawler"),
    (false, "nessus", "nessus", "crawler"),
    (false, "statuscake", "statuscake", "monitoring"),
    (false, "colly", "colly", "crawler"),
    (false, "air.ai/scanning", "air.ai", "crawler"),
    (false, "asnriskscorer", "asnriskscorer", "crawler"),
    (false, "oicrawler", "oicrawler", "search-engine"),
    (false, "l9scan", "l9scan", "crawler"),
    (false, "slaccalebot", "slaccalebot", "seo"),
    (false, "customasynchttpclient", "customasynchttpclient", "crawler"),
    (true, "httpie/", "httpie", "crawler"),
    (false, "perplexityuser", "perplexityuser", "search-engine"),
    (false, "webzio", "webzio", "seo"),
    (false, "newsai/", "newsai", "feed"),
    (true, "arenaunfurlbot", "arenaunfurlbot", "social-preview"),
    (false, "a360-search", "a360-search", "crawler"),
    (false, "aasa-bot", "aasa-bot", "social-preview"),
    (false, "accessstatus", "accessstatus", "monitoring"),
    (false, "acquia optimize", "acquia", "monitoring"),
    (false, "activecomply", "activecomply", "monitoring"),
    (false, "adkerneltopiccrawler", "adkerneltopiccrawler", "crawler"),
    (false, "alertsite", "alertsite", "monitoring"),
    (false, "allafrica", "allafrica", "feed"),
    (false, "amazing-searchbot", "amazing-searchbot", "crawler"),
    (false, "amazon-bedrock-agentcore-browser", "amazon-bedrock-agentcore-browser", "crawler"),
    (false, "anchor browser", "anchor", "crawler"),
    (false, "ap3a.240617.008", "ap3a.240617.008", "crawler"),
    (false, "archive-it", "archive-it", "archiver"),
    (false, "artemis web reader", "artemis", "feed"),
    (false, "attracta", "attracta", "seo"),
    (false, "audigentadbot", "audigentadbot", "crawler"),
    (false, "authory", "authory", "archiver"),
    (false, "awariorendererbot", "awariorendererbot", "crawler"),
    (false, "bestchange", "bestchange", "feed"),
    (false, "bl.uk_lddc_bot", "bl.uk_lddc_bot", "archiver"),
    (false, "blingerp", "blingerp", "feed"),
    (false, "blockaid", "blockaid", "monitoring"),
    (false, "bloglines", "bloglines", "feed"),
    (false, "blogvault", "blogvault", "monitoring"),
    (false, "bluesky-domain-status-classifier", "bluesky-domain-status-classifier", "social-preview"),
    (false, "bluesky/", "bluesky", "social-preview"),
    (false, "bne.es_bot", "bne.es_bot", "archiver"),
    (false, "browserbot-observer", "browserbot-observer", "crawler"),
    (false, "bufferlinkpreviewbot", "bufferlinkpreviewbot", "social-preview"),
    (false, "bugsnag", "bugsnag", "monitoring"),
    (false, "buttondown", "buttondown", "feed"),
    (false, "capitalonebot", "capitalonebot", "feed"),
    (false, "certchief", "certchief", "crawler"),
    (false, "channable", "channable", "crawler"),
    (false, "clickuplinkunfurler", "clickuplinkunfurler", "social-preview"),
    (false, "cloudflare-custom-hostname-verification", "cloudflare-custom-hostname-verification", "seo"),
    (false, "cloudflare-stream-webhook", "cloudflare-stream-webhook", "seo"),
    (false, "cloudflareradarurlscanner", "cloudflareradarurlscanner", "monitoring"),
    (false, "cloudtrellis", "cloudtrellis", "seo"),
    (false, "code/1.", "code", "crawler"),
    (false, "collapsify", "collapsify", "feed"),
    (false, "convermax", "convermax", "seo"),
    (false, "cookie-maestro", "cookie-maestro", "crawler"),
    (false, "cookiehubverify", "cookiehubverify", "crawler"),
    (false, "cookieyesbot", "cookieyesbot", "crawler"),
    (false, "crazy egg", "crazy", "monitoring"),
    (false, "cypex.ai/scanning", "cypex.ai", "crawler"),
    (false, "deepcrawl", "deepcrawl", "seo"),
    (false, "digicert dcv", "digicert", "crawler"),
    (false, "dlvr.it", "dlvr.it", "feed"),
    (false, "dotcom-monitor", "dotcom-monitor", "monitoring"),
    (false, "drataautopilot", "drataautopilot", "monitoring"),
    (false, "dreamhost data team", "dreamhost", "monitoring"),
    (false, "ds9", "ds9", "crawler"),
    (false, " dvbot", " dvbot", "crawler"),
    (false, "ecovadissustainabilitybot", "ecovadissustainabilitybot", "crawler"),
    (false, "elmah.io uptime monitoring", "elmah.io", "monitoring"),
    (false, "evernoterichlinkbot", "evernoterichlinkbot", "social-preview"),
    (false, "ezlynx", "ezlynx", "crawler"),
    (false, "ezoicbot", "ezoicbot", "crawler"),
    (false, "fastdast", "fastdast", "monitoring"),
    (false, "feeder /", "feeder", "feed"),
    (false, "feedflow", "feedflow", "feed"),
    (false, "findfiles.net", "findfiles.net", "search-engine"),
    (false, "fyndsearchengine-crawler", "fyndsearchengine-crawler", "search-engine"),
    (false, "fyndsearchengine-recrawler", "fyndsearchengine-recrawler", "search-engine"),
    (false, "goodreads", "goodreads", "social-preview"),
    (false, "google trust services", "google", "monitoring"),
    (false, "greppr web crawler", "greppr", "search-engine"),
    (false, "hardenize", "hardenize", "crawler"),
    (false, "honeybadgerbot", "honeybadgerbot", "monitoring"),
    (false, "iboubot", "iboubot", "search-engine"),
    (false, "innologica", "innologica", "feed"),
    (false, "known agent", "known", "monitoring"),
    (false, "krawlerbot", "krawlerbot", "crawler"),
    (false, "linkcheckerbot", "linkcheckerbot", "seo"),
    (false, "lmarenaunfurlbot", "lmarenaunfurlbot", "social-preview"),
    (false, "lyonl-asset-proxy", "lyonl-asset-proxy", "search-engine"),
    (false, "lyonl-crawler", "lyonl-crawler", "search-engine"),
    (false, "magibot", "magibot", "search-engine"),
    (false, "magpierss", "magpierss", "feed"),
    (false, "mail.ru", "mail.ru", "feed"),
    (false, "mailchimp", "mailchimp", "feed"),
    (false, "mcontextualbot", "mcontextualbot", "crawler"),
    (false, "mediumbot-metatagfetcher", "mediumbot-metatagfetcher", "social-preview"),
    (false, "metaiab facebook", "metaiab", "social-preview"),
    (false, "mixrankbot", "mixrankbot", "crawler"),
    (false, "modernizebot", "modernizebot", "seo"),
    (false, "montasticmonitor", "montasticmonitor", "monitoring"),
    (false, "nanointeractive", "nanointeractive", "crawler"),
    (false, "nestdaddybot", "nestdaddybot", "search-engine"),
    (false, "netcraft ssl server survey", "netcraft", "crawler"),
    (false, "netcraft web server survey", "netcraft", "crawler"),
    (false, "netseer crawler", "netseer", "crawler"),
    (false, "newrelicsynthetics", "newrelicsynthetics", "monitoring"),
    (false, "newsroom.bi", "newsroom.bi", "crawler"),
    (false, "nitro-", "nitro-", "seo"),
    (false, "nitrobot", "nitrobot", "seo"),
    (false, "noibu", "noibu", "monitoring"),
    (false, "nostocrawlerbot", "nostocrawlerbot", "crawler"),
    (false, "onetrust", "onetrust", "monitoring"),
    (false, "opencode-smartfetch", "opencode-smartfetch", "crawler"),
    (false, ";owler", ";owler", "crawler"),
    (false, "parselysharesbot", "parselysharesbot", "monitoring"),
    (false, "podchaserparser", "podchaserparser", "feed"),
    (false, "podimo", "podimo", "feed"),
    (false, "productsup.io/crawler", "productsup.io", "crawler"),
    (false, "qcbot", "qcbot", "feed"),
    (false, "qualys", "qualys", "monitoring"),
    (false, "quora-bot", "quora-bot", "social-preview"),
    (false, "qwantbot", "qwantbot", "search-engine"),
    (false, "qwarrybot", "qwarrybot", "crawler"),
    (false, "rsiteauditor", "rsiteauditor", "seo"),
    (false, "rss.social", "rss.social", "feed"),
    (false, "salesforce.com", "salesforce.com", "crawler"),
    (false, "scope3", "scope3", "crawler"),
    (false, "scraping@nytimes.com", "scraping@nytimes.com", "crawler"),
    (false, "scrubby", "scrubby", "search-engine"),
    (false, "scrunchbot", "scrunchbot", "monitoring"),
    (false, "seo4ajax.com", "seo4ajax.com", "seo"),
    (false, "sequelwp", "sequelwp", "monitoring"),
    (false, "serverdensity", "serverdensity", "monitoring"),
    (false, "shortpixel", "shortpixel", "feed"),
    (false, "silktide", "silktide", "monitoring"),
    (false, "sitelock", "sitelock", "monitoring"),
    (false, "smarshbot", "smarshbot", "archiver"),
    (false, "smtnetpmbot", "smtnetpmbot", "search-engine"),
    (false, "software-security-research", "software-security-research", "crawler"),
    (false, "sottopopnone", "sottopopnone", "feed"),
    (false, "splunk", "splunk", "monitoring"),
    (false, "statusnestbacklinkspider", "statusnestbacklinkspider", "seo"),
    (false, "stepstonecrawlbot", "stepstonecrawlbot", "search-engine"),
    (false, "thousandeyes", "thousandeyes", "monitoring"),
    (false, "trae/", "trae", "crawler"),
    (false, "uipbot", "uipbot", "crawler"),
    (false, "um-fc", "um-fc", "crawler"),
    (false, "um-ic", "um-ic", "crawler"),
    (false, "uptimestatistics", "uptimestatistics", "monitoring"),
    (false, "verispider", "verispider", "crawler"),
    (false, "visionheight.com/scan", "visionheight.com", "crawler"),
    (false, "watchbot monitoring robot", "watchbot", "monitoring"),
    (false, "watchful", "watchful", "monitoring"),
    (false, "weborama-fetcher", "weborama-fetcher", "crawler"),
    (false, "webspidermount", "webspidermount", "crawler"),
    (false, "wepchsearchengine", "wepchsearchengine", "search-engine"),
    (false, "wknd-bot", "wknd-bot", "crawler"),
    (false, "wpmu dev hub", "wpmu", "monitoring"),
    (false, "wtotem", "wtotem", "crawler"),
    (false, "xovionpagecrawler", "xovionpagecrawler", "seo"),
    (false, "yelpspider", "yelpspider", "feed"),
    (false, "zoominfo-", "zoominfo-", "search-engine"),
    (false, "7siters", "7siters", "search-engine"),
    (false, "accessible web bot", "accessible", "monitoring"),
    (false, "atvowbot", "atvowbot", "monitoring"),
    (false, "bibliotheque nacional de france crawler", "bibliotheque", "archiver"),
    (false, "bling erp", "bling", "monitoring"),
    (false, "cdscbot", "cdscbot", "crawler"),
    (false, "critical css bot", "critical", "monitoring"),
    (false, "cybaabot", "cybaabot", "crawler"),
    (false, "cyberfindcrawler", "cyberfindcrawler", "search-engine"),
    (false, "dark visitor", "dark", "monitoring"),
    (false, "determ", "determ", "monitoring"),
    (false, "dnsscanner", "dnsscanner", "crawler"),
    (false, "drupalbot", "drupalbot", "monitoring"),
    (false, "emoney advisor", "emoney", "monitoring"),
    (false, "everyfeed-spider", "everyfeed-spider", "feed"),
    (false, "extecontextcrawl", "extecontextcrawl", "ai-agent"),
    (false, "fedidb", "fedidb", "monitoring"),
    (false, "fediindex", "fediindex", "search-engine"),
    (false, "fedilist agent", "fedilist", "monitoring"),
    (false, "fedineko", "fedineko", "crawler"),
    (false, "fedreporter bot for ffiec", "fedreporter", "monitoring"),
    (false, "feedsearch bot", "feedsearch", "feed"),
    (false, "feedsearch-crawler", "feedsearch-crawler", "feed"),
    (false, "fiperbot", "fiperbot", "search-engine"),
    (false, "fleebsbot", "fleebsbot", "search-engine"),
    (false, "fluid", "fluid", "crawler"),
    (false, "flyriverbot", "flyriverbot", "ai-agent"),
    (false, "freshbot", "freshbot", "monitoring"),
    (false, "gaisbot", "gaisbot", "crawler"),
    (false, "genomecrawlerd", "genomecrawlerd", "monitoring"),
    (false, "halobot", "halobot", "monitoring"),
    (false, "irlbot", "irlbot", "crawler"),
    (false, "kaikki.org-digital-archive", "kaikki.org-digital-archive", "archiver"),
    (false, "kb.dk_bot", "kb.dk_bot", "archiver"),
    (false, "library of congress web archiving", "library", "archiver"),
    (false, "magnetmebot", "magnetmebot", "monitoring"),
    (false, "matchorysearch", "matchorysearch", "search-engine"),
    (false, "minoru's fediverse crawler", "minoru's", "monitoring"),
    (false, "mirrorwebcrawler", "mirrorwebcrawler", "archiver"),
    (false, "mithril-crawler", "mithril-crawler", "crawler"),
    (false, "modatscanner", "modatscanner", "monitoring"),
    (false, "napbot", "napbot", "search-engine"),
    (false, "new york times newsgathering", "new", "monitoring"),
    (false, "nlux_iaharvester", "nlux_iaharvester", "archiver"),
    (false, "noahbot", "noahbot", "monitoring"),
    (false, "plagawarebot", "plagawarebot", "monitoring"),
    (false, "rakuten image extraction bot", "rakuten", "monitoring"),
    (false, "researchbot", "researchbot", "crawler"),
    (false, "rss-is-dead.lol web bot", "rss-is-dead.lol", "feed"),
    (false, "seolyt", "seolyt", "seo"),
    (false, "sirdatabot", "sirdatabot", "crawler"),
    (false, "sitesoverpagesbot", "sitesoverpagesbot", "seo"),
    (false, "sleepbot", "sleepbot", "monitoring"),
    (false, "sosospider", "sosospider", "search-engine"),
    (false, "termly", "termly", "monitoring"),
    (false, "tls tester", "tls", "crawler"),
    (false, "trafilatura", "trafilatura", "crawler"),
    (false, "urlbeebot", "urlbeebot", "crawler"),
    (false, "videootv bot", "videootv", "monitoring"),
    (false, "vmcrawl", "vmcrawl", "monitoring"),
    (false, "wadoobot", "wadoobot", "search-engine"),
    (false, "website-info.net-robot", "website-info.net-robot", "seo"),
    (false, "webzip", "webzip", "archiver"),
    (false, "wikido", "wikido", "search-engine"),
    (false, "wovn crawler", "wovn", "monitoring"),
    (false, "youdaobot", "youdaobot", "search-engine"),
    (false, "zyborg", "zyborg", "search-engine"),
    (false, "abevalbot", "abevalbot", "monitoring"),
    (false, "blekkobot", "blekkobot", "search-engine"),
    (false, "br-crawler", "br-crawler", "search-engine"),
    (false, "capterrabot", "capterrabot", "monitoring"),
    (false, "carbon-umbrella-bot", "carbon-umbrella-bot", "monitoring"),
    (false, "caveman-hunter", "caveman-hunter", "monitoring"),
    (false, "centro ads.txt crawler", "centro", "crawler"),
    (false, "wisebot", "wisebot", "monitoring"),
    (false, "codabot", "codabot", "social-preview"),
    (false, "corporama matcher", "corporama", "monitoring"),
    (false, "cyotekwebcopy", "cyotekwebcopy", "archiver"),
    (false, "datadog agent", "datadog", "monitoring"),
    (false, "dazzle bluesky bot", "dazzle", "social-preview"),
    (false, "dominicbot", "dominicbot", "monitoring"),
    (false, "dow jones searchbot", "dow", "monitoring"),
    (false, "download ninja", "download", "crawler"),
    (false, "emailwolf", "emailwolf", "crawler"),
    (false, "fedistatscrawler", "fedistatscrawler", "monitoring"),
    (false, "goparserbot", "goparserbot", "crawler"),
    (false, "gsa-crawler", "gsa-crawler", "search-engine"),
    (false, "hanaleibot", "hanaleibot", "monitoring"),
    (false, "nicheindex", "nicheindex", "feed"),
    (false, "headonlyscraper", "headonlyscraper", "monitoring"),
    (false, "impact.com agent", "impact.com", "crawler"),
    (false, "keydrop.io", "keydrop.io", "crawler"),
    (false, "larbin", "larbin", "crawler"),
    (false, "sentinel-linkcheck", "sentinel-linkcheck", "monitoring"),
    (false, "linko", "linko", "monitoring"),
    (false, "linkpadbot", "linkpadbot", "monitoring"),
    (false, "lwp-trivial", "lwp-trivial", "crawler"),
    (false, "magus bot", "magus", "monitoring"),
    (false, "naverbot", "naverbot", "search-engine"),
    (false, "loopimprovements.com", "loopimprovements.com", "monitoring"),
    (false, "opentheboxbot", "opentheboxbot", "search-engine"),
    (false, "owler-w", "owler-w", "monitoring"),
    (false, "peer39_crawler", "peer39_crawler", "crawler"),
    (false, "pixalate.com", "pixalate.com", "crawler"),
    (false, "poduptime", "poduptime", "monitoring"),
    (false, "pomothy-bot", "pomothy-bot", "monitoring"),
    (false, "pulsepoint-crawler", "pulsepoint-crawler", "crawler"),
    (false, "rawweb-bot", "rawweb-bot", "crawler"),
    (false, "semantic-visions", "semantic-visions", "ai-agent"),
    (false, "sindup", "sindup", "monitoring"),
    (false, "sitesucker", "sitesucker", "archiver"),
    (false, "springservebot", "springservebot", "crawler"),
    (false, "sqwatcher", "sqwatcher", "monitoring"),
    (false, "supabase paired crawler", "supabase", "social-preview"),
    (false, "sv-watchagent", "sv-watchagent", "monitoring"),
    (false, "swiftbot", "swiftbot", "search-engine"),
    (false, "synthesibot", "synthesibot", "monitoring"),
    (false, "taragroup intelligent bot", "taragroup", "ai-agent"),
    (false, "tsmbot", "tsmbot", "monitoring"),
    (false, "tsm-turingos", "tsm-turingos", "ai-agent"),
    (false, "ugaresearchagent", "ugaresearchagent", "crawler"),
    (false, "urlsuma.de crawler", "urlsuma.de", "monitoring"),
    (false, "wanscannerbot", "wanscannerbot", "crawler"),
    (false, "webcapture", "webcapture", "archiver"),
    (false, "webcopier", "webcopier", "archiver"),
    (false, "cognitiveseo.com", "cognitiveseo.com", "seo"),
    (false, "xing bot", "xing", "social-preview"),
    (false, "xml sitemaps generator", "xml", "seo"),
    (false, "yandorirssbot", "yandorirssbot", "feed"),
    (false, "zealbot", "zealbot", "search-engine"),
    (false, "008/", "008", "seo"),
    (false, "monitoring360bot/", "monitoring360bot", "monitoring"),
    (false, "adagiobot", "adagiobot", "seo"),
    (false, "adbeat.com", "adbeat.com", "crawler"),
    (false, "adminlabs", "adminlabs", "seo"),
    (false, "advanced_crawler", "advanced_crawler", "seo"),
    (false, "adventurer", "adventurer", "seo"),
    (false, "agakidsbot", "agakidsbot", "seo"),
    (false, "agencyanalyticsbot", "agencyanalyticsbot", "seo"),
    (false, "akismetbot", "akismetbot", "crawler"),
    (false, "alexa site audit", "alexa", "seo"),
    (false, "algolia crawler", "algolia", "search-engine"),
    (false, "alienfarm", "alienfarm", "seo"),
    (false, "allorigins", "allorigins", "seo"),
    (false, "amazonadbot", "amazonadbot", "crawler"),
    (false, "kendrabot", "kendrabot", "search-engine"),
    (false, "appsiteassociation", "appsiteassociation", "seo"),
    (false, "aragog/", "aragog", "seo"),
    (false, "aranea", "aranea", "crawler"),
    (false, "archivebox", "archivebox", "archiver"),
    (false, "arquivobot", "arquivobot", "archiver"),
    (false, "arquivo-web-crawler", "arquivo-web-crawler", "archiver"),
    (false, "artemisbot", "artemisbot", "crawler"),
    (false, "asana/", "asana", "seo"),
    (false, "audistobot", "audistobot", "seo"),
    (false, "autoconfig test from ustc", "autoconfig", "crawler"),
    (false, "tracking-quality-spider", "tracking-quality-spider", "crawler"),
    (false, "bad neighborhood header detector", "bad", "crawler"),
    (false, "baiduadsbot", "baiduadsbot", "crawler"),
    (false, "bdbot/", "bdbot", "seo"),
    (false, "beeperbot", "beeperbot", "seo"),
    (false, "betteruptimebot", "betteruptimebot", "monitoring"),
    (false, "bnfbot", "bnfbot", "archiver"),
    (false, "bigupdatabot", "bigupdatabot", "seo"),
    (false, "binarycanary", "binarycanary", "monitoring"),
    (false, "bitbucket-webhooks", "bitbucket-webhooks", "seo"),
    (false, "bl.uk_ldfc_bot", "bl.uk_ldfc_bot", "archiver"),
    (false, "blackduck-fd", "blackduck-fd", "crawler"),
    (false, "blogtrottr", "blogtrottr", "feed"),
    (false, "blueskypreviewbot", "blueskypreviewbot", "social-preview"),
    (false, "boardgamepricesbot", "boardgamepricesbot", "seo"),
    (false, "botpoke", "botpoke", "seo"),
    (false, "bdfetch", "bdfetch", "seo"),
    (false, "brandwatch", "brandwatch", "seo"),
    (false, "brokenlinkcheck.com", "brokenlinkcheck.com", "seo"),
    (false, "bw/", "bw", "seo"),
    (false, "bushbaby", "bushbaby", "seo"),
    (false, "butterfly", "butterfly", "seo"),
    (false, "rss-parser", "rss-parser", "feed"),
    (false, "caliberbot", "caliberbot", "seo"),
    (false, "capitaloneshopping", "capitaloneshopping", "seo"),
    (false, "catchpoint", "catchpoint", "monitoring"),
    (false, "centuryb.o.t9", "centuryb.o.t9", "seo"),
    (false, "cert pl", "cert", "crawler"),
    (false, "certytags", "certytags", "seo"),
    (false, "chargebeebot", "chargebeebot", "seo"),
    (false, "charlotte", "charlotte", "seo"),
    (false, "chatwork linkpreview", "chatwork", "social-preview"),
    (false, "checkhost", "checkhost", "monitoring"),
    (false, "goodzer", "goodzer", "seo"),
    (false, "chrome privacy preserving prefetch proxy", "chrome", "seo"),
    (false, "cirrusexplorer", "cirrusexplorer", "seo"),
    (false, "classla-web", "classla-web", "crawler"),
    (false, "clearscopebot", "clearscopebot", "seo"),
    (false, "worldbot", "worldbot", "seo"),
    (false, "cloudflare-validator", "cloudflare-validator", "monitoring"),
    (false, "cloudflare-csup", "cloudflare-csup", "monitoring"),
    (false, "cloudflare-custom-error-page-crawler", "cloudflare-custom-error-page-crawler", "monitoring"),
    (false, "cloudflare-radar-scanner", "cloudflare-radar-scanner", "crawler"),
    (false, "cloudflare-speedtest", "cloudflare-speedtest", "monitoring"),
    (false, "cloudflare-stream-hook", "cloudflare-stream-hook", "seo"),
    (false, "cognitiveseo bot", "cognitiveseo", "seo"),
    (false, "commafeed", "commafeed", "feed"),
    (false, "researchscan.comsys.rwth-aachen.de", "researchscan.comsys.rwth-aachen.de", "crawler"),
    (false, "contentkingapp", "contentkingapp", "seo"),
    (false, "cookiehub bot", "cookiehub", "crawler"),
    (false, "coveobot", "coveobot", "search-engine"),
    (false, "crawlson", "crawlson", "seo"),
    (false, "repolookoutbot", "repolookoutbot", "seo"),
    (false, "criticalcss.com", "criticalcss.com", "seo"),
    (false, "cron-job.org", "cron-job.org", "monitoring"),
    (false, "dnbcrawler", "dnbcrawler", "seo"),
    (false, "dmbrowser", "dmbrowser", "monitoring"),
    (false, "domcopbot", "domcopbot", "seo"),
    (false, "downnotifier.com", "downnotifier.com", "monitoring"),
    (false, "downtimedetector/", "downtimedetector", "monitoring"),
    (false, "dlc/", "dlc", "seo"),
    (false, "dratabot", "dratabot", "crawler"),
    (false, "easybib autocite", "easybib", "crawler"),
    (false, "easybill-importmanager", "easybill-importmanager", "seo"),
    (false, "easycron/", "easycron", "monitoring"),
    (false, "easydns monitoring", "easydns", "monitoring"),
    (false, "echoboxbot/", "echoboxbot", "seo"),
    (false, "cronless", "cronless", "monitoring"),
    (false, "crusty/", "crusty", "seo"),
    (false, "csirt.cz", "csirt.cz", "crawler"),
    (false, "cxk_bot", "cxk_bot", "seo"),
    (false, "daumoa", "daumoa", "search-engine"),
    (false, "daspeedbot", "daspeedbot", "seo"),
    (false, "dead link checker", "dead", "seo"),
    (false, "deskyobot", "deskyobot", "seo"),
    (false, "detectify", "detectify", "crawler"),
    (false, "df bot", "df", "seo"),
    (false, "dingtalkbot-linkservice", "dingtalkbot-linkservice", "social-preview"),
    (false, "discourse forum onebox", "discourse", "social-preview"),
    (false, "dmbot", "dmbot", "seo"),
    (false, "sustainabilitycrawler", "sustainabilitycrawler", "seo"),
    (false, "edansbot", "edansbot", "seo"),
    (false, "edgewatch", "edgewatch", "monitoring"),
    (false, "do not track verifier", "do", "crawler"),
    (false, "elmahio-uptimebot", "elmahio-uptimebot", "monitoring"),
    (false, "emoneybot", "emoneybot", "seo"),
    (false, "epivozcrawler", "epivozcrawler", "seo"),
    (false, "erepublik.tools", "erepublik.tools", "seo"),
    (false, "evouptimebot", "evouptimebot", "monitoring"),
    (false, "exodusmovement", "exodusmovement", "seo"),
    (false, "ezgif", "ezgif", "seo"),
    (false, "fastmailua", "fastmailua", "social-preview"),
    (false, "fdl stats bot", "fdl", "seo"),
    (false, "fedicabot", "fedicabot", "seo"),
    (false, "fedreporterdatabot", "fedreporterdatabot", "seo"),
    (false, "feed image audit", "feed", "crawler"),
    (false, "feedburner", "feedburner", "feed"),
    (false, "feeder.co", "feeder.co", "feed"),
    (false, "feedpresso content index bot", "feedpresso", "feed"),
    (false, "feedwind", "feedwind", "feed"),
    (false, "fidget-spinner-bot", "fidget-spinner-bot", "seo"),
    (false, "firmograph", "firmograph", "seo"),
    (false, "flipboardrss", "flipboardrss", "feed"),
    (false, "foregenix", "foregenix", "crawler"),
    (false, "freespoke/", "freespoke", "search-engine"),
    (false, "friendly testing bot", "friendly", "seo"),
    (false, "friendly-spider", "friendly-spider", "seo"),
    (false, "friendlycrawler/", "friendlycrawler", "seo"),
    (false, "fullstorybot/", "fullstorybot", "seo"),
    (false, "funnelback", "funnelback", "search-engine"),
    (false, "fuseonbot/", "fuseonbot", "seo"),
    (false, "gabanzabot/", "gabanzabot", "search-engine"),
    (false, "gdnplus.com", "gdnplus.com", "seo"),
    (false, "getthit.com", "getthit.com", "seo"),
    (false, "gg peekbot", "gg", "social-preview"),
    (false, "ghost inspector", "ghost", "crawler"),
    (false, "github-camo", "github-camo", "social-preview"),
    (false, "globalwebsearch", "globalwebsearch", "search-engine"),
    (false, "golfe/", "golfe", "search-engine"),
    (false, "google-apps-script", "google-apps-script", "seo"),
    (false, "googlestackdrivermonitoring", "googlestackdrivermonitoring", "monitoring"),
    (false, "googleassociationservice/", "googleassociationservice", "seo"),
    (false, "googleimageproxy", "googleimageproxy", "social-preview"),
    (false, "googleproducer", "googleproducer", "search-engine"),
    (false, "googlebot-ia/", "googlebot-ia", "search-engine"),
    (false, "google-trust-services/", "google-trust-services", "crawler"),
    (false, "google-area120", "google-area120", "seo"),
    (false, "googledocs", "googledocs", "seo"),
    (false, "gopay", "gopay", "seo"),
    (false, "gotsitemonitor.com", "gotsitemonitor.com", "monitoring"),
    (false, "synthetic-monitoring-agent/", "synthetic-monitoring-agent", "monitoring"),
    (false, "grammarly/", "grammarly", "seo"),
    (false, "gregcrawler", "gregcrawler", "seo"),
    (false, "groovinaadsbot/", "groovinaadsbot", "crawler"),
    (false, "grover/", "grover", "seo"),
    (false, "gtmetrix", "gtmetrix", "monitoring"),
    (false, "guestpostsbot/", "guestpostsbot", "seo"),
    (false, "gulper web bot", "gulper", "crawler"),
    (false, "verity/", "verity", "crawler"),
    (false, "happywing", "happywing", "seo"),
    (false, "harsilbot/", "harsilbot", "seo"),
    (false, "hawaiibot", "hawaiibot", "seo"),
    (false, "hcardvalidator", "hcardvalidator", "seo"),
    (false, "hello world", "hello", "seo"),
    (false, "helloworkjobpostingbot/", "helloworkjobpostingbot", "seo"),
    (false, "hetrixtools", "hetrixtools", "monitoring"),
    (false, "hifibot/", "hifibot", "seo"),
    (false, "hlidam.to robot", "hlidam.to", "seo"),
    (false, "honeybadger uptime check", "honeybadger", "monitoring"),
    (false, "hosttracker/", "hosttracker", "monitoring"),
    (false, "hotjar", "hotjar", "seo"),
    (false, "hstspreload-bot", "hstspreload-bot", "crawler"),
    (false, "huckabot/", "huckabot", "seo"),
    (false, "hype machine/", "hype", "seo"),
    (false, "web screen service by hyperhost", "web", "seo"),
    (false, "adsbot-iab", "adsbot-iab", "crawler"),
    (false, "iaskbot/", "iaskbot", "search-engine"),
    (false, "ibm crawler", "ibm", "seo"),
    (false, "ifttt/", "ifttt", "seo"),
    (false, "imagefetcher/", "imagefetcher", "seo"),
    (false, "imagemind", "imagemind", "ai-agent"),
    (false, "imgproxy/", "imgproxy", "seo"),
    (false, "impendoom-bot/", "impendoom-bot", "seo"),
    (false, "indeedjobbot", "indeedjobbot", "search-engine"),
    (false, "innguma/", "innguma", "seo"),
    (false, "instapaper/", "instapaper", "seo"),
    (false, "integromat/", "integromat", "seo"),
    (false, "intelx.io_bot", "intelx.io_bot", "search-engine"),
    (false, "internetvista monitor", "internetvista", "monitoring"),
    (false, "irokez.cz monitoring", "irokez.cz", "monitoring"),
    (false, "isdownbot/", "isdownbot", "monitoring"),
    (false, "isscyberriskcrawler/", "isscyberriskcrawler", "crawler"),
    (false, "iubenda-radar/", "iubenda-radar", "crawler"),
    (false, "uptimebot/", "uptimebot", "monitoring"),
    (false, "jetmon/", "jetmon", "monitoring"),
    (false, "jobswithgptcom-bot", "jobswithgptcom-bot", "search-engine"),
    (false, "jumio", "jumio", "seo"),
    (false, "kagibot/", "kagibot", "search-engine"),
    (false, "kangaroobot/", "kangaroobot", "seo"),
    (false, "kargobot-artemis", "kargobot-artemis", "crawler"),
    (false, "kazbtbot/", "kazbtbot", "seo"),
    (false, "keycdn-tools/", "keycdn-tools", "monitoring"),
    (false, "keys-so-bot", "keys-so-bot", "seo"),
    (false, "kinsta-bot", "kinsta-bot", "seo"),
    (false, "klaviyo/", "klaviyo", "seo"),
    (false, "kukei.eu-bot/", "kukei.eu-bot", "seo"),
    (false, "lac_iaharvester", "lac_iaharvester", "archiver"),
    (false, "lastmodbot/", "lastmodbot", "seo"),
    (false, "legalmonster", "legalmonster", "crawler"),
    (false, "let's encrypt", "let's", "crawler"),
    (false, "level9searchbot/", "level9searchbot", "search-engine"),
    (false, "loc.gov/programs/web-archiving", "loc.gov", "archiver"),
    (false, "linerbot/", "linerbot", "ai-agent"),
    (false, "linktiger", "linktiger", "seo"),
    (false, "linkace/", "linkace", "archiver"),
    (false, "linksindexerbot/", "linksindexerbot", "seo"),
    (false, "linkwalker/", "linkwalker", "seo"),
    (false, "logicmonitor", "logicmonitor", "monitoring"),
    (false, "loomlybot", "loomlybot", "social-preview"),
    (false, "macrobondbot", "macrobondbot", "seo"),
    (false, "madbbot/", "madbbot", "seo"),
    (false, "magellan", "magellan", "seo"),
    (false, "magicsearchdev/", "magicsearchdev", "seo"),
    (false, "magnet.me-web/", "magnet.me-web", "seo"),
    (false, "mainwp/", "mainwp", "seo"),
    (false, "make/", "make", "seo"),
    (false, "managewp", "managewp", "seo"),
    (false, "marketgoo/", "marketgoo", "seo"),
    (false, "marketingminer", "marketingminer", "seo"),
    (false, "mattermost-bot/", "mattermost-bot", "social-preview"),
    (false, "mavifinds", "mavifinds", "seo"),
    (false, "mb-linkchecker", "mb-linkchecker", "seo"),
    (false, "medialogiabot", "medialogiabot", "seo"),
    (false, "mediamonitoringbot/", "mediamonitoringbot", "seo"),
    (false, "mediavinemetadataparser/", "mediavinemetadataparser", "crawler"),
    (false, "pywikibot/", "pywikibot", "seo"),
    (false, "centcombot/", "centcombot", "seo"),
    (false, "mergadobot", "mergadobot", "seo"),
    (false, "meta-externalhit/", "meta-externalhit", "social-preview"),
    (false, "metorik", "metorik", "seo"),
    (false, "mgidbot", "mgidbot", "crawler"),
    (false, "miniature.io/", "miniature.io", "archiver"),
    (false, "mirrorweb.com", "mirrorweb.com", "archiver"),
    (false, "missinglettrbot/", "missinglettrbot", "seo"),
    (false, "crawler_eb_germany", "crawler_eb_germany", "seo"),
    (false, "modularconnector/", "modularconnector", "seo"),
    (false, "mollie http client", "mollie", "seo"),
    (false, "monibot", "monibot", "seo"),
    (false, "monitis -", "monitis", "monitoring"),
    (false, "monitorss/", "monitorss", "feed"),
    (false, "monspark/", "monspark", "monitoring"),
    (false, "montastic-monitor", "montastic-monitor", "monitoring"),
    (false, "montools.com", "montools.com", "seo"),
    (false, "motominerbot/", "motominerbot", "seo"),
    (false, "mrgbot/", "mrgbot", "crawler"),
    (false, "mxtoolbox", "mxtoolbox", "monitoring"),
    (false, "my-tiny-bot", "my-tiny-bot", "seo"),
    (false, "mybot/", "mybot", "seo"),
    (false, "nbertaupete95", "nbertaupete95", "seo"),
    (false, "netapi", "netapi", "seo"),
    (false, "netpeakcheckerbot/", "netpeakcheckerbot", "seo"),
    (false, "netshelter contentscan", "netshelter", "crawler"),
    (false, "netvigie", "netvigie", "monitoring"),
    (false, "newrelicbot/", "newrelicbot", "monitoring"),
    (false, "nyt_scraping", "nyt_scraping", "seo"),
    (false, "newsnow/", "newsnow", "seo"),
    (false, "nlnz_iaharvester", "nlnz_iaharvester", "archiver"),
    (false, "nodeping", "nodeping", "monitoring"),
    (false, "nomore404.com robot", "nomore404.com", "seo"),
    (false, "noorobot", "noorobot", "seo"),
    (false, "nooshub/", "nooshub", "seo"),
    (false, "notabot", "notabot", "seo"),
    (false, "novaact/", "novaact", "seo"),
    (false, "novellum", "novellum", "ai-agent"),
    (false, "nstoolsbot/", "nstoolsbot", "crawler"),
    (false, "nvdorz", "nvdorz", "seo"),
    (false, "odin;", "odin;", "seo"),
    (false, "offline explorer", "offline", "archiver"),
    (false, "ohdear/", "ohdear", "monitoring"),
    (false, "omnisend/", "omnisend", "seo"),
    (false, "online domain tools", "online", "seo"),
    (false, "webceo online/", "webceo", "seo"),
    (false, "onlineornot.com_bot", "onlineornot.com_bot", "monitoring"),
    (false, "opengraph.io/", "opengraph.io", "social-preview"),
    (false, "openrss", "openrss", "feed"),
    (false, "openvas", "openvas", "crawler"),
    (false, "operator/", "operator", "seo"),
    (false, "orbbot/", "orbbot", "seo"),
    (false, "zebra-v2-bot", "zebra-v2-bot", "seo"),
    (false, "orlo-linkpreview/", "orlo-linkpreview", "social-preview"),
    (false, "cozi-icalendar-feedreader", "cozi-icalendar-feedreader", "feed"),
    (false, "outsellurlvalidator", "outsellurlvalidator", "seo"),
    (false, "overcast/", "overcast", "feed"),
    (false, "prtgcloudbot/", "prtgcloudbot", "monitoring"),
    (false, "pagespeed/", "pagespeed", "monitoring"),
    (false, "panopta", "panopta", "monitoring"),
    (false, "paqlebot/", "paqlebot", "seo"),
    (false, "parse.ly scraper/", "parse.ly", "seo"),
    (false, "paypal/", "paypal", "seo"),
    (false, "pdf24 url to pdf", "pdf24", "seo"),
    (false, "pingadmin.ru/", "pingadmin.ru", "monitoring"),
    (false, "pingping.io/", "pingping.io", "monitoring"),
    (false, "playstore-google", "playstore-google", "search-engine"),
    (false, "plesk screenshot bot", "plesk", "seo"),
    (false, "pocketcasts/", "pocketcasts", "feed"),
    (false, "potions/", "potions", "seo"),
    (false, "pressenginebot", "pressenginebot", "seo"),
    (false, "pricedroneshoppingbot/", "pricedroneshoppingbot", "seo"),
    (false, "priecobot/", "priecobot", "seo"),
    (false, "printfriendly.com", "printfriendly.com", "seo"),
    (false, "pro-sitemaps/", "pro-sitemaps", "seo"),
    (false, "probelyspdr/", "probelyspdr", "crawler"),
    (false, "projectshield-urlcheck", "projectshield-urlcheck", "crawler"),
    (false, "blackbox exporter/", "blackbox", "monitoring"),
    (false, "protopage/", "protopage", "feed"),
    (false, "ps_daily/", "ps_daily", "seo"),
    (false, "pulsetic.com", "pulsetic.com", "monitoring"),
    (false, "pwabuilderhttpagent", "pwabuilderhttpagent", "seo"),
    (false, "qualifiedbot/", "qualifiedbot", "seo"),
    (false, "quantcastbot/", "quantcastbot", "crawler"),
    (false, "rackspace monitoring/", "rackspace", "monitoring"),
    (false, "rakutenusabot-image/", "rakutenusabot-image", "seo"),
    (false, "top100.rambler.ru crawler", "top100.rambler.ru", "search-engine"),
    (false, "rankurbot/", "rankurbot", "seo"),
    (false, "ravencrawler/", "ravencrawler", "seo"),
    (false, "readable/", "readable", "seo"),
    (false, "recurly webhooks/", "recurly", "seo"),
    (false, "red/", "red", "monitoring"),
    (false, "reelevant/", "reelevant", "seo"),
    (false, "remove.bg/", "remove.bg", "seo"),
    (false, "retool/", "retool", "seo"),
    (false, "retrolistecom/", "retrolistecom", "seo"),
    (false, "revvimgort/", "revvimgort", "seo"),
    (false, "reward-gateway", "reward-gateway", "seo"),
    (false, "robotschecker/", "robotschecker", "seo"),
    (false, "rssapi/", "rssapi", "feed"),
    (false, "rss2tg", "rss2tg", "feed"),
    (false, "rssreaderbot", "rssreaderbot", "feed"),
    (false, "s4a-probe-bot/", "s4a-probe-bot", "seo"),
    (false, "sfdc-callout/", "sfdc-callout", "seo"),
    (false, "page-preview-tool", "page-preview-tool", "seo"),
    (false, "sandobacrawler/", "sandobacrawler", "seo"),
    (false, "sansec security monitor/", "sansec", "crawler"),
    (false, "giftedvisitor scan", "giftedvisitor", "seo"),
    (false, "schema-markup-validator", "schema-markup-validator", "seo"),
    (false, "scoop.it/", "scoop.it", "seo"),
    (false, "scourrssbot/", "scourrssbot", "feed"),
    (false, "scrapeherobot/", "scrapeherobot", "seo"),
    (false, "screeenly-bot", "screeenly-bot", "seo"),
    (false, "sebot-wa", "sebot-wa", "seo"),
    (false, "searcherweb", "searcherweb", "search-engine"),
    (false, "searcherxweb", "searcherxweb", "search-engine"),
    (false, "searchexpress", "searchexpress", "search-engine"),
    (false, "securityheaders", "securityheaders", "crawler"),
    (false, "semaltbot/", "semaltbot", "seo"),
    (false, "sendgrid event api", "sendgrid", "seo"),
    (false, "sentryuptimebot/", "sentryuptimebot", "monitoring"),
    (false, "seo-audit-check-bot/", "seo-audit-check-bot", "seo"),
    (false, "s4a/", "s4a", "seo"),
    (false, "claritybot/", "claritybot", "seo"),
    (false, "seositecheckup", "seositecheckup", "seo"),
    (false, "seoulbot", "seoulbot", "seo"),
    (false, "serptimizerbot", "serptimizerbot", "seo"),
    (false, "server density service monitoring", "server", "monitoring"),
    (false, "serverhunterspider/", "serverhunterspider", "seo"),
    (false, "seznamhomepagecrawler/", "seznamhomepagecrawler", "search-engine"),
    (false, "shopify-captain-hook", "shopify-captain-hook", "seo"),
    (false, "shortwave image fetcher", "shortwave", "social-preview"),
    (false, "linkreader/", "linkreader", "ai-agent"),
    (true, "silk/", "silk", "seo"),
    (false, "sincerasyntheticuser/", "sincerasyntheticuser", "seo"),
    (false, "site24x7", "site24x7", "monitoring"),
    (false, "siteauditbot/", "siteauditbot", "seo"),
    (false, "sitecheck-sitecrawl", "sitecheck-sitecrawl", "seo"),
    (false, "sitescorebot", "sitescorebot", "seo"),
    (false, "sitesearch360/", "sitesearch360", "search-engine"),
    (false, "siteuptime.com", "siteuptime.com", "monitoring"),
    (false, "konturbot/", "konturbot", "seo"),
    (false, "skroutzbot", "skroutzbot", "seo"),
    (false, "skyworkspider", "skyworkspider", "seo"),
    (false, "slickbot/", "slickbot", "seo"),
    (false, "smartologybot/", "smartologybot", "crawler"),
    (false, "snapurlpreview/", "snapurlpreview", "social-preview"),
    (false, "snapchatads/", "snapchatads", "crawler"),
    (false, "snipcart/", "snipcart", "seo"),
    (false, "solarwinds/", "solarwinds", "monitoring"),
    (false, "sora pos/", "sora", "seo"),
    (false, "sparkshipping", "sparkshipping", "seo"),
    (false, "sparkpost", "sparkpost", "seo"),
    (false, "spawning-ai", "spawning-ai", "ai-agent"),
    (false, "idg/eu", "idg", "seo"),
    (false, "specificfeeds", "specificfeeds", "feed"),
    (false, "spectate/", "spectate", "monitoring"),
    (false, "spiderling", "spiderling", "crawler"),
    (false, "splash version/", "splash", "crawler"),
    (false, "twinwavescanner", "twinwavescanner", "crawler"),
    (false, "ssssbot/", "ssssbot", "seo"),
    (false, "stape/", "stape", "seo"),
    (false, "startpageprivateimageproxy/", "startpageprivateimageproxy", "search-engine"),
    (false, "statabot/", "statabot", "seo"),
    (false, "statistikaustria/", "statistikaustria", "seo"),
    (false, "statsdronebot", "statsdronebot", "seo"),
    (false, "stripe/", "stripe", "seo"),
    (false, "sucuri", "sucuri", "crawler"),
    (false, "svix-webhooks/", "svix-webhooks", "seo"),
    (false, "swifteqlinkchecker", "swifteqlinkchecker", "seo"),
    (false, "swisscows", "swisscows", "search-engine"),
    (false, "datadog synthetic", "datadog", "monitoring"),
    (false, "tactiscout/", "tactiscout", "seo"),
    (false, "tchelebi/", "tchelebi", "seo"),
    (false, "bitdiscovery", "bitdiscovery", "crawler"),
    (false, "test certificate info", "test", "crawler"),
    (false, "testcrawler", "testcrawler", "seo"),
    (false, "test-bot", "test-bot", "seo"),
    (false, "testlocally/", "testlocally", "crawler"),
    (false, "testuri", "testuri", "seo"),
    (false, "textrazor", "textrazor", "seo"),
    (false, "the knowledge ai", "the", "ai-agent"),
    (false, "theinternetsearchx", "theinternetsearchx", "search-engine"),
    (false, "thesis-research-bot", "thesis-research-bot", "crawler"),
    (false, "trellis-services", "trellis-services", "seo"),
    (false, "trentwil.es", "trentwil.es", "seo"),
    (false, "trustly/", "trustly", "seo"),
    (false, "ttd-content", "ttd-content", "crawler"),
    (false, "tweakers", "tweakers", "seo"),
    (false, "twilioproxy/", "twilioproxy", "social-preview"),
    (false, "uaslinkchecker/", "uaslinkchecker", "seo"),
    (false, "hgfalphaxcrawl/", "hgfalphaxcrawl", "crawler"),
    (false, "updown.io", "updown.io", "monitoring"),
    (false, "uptime/", "uptime", "monitoring"),
    (false, "uptimedoctor", "uptimedoctor", "monitoring"),
    (false, "uptimia", "uptimia", "monitoring"),
    (false, "uptrends", "uptrends", "monitoring"),
    (false, "urlcheckr/", "urlcheckr", "seo"),
    (false, "urlsumabot", "urlsumabot", "seo"),
    (false, "useebookchecker/", "useebookchecker", "seo"),
    (false, "vagabondo/", "vagabondo", "seo"),
    (false, "vaultpress", "vaultpress", "crawler"),
    (false, "videootvbot", "videootvbot", "seo"),
    (false, "vsusearchspider/", "vsusearchspider", "search-engine"),
    (false, "vu-server-health-scanner/", "vu-server-health-scanner", "crawler"),
    (false, "wardbot/", "wardbot", "seo"),
    (false, "websiteops", "websiteops", "monitoring"),
    (false, "watchmouse", "watchmouse", "monitoring"),
    (false, "web measure/", "web", "crawler"),
    (false, "webflow", "webflow", "seo"),
    (false, "webgains-bot", "webgains-bot", "crawler"),
    (false, "webprosbot/", "webprosbot", "seo"),
    (false, "websitepulse", "websitepulse", "monitoring"),
    (false, "websniffer/", "websniffer", "seo"),
    (false, "wsm/", "wsm", "seo"),
    (false, "webwikibot/", "webwikibot", "seo"),
    (false, "wedos online", "wedos", "monitoring"),
    (false, "whatsmyip.org", "whatsmyip.org", "seo"),
    (false, "whatweb/", "whatweb", "crawler"),
    (false, "wheregoes.com", "wheregoes.com", "seo"),
    (false, "wheresitup.com/", "wheresitup.com", "monitoring"),
    (false, "citoid", "citoid", "crawler"),
    (false, "wirereaderbot/", "wirereaderbot", "seo"),
    (false, "zoterotranslationserver/wmf", "zoterotranslationserver", "crawler"),
    (false, "wmtips.com/", "wmtips.com", "seo"),
    (false, "wordcountbot/", "wordcountbot", "seo"),
    (false, "wordup-1", "wordup-1", "seo"),
    (false, "workona-favicon-service/", "workona-favicon-service", "seo"),
    (false, "indy library", "indy", "seo"),
    (false, "wjhro/", "wjhro", "seo"),
    (false, "wormlybot", "wormlybot", "monitoring"),
    (false, "wovncrawler/", "wovncrawler", "seo"),
    (false, "wowlink crawler/", "wowlink", "seo"),
    (false, "wp time capsule", "wp", "seo"),
    (false, "wpumbrella", "wpumbrella", "monitoring"),
    (false, "wpbot/", "wpbot", "seo"),
    (false, "wpmu dev broken link checker", "wpmu", "seo"),
    (false, "wpmudev uptime monitor", "wpmudev", "monitoring"),
    (false, "wpsec/", "wpsec", "crawler"),
    (false, "abuse.xmco.fr", "abuse.xmco.fr", "crawler"),
    (false, "xy-archive-compliance", "xy-archive-compliance", "archiver"),
    (false, "yahoo ad monitoring", "yahoo", "crawler"),
    (false, "yahoomailproxy", "yahoomailproxy", "social-preview"),
    (false, "yahoocachesystem", "yahoocachesystem", "seo"),
    (false, "ylt chrome", "ylt", "monitoring"),
    (false, "yokoygroupag/", "yokoygroupag", "seo"),
    (false, "yuuperbot", "yuuperbot", "seo"),
    (false, "zapier", "zapier", "seo"),
    (false, "zendesk webhook", "zendesk", "seo"),
    (false, "zombiebot/", "zombiebot", "seo"),
    (false, "zzhbot", "zzhbot", "seo"),
    (false, "penthouse critical path css generator", "penthouse", "seo"),
    (false, "google-adwords-express", "google-adwords-express", "crawler"),
    (false, "notion/", "notion", "social-preview"),
    (false, "skroutz imagebot", "skroutz", "seo"),
    (false, "tumblr/", "tumblr", "social-preview"),
    (false, "upday/", "upday", "feed"),
    (false, "watchtowr", "watchtowr", "crawler"),
    (false, "prtg network monitor", "prtg", "monitoring"),
    (false, "geedoshopproductfinder", "geedoshopproductfinder", "search-engine"),
    (false, "watchforbot", "watchforbot", "monitoring"),
    (false, "listgembot", "listgembot", "social-preview"),
    (false, "isonsearchbot", "isonsearchbot", "search-engine"),
    (false, "9bot/", "9bot", "social-preview"),
    (false, "isonai-user", "isonai-user", "ai-agent"),
    (false, "infosifter", "infosifter", "monitoring"),
];
// 30 crawler-user-agents patterns are real regexes and aren't used.

/// Published crawler networks: `(name, group, kind, UA token it verifies, prefixes)`.
pub(super) const RANGES: &[(&str, &str, &str, &str, &[&str])] = &[
    ("Googlebot", "bot", "search-engine", "googlebot", &["192.178.4.0/27", "192.178.4.128/27", "192.178.4.160/27", "192.178.4.192/27", "192.178.4.224/27", "192.178.4.32/27", "192.178.4.64/27", "192.178.4.96/27", "192.178.5.0/27", "192.178.6.0/27", "192.178.6.128/27", "192.178.6.160/27", "192.178.6.192/27", "192.178.6.224/27", "192.178.6.32/27", "192.178.6.64/27", "192.178.6.96/27", "192.178.7.0/27", "192.178.7.128/27", "192.178.7.160/27", "192.178.7.192/27", "192.178.7.224/27", "192.178.7.32/27", "192.178.7.64/27", "192.178.7.96/27", "2001:4860:4801:10::/64", "2001:4860:4801:11::/64", "2001:4860:4801:12::/64", "2001:4860:4801:13::/64", "2001:4860:4801:14::/64", "2001:4860:4801:15::/64", "2001:4860:4801:16::/64", "2001:4860:4801:17::/64", "2001:4860:4801:18::/64", "2001:4860:4801:19::/64", "2001:4860:4801:1a::/64", "2001:4860:4801:1b::/64", "2001:4860:4801:1c::/64", "2001:4860:4801:1d::/64", "2001:4860:4801:1e::/64", "2001:4860:4801:1f::/64", "2001:4860:4801:20::/64", "2001:4860:4801:21::/64", "2001:4860:4801:22::/64", "2001:4860:4801:23::/64", "2001:4860:4801:24::/64", "2001:4860:4801:25::/64", "2001:4860:4801:26::/64", "2001:4860:4801:27::/64", "2001:4860:4801:28::/64", "2001:4860:4801:29::/64", "2001:4860:4801:2::/64", "2001:4860:4801:2a::/64", "2001:4860:4801:2b::/64", "2001:4860:4801:2c::/64", "2001:4860:4801:2d::/64", "2001:4860:4801:2e::/64", "2001:4860:4801:2f::/64", "2001:4860:4801:30::/64", "2001:4860:4801:31::/64", "2001:4860:4801:32::/64", "2001:4860:4801:33::/64", "2001:4860:4801:34::/64", "2001:4860:4801:35::/64", "2001:4860:4801:36::/64", "2001:4860:4801:37::/64", "2001:4860:4801:38::/64", "2001:4860:4801:39::/64", "2001:4860:4801:3a::/64", "2001:4860:4801:3b::/64", "2001:4860:4801:3c::/64", "2001:4860:4801:3d::/64", "2001:4860:4801:3e::/64", "2001:4860:4801:3f::/64", "2001:4860:4801:40::/64", "2001:4860:4801:41::/64", "2001:4860:4801:42::/64", "2001:4860:4801:43::/64", "2001:4860:4801:44::/64", "2001:4860:4801:45::/64", "2001:4860:4801:46::/64", "2001:4860:4801:47::/64", "2001:4860:4801:48::/64", "2001:4860:4801:49::/64", "2001:4860:4801:4a::/64", "2001:4860:4801:4b::/64", "2001:4860:4801:4c::/64", "2001:4860:4801:4d::/64", "2001:4860:4801:4e::/64", "2001:4860:4801:50::/64", "2001:4860:4801:51::/64", "2001:4860:4801:52::/64", "2001:4860:4801:53::/64", "2001:4860:4801:54::/64", "2001:4860:4801:55::/64", "2001:4860:4801:56::/64", "2001:4860:4801:57::/64", "2001:4860:4801:58::/64", "2001:4860:4801:59::/64", "2001:4860:4801:60::/64", "2001:4860:4801:61::/64", "2001:4860:4801:62::/64", "2001:4860:4801:63::/64", "2001:4860:4801:64::/64", "2001:4860:4801:65::/64", "2001:4860:4801:66::/64", "2001:4860:4801:67::/64", "2001:4860:4801:68::/64", "2001:4860:4801:69::/64", "2001:4860:4801:6a::/64", "2001:4860:4801:6b::/64", "2001:4860:4801:6c::/64", "2001:4860:4801:6d::/64", "2001:4860:4801:6e::/64", "2001:4860:4801:6f::/64", "2001:4860:4801:70::/64", "2001:4860:4801:71::/64", "2001:4860:4801:72::/64", "2001:4860:4801:73::/64", "2001:4860:4801:74::/64", "2001:4860:4801:75::/64", "2001:4860:4801:76::/64", "2001:4860:4801:77::/64", "2001:4860:4801:78::/64", "2001:4860:4801:79::/64", "2001:4860:4801:7a::/64", "2001:4860:4801:7b::/64", "2001:4860:4801:7c::/64", "2001:4860:4801:7d::/64", "2001:4860:4801:7e::/64", "2001:4860:4801:7f::/64", "2001:4860:4801:80::/64", "2001:4860:4801:81::/64", "2001:4860:4801:82::/64", "2001:4860:4801:83::/64", "2001:4860:4801:84::/64", "2001:4860:4801:85::/64", "2001:4860:4801:86::/64", "2001:4860:4801:87::/64", "2001:4860:4801:88::/64", "2001:4860:4801:90::/64", "2001:4860:4801:91::/64", "2001:4860:4801:92::/64", "2001:4860:4801:93::/64", "2001:4860:4801:94::/64", "2001:4860:4801:95::/64", "2001:4860:4801:96::/64", "2001:4860:4801:97::/64", "2001:4860:4801:a0::/64", "2001:4860:4801:a1::/64", "2001:4860:4801:a2::/64", "2001:4860:4801:a3::/64", "2001:4860:4801:a4::/64", "2001:4860:4801:a5::/64", "2001:4860:4801:a6::/64", "2001:4860:4801:a7::/64", "2001:4860:4801:a8::/64", "2001:4860:4801:a9::/64", "2001:4860:4801:aa::/64", "2001:4860:4801:ab::/64", "2001:4860:4801:ac::/64", "2001:4860:4801:ad::/64", "2001:4860:4801:ae::/64", "2001:4860:4801:b0::/64", "2001:4860:4801:b1::/64", "2001:4860:4801:b2::/64", "2001:4860:4801:b3::/64", "2001:4860:4801:b4::/64", "2001:4860:4801:b5::/64", "2001:4860:4801:b6::/64", "2001:4860:4801:c::/64", "2001:4860:4801:f::/64", "34.100.182.96/28", "34.101.50.144/28", "34.118.254.0/28", "34.118.66.0/28", "34.126.178.96/28", "34.146.150.144/28", "34.147.110.144/28", "34.151.74.144/28", "34.152.50.64/28", "34.154.114.144/28", "34.155.98.32/28", "34.165.18.176/28", "34.175.160.64/28", "34.176.130.16/28", "34.22.85.0/27", "34.64.82.64/28", "34.65.242.112/28", "34.80.50.80/28", "34.88.194.0/28", "34.89.10.80/28", "34.89.198.80/28", "34.96.162.48/28", "35.247.243.240/28", "66.249.64.0/27", "66.249.64.128/27", "66.249.64.160/27", "66.249.64.192/27", "66.249.64.224/27", "66.249.64.32/27", "66.249.64.64/27", "66.249.64.96/27", "66.249.65.0/27", "66.249.65.128/27", "66.249.65.160/27", "66.249.65.192/27", "66.249.65.224/27", "66.249.65.32/27", "66.249.65.64/27", "66.249.65.96/27", "66.249.66.0/27", "66.249.66.128/27", "66.249.66.160/27", "66.249.66.192/27", "66.249.66.224/27", "66.249.66.32/27", "66.249.66.64/27", "66.249.66.96/27", "66.249.67.0/27", "66.249.67.32/27", "66.249.67.64/27", "66.249.68.0/27", "66.249.68.128/27", "66.249.68.160/27", "66.249.68.192/27", "66.249.68.224/27", "66.249.68.32/27", "66.249.68.64/27", "66.249.68.96/27", "66.249.69.0/27", "66.249.69.128/27", "66.249.69.160/27", "66.249.69.192/27", "66.249.69.224/27", "66.249.69.32/27", "66.249.69.64/27", "66.249.69.96/27", "66.249.70.0/27", "66.249.70.128/27", "66.249.70.160/27", "66.249.70.192/27", "66.249.70.224/27", "66.249.70.32/27", "66.249.70.64/27", "66.249.70.96/27", "66.249.71.0/27", "66.249.71.128/27", "66.249.71.160/27", "66.249.71.192/27", "66.249.71.224/27", "66.249.71.32/27", "66.249.71.64/27", "66.249.71.96/27", "66.249.72.0/27", "66.249.72.128/27", "66.249.72.160/27", "66.249.72.192/27", "66.249.72.224/27", "66.249.72.32/27", "66.249.72.64/27", "66.249.72.96/27", "66.249.73.0/27", "66.249.73.128/27", "66.249.73.160/27", "66.249.73.192/27", "66.249.73.224/27", "66.249.73.32/27", "66.249.73.64/27", "66.249.73.96/27", "66.249.74.0/27", "66.249.74.128/27", "66.249.74.160/27", "66.249.74.192/27", "66.249.74.224/27", "66.249.74.32/27", "66.249.74.64/27", "66.249.74.96/27", "66.249.75.0/27", "66.249.75.128/27", "66.249.75.160/27", "66.249.75.192/27", "66.249.75.224/27", "66.249.75.32/27", "66.249.75.64/27", "66.249.75.96/27", "66.249.76.0/27", "66.249.76.128/27", "66.249.76.160/27", "66.249.76.192/27", "66.249.76.224/27", "66.249.76.32/27", "66.249.76.64/27", "66.249.76.96/27", "66.249.77.0/27", "66.249.77.128/27", "66.249.77.160/27", "66.249.77.192/27", "66.249.77.224/27", "66.249.77.32/27", "66.249.77.64/27", "66.249.77.96/27", "66.249.78.0/27", "66.249.78.128/27", "66.249.78.160/27", "66.249.78.192/27", "66.249.78.224/27", "66.249.78.32/27", "66.249.78.64/27", "66.249.78.96/27", "66.249.79.0/27", "66.249.79.128/27", "66.249.79.160/27", "66.249.79.192/27", "66.249.79.224/27", "66.249.79.32/27", "66.249.79.64/27"]),
    ("Google special crawlers", "bot", "search-engine", "", &["108.177.2.0/27", "108.177.2.128/27", "108.177.2.160/27", "108.177.2.192/27", "108.177.2.224/27", "108.177.2.32/27", "108.177.2.64/27", "108.177.2.96/27", "192.178.16.0/27", "192.178.16.128/27", "192.178.16.160/27", "192.178.16.192/27", "192.178.16.224/27", "192.178.16.32/27", "192.178.16.64/27", "192.178.16.96/27", "192.178.17.0/27", "2001:4860:4801:2008::/64", "2001:4860:4801:200c::/64", "2001:4860:4801:200d::/64", "2001:4860:4801:2010::/64", "2001:4860:4801:2011::/64", "2001:4860:4801:2012::/64", "2001:4860:4801:2013::/64", "2001:4860:4801:2014::/64", "2001:4860:4801:2015::/64", "2001:4860:4801:2016::/64", "2001:4860:4801:2017::/64", "2001:4860:4801:2018::/64", "2001:4860:4801:2019::/64", "2001:4860:4801:201a::/64", "2001:4860:4801:201b::/64", "2001:4860:4801:201c::/64", "2001:4860:4801:201d::/64", "2001:4860:4801:201e::/64", "2001:4860:4801:201f::/64", "2001:4860:4801:2020::/64", "2001:4860:4801:2021::/64", "2001:4860:4801:2022::/64", "2001:4860:4801:2023::/64", "2001:4860:4801:2024::/64", "2001:4860:4801:2025::/64", "2001:4860:4801:2026::/64", "2001:4860:4801:2027::/64", "2001:4860:4801:2028::/64", "2001:4860:4801:2029::/64", "2001:4860:4801:202a::/64", "2001:4860:4801:202b::/64", "2001:4860:4801:202c::/64", "2001:4860:4801:202d::/64", "2001:4860:4801:202e::/64", "2001:4860:4801:202f::/64", "2001:4860:4801:2030::/64", "2001:4860:4801:2031::/64", "2001:4860:4801:2032::/64", "2001:4860:4801:2033::/64", "2001:4860:4801:2034::/64", "2001:4860:4801:2035::/64", "2001:4860:4801:2036::/64", "2001:4860:4801:2037::/64", "2001:4860:4801:2038::/64", "2001:4860:4801:2039::/64", "2001:4860:4801:203a::/64", "2001:4860:4801:203b::/64", "2001:4860:4801:203c::/64", "2001:4860:4801:203d::/64", "2001:4860:4801:203e::/64", "2001:4860:4801:203f::/64", "2001:4860:4801:2040::/64", "2001:4860:4801:2041::/64", "2001:4860:4801:2042::/64", "2001:4860:4801:2043::/64", "2001:4860:4801:2044::/64", "2001:4860:4801:2045::/64", "2001:4860:4801:2046::/64", "2001:4860:4801:2047::/64", "2001:4860:4801:2048::/64", "2001:4860:4801:2049::/64", "2001:4860:4801:204a::/64", "2001:4860:4801:204b::/64", "2001:4860:4801:204c::/64", "2001:4860:4801:204d::/64", "2001:4860:4801:204e::/64", "2001:4860:4801:2050::/64", "2001:4860:4801:2051::/64", "2001:4860:4801:2052::/64", "2001:4860:4801:2053::/64", "2001:4860:4801:2054::/64", "2001:4860:4801:2055::/64", "2001:4860:4801:2056::/64", "2001:4860:4801:2060::/64", "2001:4860:4801:2061::/64", "2001:4860:4801:2062::/64", "2001:4860:4801:2063::/64", "2001:4860:4801:2064::/64", "2001:4860:4801:2065::/64", "2001:4860:4801:2066::/64", "2001:4860:4801:2067::/64", "2001:4860:4801:2068::/64", "2001:4860:4801:2069::/64", "2001:4860:4801:206a::/64", "2001:4860:4801:206b::/64", "2001:4860:4801:206c::/64", "2001:4860:4801:206d::/64", "2001:4860:4801:206e::/64", "2001:4860:4801:206f::/64", "2001:4860:4801:2070::/64", "2001:4860:4801:2071::/64", "2001:4860:4801:2072::/64", "2001:4860:4801:2073::/64", "2001:4860:4801:2074::/64", "2001:4860:4801:2075::/64", "2001:4860:4801:2076::/64", "2001:4860:4801:2077::/64", "2001:4860:4801:2078::/64", "2001:4860:4801:2079::/64", "2001:4860:4801:207a::/64", "2001:4860:4801:207b::/64", "2001:4860:4801:207c::/64", "2001:4860:4801:207d::/64", "2001:4860:4801:207e::/64", "2001:4860:4801:207f::/64", "2001:4860:4801:2080::/64", "2001:4860:4801:2081::/64", "2001:4860:4801:2082::/64", "2001:4860:4801:2083::/64", "2001:4860:4801:2084::/64", "2001:4860:4801:2085::/64", "2001:4860:4801:2086::/64", "2001:4860:4801:2087::/64", "2001:4860:4801:2088::/64", "2001:4860:4801:2090::/64", "2001:4860:4801:2091::/64", "2001:4860:4801:2092::/64", "2001:4860:4801:2093::/64", "2001:4860:4801:2094::/64", "2001:4860:4801:2095::/64", "2001:4860:4801:2096::/64", "2001:4860:4801:2097::/64", "2001:4860:4801:20a0::/64", "2001:4860:4801:20a1::/64", "2001:4860:4801:20a2::/64", "2001:4860:4801:20a3::/64", "2001:4860:4801:20a4::/64", "2001:4860:4801:20a5::/64", "2001:4860:4801:20a6::/64", "2001:4860:4801:20b0::/64", "2001:4860:4801:20b1::/64", "2001:4860:4801:20b2::/64", "2001:4860:4801:20b3::/64", "2001:4860:4801:20b4::/64", "2001:4860:4801:20b5::/64", "2001:4860:4801:20b6::/64", "209.85.238.0/27", "209.85.238.128/27", "209.85.238.160/27", "209.85.238.192/27", "209.85.238.224/27", "209.85.238.32/27", "209.85.238.64/27", "209.85.238.96/27", "66.249.87.0/27", "66.249.87.128/27", "66.249.87.160/27", "66.249.87.192/27", "66.249.87.224/27", "66.249.87.32/27", "66.249.87.64/27", "66.249.87.96/27", "66.249.89.0/27", "66.249.89.128/27", "66.249.89.160/27", "66.249.89.192/27", "66.249.89.224/27", "66.249.89.32/27", "66.249.89.64/27", "66.249.89.96/27", "66.249.90.0/27", "66.249.90.128/27", "66.249.90.160/27", "66.249.90.192/27", "66.249.90.224/27", "66.249.90.32/27", "66.249.90.64/27", "66.249.90.96/27", "66.249.91.0/27", "66.249.91.128/27", "66.249.91.160/27", "66.249.91.192/27", "66.249.91.224/27", "66.249.91.32/27", "66.249.91.64/27", "66.249.91.96/27", "66.249.92.0/27", "66.249.92.128/27", "66.249.92.160/27", "66.249.92.192/27", "66.249.92.224/27", "66.249.92.32/27", "66.249.92.64/27", "66.249.92.96/27", "72.14.199.0/27", "72.14.199.128/27", "72.14.199.160/27", "72.14.199.192/27", "72.14.199.224/27", "72.14.199.32/27", "72.14.199.64/27", "72.14.199.96/27", "74.125.148.0/27", "74.125.148.128/27", "74.125.148.160/27", "74.125.148.192/27", "74.125.148.224/27", "74.125.148.32/27", "74.125.148.64/27", "74.125.148.96/27", "74.125.149.0/27", "74.125.149.128/27", "74.125.149.160/27", "74.125.149.192/27", "74.125.149.224/27", "74.125.149.32/27", "74.125.149.64/27", "74.125.149.96/27", "74.125.150.0/27", "74.125.150.128/27", "74.125.150.160/27", "74.125.150.192/27", "74.125.150.32/27", "74.125.150.64/27", "74.125.150.96/27", "74.125.151.0/27", "74.125.151.128/27", "74.125.151.160/27", "74.125.151.192/27", "74.125.151.224/27", "74.125.151.32/27", "74.125.151.64/27", "74.125.151.96/27", "74.125.216.0/27", "74.125.216.128/27", "74.125.216.160/27", "74.125.216.192/27", "74.125.216.224/27", "74.125.216.32/27", "74.125.216.64/27", "74.125.216.96/27", "74.125.217.0/27", "74.125.217.128/27", "74.125.217.160/27", "74.125.217.192/27", "74.125.217.224/27", "74.125.217.32/27", "74.125.217.64/27", "74.125.217.96/27", "74.125.218.0/27", "74.125.218.128/27", "74.125.218.160/27", "74.125.218.192/27", "74.125.218.224/27", "74.125.218.32/27", "74.125.218.64/27", "74.125.218.96/27", "74.125.219.0/27", "74.125.219.128/27", "74.125.219.160/27", "74.125.219.192/27", "74.125.219.224/27", "74.125.219.32/27", "74.125.219.64/27", "74.125.219.96/27"]),
    ("Google user-triggered fetchers", "bot", "fetcher", "", &["107.178.192.0/27", "107.178.192.128/27", "107.178.192.160/27", "107.178.192.192/27", "107.178.192.224/27", "107.178.192.32/27", "107.178.192.64/27", "107.178.192.96/27", "107.178.193.0/27", "107.178.193.128/27", "107.178.193.160/27", "107.178.193.192/27", "107.178.193.224/27", "107.178.193.32/27", "107.178.193.64/27", "107.178.193.96/27", "107.178.194.0/27", "107.178.194.128/27", "107.178.194.160/27", "107.178.194.192/27", "107.178.194.224/27", "107.178.194.32/27", "107.178.194.64/27", "107.178.194.96/27", "107.178.195.0/27", "107.178.195.128/27", "107.178.195.160/27", "107.178.195.192/27", "107.178.195.224/27", "107.178.195.32/27", "107.178.195.64/27", "107.178.195.96/27", "107.178.196.0/27", "107.178.196.128/27", "107.178.196.160/27", "107.178.196.192/27", "107.178.196.224/27", "107.178.196.32/27", "107.178.196.64/27", "107.178.196.96/27", "107.178.197.0/27", "107.178.197.128/27", "107.178.197.160/27", "107.178.197.192/27", "107.178.197.224/27", "107.178.197.32/27", "107.178.197.64/27", "107.178.197.96/27", "107.178.198.0/27", "107.178.198.128/27", "107.178.198.160/27", "107.178.198.192/27", "107.178.198.224/27", "107.178.198.32/27", "107.178.198.64/27", "107.178.198.96/27", "107.178.199.0/27", "107.178.199.128/27", "107.178.199.160/27", "107.178.199.192/27", "107.178.199.224/27", "107.178.199.32/27", "107.178.199.64/27", "107.178.199.96/27", "107.178.202.0/27", "107.178.202.128/27", "107.178.202.160/27", "107.178.202.192/27", "107.178.202.224/27", "107.178.202.32/27", "107.178.202.64/27", "107.178.202.96/27", "107.178.203.0/27", "107.178.203.128/27", "107.178.203.160/27", "107.178.203.192/27", "107.178.203.224/27", "107.178.203.32/27", "107.178.203.64/27", "107.178.224.0/27", "107.178.224.128/27", "107.178.224.160/27", "107.178.224.192/27", "107.178.224.224/27", "107.178.224.32/27", "107.178.224.64/27", "107.178.224.96/27", "107.178.225.0/27", "107.178.225.128/27", "107.178.225.160/27", "107.178.225.192/27", "107.178.225.224/27", "107.178.225.32/27", "107.178.225.64/27", "107.178.225.96/27", "136.124.136.0/27", "136.124.136.32/27", "136.124.136.64/27", "2404:f340:10:4000::/64", "2404:f340:10:4001::/64", "2404:f340:10:4002::/64", "2404:f340:10:4003::/64", "2404:f340:10:4004::/64", "2404:f340:10:4005::/64", "2404:f340:10:4006::/64", "2404:f340:10:4007::/64", "2404:f340:4010:4000::/64", "2404:f340:4010:4001::/64", "2404:f340:4010:4002::/64", "2404:f340:4010:4003::/64", "2404:f340:4010:4004::/64", "2404:f340:4010:4005::/64", "2404:f340:4010:4006::/64", "2404:f340:4010:4007::/64", "2600:1900:0:100::/64", "2600:1900:0:101::/64", "2600:1900:0:102::/64", "2600:1900:0:103::/64", "2600:1900:0:104::/64", "2600:1900:0:105::/64", "2600:1900:0:106::/64", "2600:1900:0:107::/64", "2600:1900:0:108::/64", "2600:1900:0:109::/64", "2600:1900:0:10::/64", "2600:1900:0:10a::/64", "2600:1900:0:10b::/64", "2600:1900:0:10c::/64", "2600:1900:0:10d::/64", "2600:1900:0:10e::/64", "2600:1900:0:10f::/64", "2600:1900:0:110::/64", "2600:1900:0:111::/64", "2600:1900:0:112::/64", "2600:1900:0:113::/64", "2600:1900:0:114::/64", "2600:1900:0:115::/64", "2600:1900:0:116::/64", "2600:1900:0:117::/64", "2600:1900:0:118::/64", "2600:1900:0:119::/64", "2600:1900:0:11a::/64", "2600:1900:0:11b::/64", "2600:1900:0:11c::/64", "2600:1900:0:11d::/64", "2600:1900:0:11e::/64", "2600:1900:0:11f::/64", "2600:1900:0:120::/64", "2600:1900:0:121::/64", "2600:1900:0:122::/64", "2600:1900:0:123::/64", "2600:1900:0:130::/64", "2600:1900:0:131::/64", "2600:1900:0:132::/64", "2600:1900:0:133::/64", "2600:1900:0:138::/64", "2600:1900:0:139::/64", "2600:1900:0:13a::/64", "2600:1900:0:13b::/64", "2600:1900:0:140::/64", "2600:1900:0:141::/64", "2600:1900:0:142::/64", "2600:1900:0:143::/64", "2600:1900:0:144::/64", "2600:1900:0:145::/64", "2600:1900:0:146::/64", "2600:1900:0:150::/64", "2600:1900:0:151::/64", "2600:1900:0:152::/64", "2600:1900:0:153::/64", "2600:1900:0:154::/64", "2600:1900:0:155::/64", "2600:1900:0:156::/64", "2600:1900:0:157::/64", "2600:1900:0:158::/64", "2600:1900:0:159::/64", "2600:1900:0:15::/64", "2600:1900:0:15a::/64", "2600:1900:0:15b::/64", "2600:1900:0:15c::/64", "2600:1900:0:15d::/64", "2600:1900:0:160::/64", "2600:1900:0:161::/64", "2600:1900:0:162::/64", "2600:1900:0:163::/64", "2600:1900:0:164::/64", "2600:1900:0:165::/64", "2600:1900:0:166::/64", "2600:1900:0:167::/64", "2600:1900:0:168::/64", "2600:1900:0:169::/64", "2600:1900:0:16::/64", "2600:1900:0:16a::/64", "2600:1900:0:16b::/64", "2600:1900:0:16c::/64", "2600:1900:0:16d::/64", "2600:1900:0:16e::/64", "2600:1900:0:16f::/64", "2600:1900:0:170::/64", "2600:1900:0:171::/64", "2600:1900:0:172::/64", "2600:1900:0:173::/64", "2600:1900:0:17::/64", "2600:1900:0:180::/64", "2600:1900:0:181::/64", "2600:1900:0:182::/64", "2600:1900:0:183::/64", "2600:1900:0:184::/64", "2600:1900:0:185::/64", "2600:1900:0:186::/64", "2600:1900:0:187::/64", "2600:1900:0:188::/64", "2600:1900:0:189::/64", "2600:1900:0:18::/64", "2600:1900:0:18a::/64", "2600:1900:0:18b::/64", "2600:1900:0:18c::/64", "2600:1900:0:18d::/64", "2600:1900:0:18e::/64", "2600:1900:0:18f::/64", "2600:1900:0:190::/64", "2600:1900:0:191::/64", "2600:1900:0:192::/64", "2600:1900:0:193::/64", "2600:1900:0:194::/64", "2600:1900:0:195::/64", "2600:1900:0:196::/64", "2600:1900:0:1a0::/64", "2600:1900:0:1a1::/64", "2600:1900:0:1a2::/64", "2600:1900:0:1a3::/64", "2600:1900:0:1a::/64", "2600:1900:0:1b::/64", "2600:1900:0:1c0::/64", "2600:1900:0:1c1::/64", "2600:1900:0:1c2::/64", "2600:1900:0:1c3::/64", "2600:1900:0:1c4::/64", "2600:1900:0:1c5::/64", "2600:1900:0:1c6::/64", "2600:1900:0:1c::/64", "2600:1900:0:1d0::/64", "2600:1900:0:1d1::/64", "2600:1900:0:1e0::/64", "2600:1900:0:1e1::/64", "2600:1900:0:1e2::/64", "2600:1900:0:1e3::/64", "2600:1900:0:1e4::/64", "2600:1900:0:1f0::/64", "2600:1900:0:1f1::/64", "2600:1900:0:1f2::/64", "2600:1900:0:1f3::/64", "2600:1900:0:1f4::/64", "2600:1900:0:1f5::/64", "2600:1900:0:1f6::/64", "2600:1900:0:1f7::/64", "2600:1900:0:1f8::/64", "2600:1900:0:200::/64", "2600:1900:0:201::/64", "2600:1900:0:202::/64", "2600:1900:0:203::/64", "2600:1900:0:204::/64", "2600:1900:0:205::/64", "2600:1900:0:206::/64", "2600:1900:0:207::/64", "2600:1900:0:208::/64", "2600:1900:0:209::/64", "2600:1900:0:20::/64", "2600:1900:0:20a::/64", "2600:1900:0:20b::/64", "2600:1900:0:210::/64", "2600:1900:0:211::/64", "2600:1900:0:212::/64", "2600:1900:0:213::/64", "2600:1900:0:214::/64", "2600:1900:0:215::/64", "2600:1900:0:216::/64", "2600:1900:0:217::/64", "2600:1900:0:21::/64", "2600:1900:0:220::/64", "2600:1900:0:221::/64", "2600:1900:0:222::/64", "2600:1900:0:223::/64", "2600:1900:0:22::/64", "2600:1900:0:230::/64", "2600:1900:0:231::/64", "2600:1900:0:232::/64", "2600:1900:0:233::/64", "2600:1900:0:234::/64", "2600:1900:0:235::/64", "2600:1900:0:236::/64", "2600:1900:0:237::/64", "2600:1900:0:238::/64", "2600:1900:0:239::/64", "2600:1900:0:23::/64", "2600:1900:0:23a::/64", "2600:1900:0:23b::/64", "2600:1900:0:240::/64", "2600:1900:0:241::/64", "2600:1900:0:242::/64", "2600:1900:0:24::/64", "2600:1900:0:250::/64", "2600:1900:0:251::/64", "2600:1900:0:252::/64", "2600:1900:0:253::/64", "2600:1900:0:254::/64", "2600:1900:0:255::/64", "2600:1900:0:25::/64", "2600:1900:0:260::/64", "2600:1900:0:261::/64", "2600:1900:0:262::/64", "2600:1900:0:263::/64", "2600:1900:0:264::/64", "2600:1900:0:26::/64", "2600:1900:0:270::/64", "2600:1900:0:271::/64", "2600:1900:0:272::/64", "2600:1900:0:273::/64", "2600:1900:0:274::/64", "2600:1900:0:275::/64", "2600:1900:0:276::/64", "2600:1900:0:27::/64", "2600:1900:0:280::/64", "2600:1900:0:281::/64", "2600:1900:0:282::/64", "2600:1900:0:283::/64", "2600:1900:0:28::/64", "2600:1900:0:290::/64", "2600:1900:0:291::/64", "2600:1900:0:292::/64", "2600:1900:0:293::/64", "2600:1900:0:294::/64", "2600:1900:0:295::/64", "2600:1900:0:296::/64", "2600:1900:0:297::/64", "2600:1900:0:29::/64", "2600:1900:0:2a0::/64", "2600:1900:0:2a1::/64", "2600:1900:0:2a2::/64", "2600:1900:0:2a3::/64", "2600:1900:0:2a4::/64", "2600:1900:0:2a::/64", "2600:1900:0:2b0::/64", "2600:1900:0:2b1::/64", "2600:1900:0:2b2::/64", "2600:1900:0:2b3::/64", "2600:1900:0:2b::/64", "2600:1900:0:2c0::/64", "2600:1900:0:2c1::/64", "2600:1900:0:2c2::/64", "2600:1900:0:2c3::/64", "2600:1900:0:2c4::/64", "2600:1900:0:2c5::/64", "2600:1900:0:2c6::/64", "2600:1900:0:2d0::/64", "2600:1900:0:2d1::/64", "2600:1900:0:2d2::/64", "2600:1900:0:2d3::/64", "2600:1900:0:2d4::/64", "2600:1900:0:2d5::/64", "2600:1900:0:2d6::/64", "2600:1900:0:2d7::/64", "2600:1900:0:2d8::/64", "2600:1900:0:2d9::/64", "2600:1900:0:2da::/64", "2600:1900:0:2db::/64", "2600:1900:0:2dc::/64", "2600:1900:0:2dd::/64", "2600:1900:0:2de::/64", "2600:1900:0:2df::/64", "2600:1900:0:2e0::/64", "2600:1900:0:2e1::/64", "2600:1900:0:2e2::/64", "2600:1900:0:2f0::/64", "2600:1900:0:2f1::/64", "2600:1900:0:2f2::/64", "2600:1900:0:2f3::/64", "2600:1900:0:2f4::/64", "2600:1900:0:2f5::/64", "2600:1900:0:2f6::/64", "2600:1900:0:300::/64", "2600:1900:0:301::/64", "2600:1900:0:302::/64", "2600:1900:0:303::/64", "2600:1900:0:30::/64", "2600:1900:0:310::/64", "2600:1900:0:311::/64", "2600:1900:0:312::/64", "2600:1900:0:313::/64", "2600:1900:0:314::/64", "2600:1900:0:315::/64", "2600:1900:0:316::/64", "2600:1900:0:317::/64", "2600:1900:0:31::/64", "2600:1900:0:320::/64", "2600:1900:0:321::/64", "2600:1900:0:322::/64", "2600:1900:0:32::/64", "2600:1900:0:330::/64", "2600:1900:0:331::/64", "2600:1900:0:332::/64", "2600:1900:0:333::/64", "2600:1900:0:334::/64", "2600:1900:0:335::/64", "2600:1900:0:33::/64", "2600:1900:0:340::/64", "2600:1900:0:34::/64", "2600:1900:0:350::/64", "2600:1900:0:351::/64", "2600:1900:0:352::/64", "2600:1900:0:353::/64", "2600:1900:0:354::/64", "2600:1900:0:35::/64", "2600:1900:0:360::/64", "2600:1900:0:361::/64", "2600:1900:0:362::/64", "2600:1900:0:36::/64", "2600:1900:0:370::/64", "2600:1900:0:371::/64", "2600:1900:0:372::/64", "2600:1900:0:373::/64", "2600:1900:0:374::/64", "2600:1900:0:37::/64", "2600:1900:0:380::/64", "2600:1900:0:381::/64", "2600:1900:0:382::/64", "2600:1900:0:383::/64", "2600:1900:0:384::/64", "2600:1900:0:385::/64", "2600:1900:0:386::/64", "2600:1900:0:387::/64", "2600:1900:0:388::/64", "2600:1900:0:389::/64", "2600:1900:0:38::/64", "2600:1900:0:38a::/64", "2600:1900:0:38b::/64", "2600:1900:0:38c::/64", "2600:1900:0:38d::/64", "2600:1900:0:38e::/64", "2600:1900:0:390::/64", "2600:1900:0:391::/64", "2600:1900:0:392::/64", "2600:1900:0:393::/64", "2600:1900:0:39::/64", "2600:1900:0:3a0::/64", "2600:1900:0:3a1::/64", "2600:1900:0:3a2::/64", "2600:1900:0:3a::/64", "2600:1900:0:3b0::/64", "2600:1900:0:3b1::/64", "2600:1900:0:3b2::/64", "2600:1900:0:3b3::/64", "2600:1900:0:3b4::/64", "2600:1900:0:3b5::/64", "2600:1900:0:3b6::/64", "2600:1900:0:3b::/64", "2600:1900:0:3c0::/64", "2600:1900:0:3c1::/64", "2600:1900:0:3c3::/64", "2600:1900:0:3c4::/64", "2600:1900:0:3c::/64", "2600:1900:0:3d0::/64", "2600:1900:0:3d1::/64", "2600:1900:0:3d2::/64", "2600:1900:0:3d3::/64", "2600:1900:0:3d4::/64", "2600:1900:0:3d5::/64", "2600:1900:0:3d6::/64", "2600:1900:0:3d7::/64", "2600:1900:0:40::/64", "2600:1900:0:410::/64", "2600:1900:0:411::/64", "2600:1900:0:412::/64", "2600:1900:0:41::/64", "2600:1900:0:42::/64", "2600:1900:0:43::/64", "2600:1900:0:44::/64", "2600:1900:0:45::/64", "2600:1900:0:46::/64", "2600:1900:0:47::/64", "2600:1900:0:48::/64", "2600:1900:0:49::/64", "2600:1900:0:4a::/64", "2600:1900:0:4b::/64", "2600:1900:0:4c::/64", "2600:1900:0:4d::/64", "2600:1900:0:4e::/64", "2600:1900:0:4f::/64", "2600:1900:0:50::/64", "2600:1900:0:51::/64", "2600:1900:0:52::/64", "2600:1900:0:53::/64", "2600:1900:0:54::/64", "2600:1900:0:55::/64", "2600:1900:0:56::/64", "2600:1900:0:57::/64", "2600:1900:0:58::/64", "2600:1900:0:59::/64", "2600:1900:0:5a::/64", "2600:1900:0:5b::/64", "2600:1900:0:5c::/64", "2600:1900:0:5d::/64", "2600:1900:0:5e::/64", "2600:1900:0:5f::/64", "2600:1900:0:60::/64", "2600:1900:0:61::/64", "2600:1900:0:62::/64", "2600:1900:0:63::/64", "2600:1900:0:64::/64", "2600:1900:0:65::/64", "2600:1900:0:66::/64", "2600:1900:0:67::/64", "2600:1900:0:68::/64", "2600:1900:0:69::/64", "2600:1900:0:6a::/64", "2600:1900:0:6b::/64", "2600:1900:0:6c::/64", "2600:1900:0:6d::/64", "2600:1900:0:6e::/64", "2600:1900:0:70::/64", "2600:1900:0:71::/64", "2600:1900:0:72::/64", "2600:1900:0:73::/64", "2600:1900:0:74::/64", "2600:1900:0:75::/64", "2600:1900:0:76::/64", "2600:1900:0:77::/64", "2600:1900:0:78::/64", "2600:1900:0:79::/64", "2600:1900:0:7a::/64", "2600:1900:0:7b::/64", "2600:1900:0:7c::/64", "2600:1900:0:7d::/64", "2600:1900:0:7e::/64", "2600:1900:0:7f::/64", "2600:1900:0:80::/64", "2600:1900:0:81::/64", "2600:1900:0:82::/64", "2600:1900:0:83::/64", "2600:1900:0:84::/64", "2600:1900:0:85::/64", "2600:1900:0:86::/64", "2600:1900:0:87::/64", "2600:1900:0:88::/64", "2600:1900:0:89::/64", "2600:1900:0:8::/64", "2600:1900:0:8a::/64", "2600:1900:0:8b::/64", "2600:1900:0:90::/64", "2600:1900:0:91::/64", "2600:1900:0:92::/64", "2600:1900:0:93::/64", "2600:1900:0:94::/64", "2600:1900:0:95::/64", "2600:1900:0:96::/64", "2600:1900:0:97::/64", "2600:1900:0:98::/64", "2600:1900:0:99::/64", "2600:1900:0:9::/64", "2600:1900:0:a0::/64", "2600:1900:0:a1::/64", "2600:1900:0:a2::/64", "2600:1900:0:a3::/64", "2600:1900:0:a4::/64", "2600:1900:0:a5::/64", "2600:1900:0:a6::/64", "2600:1900:0:b0::/64", "2600:1900:0:b1::/64", "2600:1900:0:b2::/64", "2600:1900:0:b3::/64", "2600:1900:0:b4::/64", "2600:1900:0:b5::/64", "2600:1900:0:b6::/64", "2600:1900:0:b7::/64", "2600:1900:0:b8::/64", "2600:1900:0:b9::/64", "2600:1900:0:ba::/64", "2600:1900:0:bb::/64", "2600:1900:0:bc::/64", "2600:1900:0:bd::/64", "2600:1900:0:c0::/64", "2600:1900:0:c1::/64", "2600:1900:0:c2::/64", "2600:1900:0:c3::/64", "2600:1900:0:c4::/64", "2600:1900:0:c5::/64", "2600:1900:0:c6::/64", "2600:1900:0:c::/64", "2600:1900:0:d0::/64", "2600:1900:0:d1::/64", "2600:1900:0:d2::/64", "2600:1900:0:d3::/64", "2600:1900:0:d4::/64", "2600:1900:0:d5::/64", "2600:1900:0:d6::/64", "2600:1900:0:d7::/64", "2600:1900:0:d8::/64", "2600:1900:0:d9::/64", "2600:1900:0:da::/64", "2600:1900:0:db::/64", "2600:1900:0:dc::/64", "2600:1900:0:dd::/64", "2600:1900:0:de::/64", "2600:1900:0:df::/64", "2600:1900:0:e0::/64", "2600:1900:0:e1::/64", "2600:1900:0:e2::/64", "2600:1900:0:e3::/64", "2600:1900:0:e4::/64", "2600:1900:0:e5::/64", "2600:1900:0:e6::/64", "2600:1900:0:e7::/64", "2600:1900:0:e8::/64", "2600:1900:0:e9::/64", "2600:1900:0:ea::/64", "2600:1900:0:eb::/64", "2600:1900:0:ec::/64", "2600:1900:0:ed::/64", "2600:1900:0:ee::/64", "2600:1900:0:ef::/64", "2600:1900:0:f0::/64", "2600:1900:0:f1::/64", "2600:1900:0:f2::/64", "2600:1900:0:f3::/64", "2600:1900:0:f4::/64", "2600:1900:0:f5::/64", "2600:1900:0:f6::/64", "2600:1900:0:f7::/64", "2600:1900:0:f8::/64", "2600:1900:0:f9::/64", "2600:1900:0:f::/64", "2600:1900:0:fa::/64", "34.101.6.0/27", "34.101.6.128/27", "34.101.6.160/27", "34.101.6.192/27", "34.101.6.224/27", "34.101.6.32/27", "34.101.6.64/27", "34.101.6.96/27", "34.116.16.0/27", "34.116.16.128/27", "34.116.16.160/27", "34.116.16.32/27", "34.116.16.64/27", "34.116.16.96/27", "34.116.17.0/27", "34.116.17.128/27", "34.116.17.32/27", "34.116.17.64/27", "34.116.17.96/27", "34.116.18.0/27", "34.116.18.128/27", "34.116.18.160/27", "34.116.18.192/27", "34.116.18.32/27", "34.116.18.64/27", "34.116.18.96/27", "34.116.19.0/27", "34.116.19.128/27", "34.116.19.160/27", "34.116.19.192/27", "34.116.19.224/27", "34.116.19.32/27", "34.116.19.64/27", "34.116.19.96/27", "34.116.20.0/27", "34.116.20.32/27", "34.116.20.64/27", "34.116.20.96/27", "34.116.21.0/27", "34.116.21.128/27", "34.116.21.160/27", "34.116.21.192/27", "34.116.21.224/27", "34.116.21.32/27", "34.116.21.64/27", "34.116.21.96/27", "34.116.22.0/27", "34.116.22.128/27", "34.116.22.32/27", "34.116.22.64/27", "34.116.22.96/27", "34.116.23.0/27", "34.116.23.32/27", "34.116.23.64/27", "34.116.23.96/27", "34.116.28.0/27", "34.116.28.128/27", "34.116.28.160/27", "34.116.28.192/27", "34.116.28.224/27", "34.116.28.32/27", "34.116.28.64/27", "34.116.28.96/27", "34.116.29.0/27", "34.116.29.32/27", "34.116.29.64/27", "34.116.29.96/27", "34.116.30.0/27", "34.116.30.128/27", "34.116.30.160/27", "34.116.30.192/27", "34.116.30.224/27", "34.116.30.32/27", "34.116.30.64/27", "34.116.30.96/27", "34.116.31.0/27", "34.116.31.32/27", "34.116.31.64/27", "34.116.32.0/27", "34.116.32.128/27", "34.116.32.160/27", "34.116.32.192/27", "34.116.32.32/27", "34.116.32.64/27", "34.116.32.96/27", "34.116.33.0/27", "34.116.33.128/27", "34.116.33.160/27", "34.116.33.192/27", "34.116.33.224/27", "34.116.33.32/27", "34.116.33.64/27", "34.116.33.96/27", "34.116.34.0/27", "34.116.34.32/27", "34.116.34.64/27", "34.116.35.0/27", "34.116.35.128/27", "34.116.35.160/27", "34.116.35.192/27", "34.116.35.32/27", "34.116.35.64/27", "34.116.35.96/27", "34.116.36.0/27", "34.116.36.128/27", "34.116.36.160/27", "34.116.36.32/27", "34.116.36.64/27", "34.116.36.96/27", "34.116.37.0/27", "34.116.38.0/27", "34.116.38.32/27", "34.116.39.0/27", "34.116.39.128/27", "34.116.39.160/27", "34.116.39.192/27", "34.116.39.224/27", "34.116.39.32/27", "34.116.39.64/27", "34.116.39.96/27", "34.116.40.0/27", "34.116.40.128/27", "34.116.40.160/27", "34.116.40.192/27", "34.116.40.224/27", "34.116.40.32/27", "34.116.40.64/27", "34.116.40.96/27", "34.116.41.0/27", "34.116.41.128/27", "34.116.41.160/27", "34.116.41.192/27", "34.116.41.224/27", "34.116.41.32/27", "34.116.41.64/27", "34.116.41.96/27", "34.116.42.0/27", "34.116.42.128/27", "34.116.42.32/27", "34.116.42.64/27", "34.116.42.96/27", "34.116.43.0/27", "34.116.43.128/27", "34.116.43.160/27", "34.116.43.192/27", "34.116.43.224/27", "34.116.43.32/27", "34.116.43.64/27", "34.116.43.96/27", "34.127.128.0/27", "34.127.128.128/27", "34.127.128.32/27", "34.127.128.64/27", "34.127.128.96/27", "34.127.129.0/27", "34.127.129.128/27", "34.127.129.32/27", "34.127.129.64/27", "34.127.129.96/27", "34.127.130.0/27", "34.127.130.32/27", "34.127.130.64/27", "34.127.130.96/27", "34.127.131.0/27", "34.127.131.32/27", "34.127.131.64/27", "34.127.132.0/27", "34.127.132.128/27", "34.127.132.160/27", "34.127.132.192/27", "34.127.132.224/27", "34.127.132.32/27", "34.127.132.64/27", "34.127.132.96/27", "34.127.133.0/27", "34.127.133.128/27", "34.127.133.160/27", "34.127.133.192/27", "34.127.133.224/27", "34.127.133.32/27", "34.127.133.64/27", "34.127.133.96/27", "34.127.134.0/27", "34.127.134.32/27", "34.127.134.64/27", "34.127.136.0/27", "34.127.136.128/27", "34.127.136.160/27", "34.127.136.192/27", "34.127.136.224/27", "34.127.136.32/27", "34.127.136.64/27", "34.127.136.96/27", "34.127.137.0/27", "34.127.137.32/27", "34.127.137.64/27", "34.127.137.96/27", "34.127.139.0/27", "34.127.140.0/27", "34.127.140.128/27", "34.127.140.160/27", "34.127.140.192/27", "34.127.140.224/27", "34.127.140.32/27", "34.127.140.64/27", "34.127.140.96/27", "34.127.142.0/27", "34.127.142.128/27", "34.127.142.32/27", "34.127.142.96/27", "34.127.143.0/27", "34.127.143.32/27", "34.127.143.64/27", "34.64.6.0/27", "34.64.6.128/27", "34.64.6.160/27", "34.64.6.192/27", "34.64.6.224/27", "34.64.6.32/27", "34.64.6.64/27", "34.64.6.96/27", "34.98.136.0/27", "34.98.136.128/27", "34.98.136.160/27", "34.98.136.192/27", "34.98.136.224/27", "34.98.136.32/27", "34.98.136.64/27", "34.98.136.96/27", "34.98.137.0/27", "34.98.137.32/27", "34.98.137.64/27", "34.98.137.96/27", "34.98.138.0/27", "34.98.138.128/27", "34.98.138.32/27", "34.98.138.64/27", "34.98.138.96/27", "34.98.139.0/27", "34.98.139.128/27", "34.98.139.160/27", "34.98.139.192/27", "34.98.139.224/27", "34.98.139.32/27", "34.98.139.64/27", "34.98.139.96/27", "34.98.140.0/27", "34.98.140.128/27", "34.98.140.160/27", "34.98.140.192/27", "34.98.140.224/27", "34.98.140.32/27", "34.98.140.64/27", "34.98.140.96/27", "34.98.141.0/27", "34.98.141.128/27", "34.98.141.160/27", "34.98.141.192/27", "34.98.141.224/27", "34.98.141.32/27", "34.98.141.64/27", "34.98.141.96/27", "34.98.142.0/27", "34.98.142.32/27", "34.98.142.64/27", "34.98.142.96/27", "34.98.143.0/27", "34.98.143.128/27", "34.98.143.160/27", "34.98.143.192/27", "34.98.143.224/27", "34.98.143.32/27", "34.98.143.64/27", "34.98.143.96/27", "35.187.128.0/27", "35.187.128.128/27", "35.187.128.160/27", "35.187.128.192/27", "35.187.128.224/27", "35.187.128.32/27", "35.187.128.64/27", "35.187.128.96/27", "35.187.129.0/27", "35.187.129.128/27", "35.187.129.160/27", "35.187.129.192/27", "35.187.129.224/27", "35.187.129.32/27", "35.187.129.64/27", "35.187.129.96/27", "35.187.130.0/27", "35.187.130.128/27", "35.187.130.160/27", "35.187.130.192/27", "35.187.130.224/27", "35.187.130.32/27", "35.187.130.64/27", "35.187.130.96/27", "35.187.131.0/27", "35.187.131.128/27", "35.187.131.160/27", "35.187.131.192/27", "35.187.131.224/27", "35.187.131.32/27", "35.187.131.64/27", "35.187.131.96/27", "35.187.132.0/27", "35.187.132.128/27", "35.187.132.160/27", "35.187.132.192/27", "35.187.132.224/27", "35.187.132.32/27", "35.187.132.64/27", "35.187.132.96/27", "35.187.133.0/27", "35.187.133.128/27", "35.187.133.160/27", "35.187.133.192/27", "35.187.133.224/27", "35.187.133.32/27", "35.187.133.64/27", "35.187.133.96/27", "35.187.134.0/27", "35.187.134.128/27", "35.187.134.160/27", "35.187.134.192/27", "35.187.134.224/27", "35.187.134.32/27", "35.187.134.64/27", "35.187.134.96/27", "35.187.135.0/27", "35.187.135.128/27", "35.187.135.160/27", "35.187.135.192/27", "35.187.135.224/27", "35.187.135.32/27", "35.187.135.64/27", "35.187.135.96/27", "35.187.136.0/27", "35.187.136.128/27", "35.187.136.160/27", "35.187.136.192/27", "35.187.136.224/27", "35.187.136.32/27", "35.187.138.0/27", "35.187.138.128/27", "35.187.138.160/27", "35.187.138.192/27", "35.187.138.224/27", "35.187.138.32/27", "35.187.138.64/27", "35.187.138.96/27", "35.187.139.0/27", "35.187.139.128/27", "35.187.139.160/27", "35.187.139.192/27", "35.187.139.224/27", "35.187.139.32/27", "35.187.139.64/27", "35.187.139.96/27", "35.187.140.0/27", "35.187.140.128/27", "35.187.140.160/27", "35.187.140.192/27", "35.187.140.32/27", "35.187.140.64/27", "35.187.140.96/27", "35.187.141.0/27", "35.187.141.128/27", "35.187.141.160/27", "35.187.141.192/27", "35.187.141.224/27", "35.187.141.32/27", "35.187.141.64/27", "35.187.142.0/27", "35.187.142.32/27", "35.187.142.64/27", "35.187.142.96/27", "35.187.143.0/27", "35.187.143.128/27", "35.187.143.160/27", "35.187.143.192/27", "35.187.143.224/27", "35.187.143.32/27", "35.187.143.64/27", "35.187.143.96/27", "35.243.16.0/27", "35.243.16.128/27", "35.243.16.32/27", "35.243.16.64/27", "35.243.16.96/27", "35.243.17.0/27", "35.243.17.128/27", "35.243.17.160/27", "35.243.17.192/27", "35.243.17.32/27", "35.243.17.64/27", "35.243.17.96/27", "35.243.18.0/27", "35.243.18.32/27", "35.243.18.64/27", "35.243.18.96/27", "35.243.19.0/27", "35.243.19.128/27", "35.243.19.160/27", "35.243.19.192/27", "35.243.19.32/27", "35.243.19.64/27", "35.243.19.96/27", "35.243.20.0/27", "35.243.20.128/27", "35.243.20.160/27", "35.243.20.192/27", "35.243.20.224/27", "35.243.20.32/27", "35.243.20.64/27", "35.243.20.96/27", "35.243.21.0/27", "35.243.21.32/27", "35.243.21.64/27", "35.243.21.96/27", "35.243.22.0/27", "35.243.22.128/27", "35.243.22.160/27", "35.243.22.192/27", "35.243.22.32/27", "35.243.22.64/27", "35.243.22.96/27", "35.243.23.0/27", "35.243.23.128/27", "35.243.23.160/27", "35.243.23.192/27", "35.243.23.224/27", "35.243.23.32/27", "35.243.23.64/27", "35.243.23.96/27"]),
    ("Bingbot", "bot", "search-engine", "bingbot", &["13.66.139.0/24", "13.66.144.0/24", "13.67.10.16/28", "13.69.66.240/28", "13.71.172.224/28", "139.217.52.0/28", "157.55.39.0/24", "191.233.204.224/28", "199.30.24.0/23", "20.125.163.80/28", "20.15.133.160/27", "20.36.108.32/28", "20.43.120.16/28", "20.74.197.0/28", "20.79.107.240/28", "207.46.13.0/24", "40.77.139.0/25", "40.77.167.0/24", "40.77.177.0/24", "40.77.178.0/23", "40.77.188.0/22", "40.77.202.0/24", "40.79.131.208/28", "40.79.186.176/28", "51.105.67.0/28", "52.167.144.0/24", "52.231.148.0/28", "65.55.210.0/24"]),
    ("Applebot", "bot", "search-engine", "applebot", &["17.166.150.0/24", "17.166.151.0/24", "17.166.152.0/24", "17.166.153.0/24", "17.166.154.0/24", "17.166.155.0/24", "17.166.192.48/28", "17.166.20.0/24", "17.166.21.0/24", "17.166.22.0/24", "17.166.23.0/24", "17.166.232.0/24", "17.166.233.0/24", "17.166.234.0/24", "17.166.235.0/24", "17.166.236.0/24", "17.166.237.0/24", "17.166.24.0/24", "17.166.240.48/28", "17.166.248.48/28", "17.166.25.0/24", "17.241.193.160/27", "17.241.200.160/27", "17.241.208.160/27"]),
    ("DuckDuckBot", "bot", "search-engine", "duckduckbot", &["104.43.54.127/32", "104.43.55.116/32", "104.43.55.117/32", "104.43.55.166/32", "104.43.55.167/32", "108.141.83.74/32", "128.203.132.152/32", "128.203.181.79/32", "128.203.214.241/32", "128.203.236.110/32", "128.203.82.154/32", "13.86.35.212/32", "13.89.106.77/32", "13.90.178.139/32", "130.107.228.224/32", "131.145.39.118/32", "131.189.183.241/32", "132.164.209.198/32", "132.196.106.146/32", "132.220.1.71/32", "134.33.207.189/32", "135.171.251.169/32", "135.233.63.237/32", "135.234.221.112/32", "135.235.183.95/32", "172.168.115.250/32", "172.168.12.93/32", "172.168.133.76/32", "172.168.137.102/32", "172.168.152.88/32", "172.168.173.230/32", "172.168.190.186/32", "172.168.227.120/32", "172.168.254.119/32", "172.168.43.43/32", "172.168.51.216/32", "172.168.53.53/32", "172.168.81.217/32", "172.168.94.160/32", "172.169.164.109/32", "172.169.17.165/32", "172.169.177.131/32", "172.169.181.237/32", "172.169.28.184/32", "172.169.36.43/32", "172.169.53.208/32", "172.169.60.134/32", "172.169.7.33/32", "172.169.93.148/32", "172.171.37.221/32", "172.179.105.87/32", "172.179.128.118/32", "172.188.250.220/32", "172.189.40.18/32", "172.193.184.42/32", "172.193.197.146/32", "172.193.245.229/32", "172.194.141.49/32", "172.199.55.212/32", "172.210.111.68/32", "191.233.3.197/32", "191.233.3.202/32", "191.234.216.178/32", "191.234.216.4/32", "191.235.201.214/32", "191.235.202.38/32", "191.235.202.48/32", "20.100.136.36/32", "20.100.140.155/32", "20.101.17.173/32", "20.102.34.205/32", "20.109.129.162/32", "20.109.130.190/32", "20.109.241.18/32", "20.112.58.44/32", "20.113.14.159/32", "20.113.3.121/32", "20.115.181.187/32", "20.118.11.251/32", "20.119.127.146/32", "20.12.141.99/32", "20.12.249.123/32", "20.12.252.21/32", "20.121.75.32/32", "20.13.44.19/32", "20.15.142.178/32", "20.166.171.150/32", "20.170.75.54/32", "20.175.232.228/32", "20.185.79.15/32", "20.185.79.47/32", "20.190.21.172/32", "20.191.44.119/32", "20.191.44.16/32", "20.191.44.22/32", "20.191.44.234/32", "20.191.45.212/32", "20.193.12.126/32", "20.193.24.10/32", "20.193.24.251/32", "20.193.25.197/32", "20.193.27.215/32", "20.193.45.113/32", "20.195.108.47/32", "20.195.58.189/32", "20.197.209.11/32", "20.197.209.27/32", "20.198.132.126/32", "20.198.152.208/32", "20.201.15.208/32", "20.204.228.200/32", "20.204.240.172/32", "20.204.241.148/32", "20.204.242.101/32", "20.204.242.19/32", "20.204.243.55/32", "20.204.246.254/32", "20.204.246.81/32", "20.207.107.181/32", "20.207.117.66/32", "20.207.72.11/32", "20.207.72.110/32", "20.207.72.113/32", "20.207.72.21/32", "20.207.97.190/32", "20.207.99.197/32", "20.212.139.34/32", "20.212.90.107/32", "20.216.200.223/32", "20.219.43.246/32", "20.219.45.190/32", "20.219.45.67/32", "20.221.10.115/32", "20.221.84.185/32", "20.226.133.105/32", "20.23.88.231/32", "20.231.254.179/32", "20.232.249.95/32", "20.232.51.46/32", "20.236.195.196/32", "20.236.198.192/32", "20.236.227.113/32", "20.236.233.23/32", "20.236.247.180/32", "20.236.40.93/32", "20.237.1.51/32", "20.241.135.19/32", "20.241.147.151/32", "20.241.153.203/32", "20.241.164.5/32", "20.241.241.100/32", "20.242.133.53/32", "20.242.135.165/32", "20.242.211.139/32", "20.242.215.53/32", "20.242.237.240/32", "20.246.132.168/32", "20.246.225.34/32", "20.247.235.11/32", "20.250.51.113/32", "20.252.16.193/32", "20.252.41.18/32", "20.252.63.162/32", "20.252.88.10/32", "20.252.9.6/32", "20.253.114.51/32", "20.253.59.76/32", "20.253.96.199/32", "20.29.149.44/32", "20.29.154.56/32", "20.3.1.178/32", "20.3.60.212/32", "20.40.133.240/32", "20.40.147.172/32", "20.43.150.85/32", "20.43.150.93/32", "20.43.152.28/32", "20.43.172.120/32", "20.44.222.1/32", "20.49.129.236/32", "20.49.136.28/32", "20.50.168.91/32", "20.50.48.159/32", "20.50.48.192/32", "20.50.49.0/32", "20.50.49.237/32", "20.50.49.25/32", "20.50.49.40/32", "20.50.49.55/32", "20.50.50.118/32", "20.50.50.121/32", "20.50.50.123/32", "20.50.50.130/32", "20.50.50.134/32", "20.50.50.145/32", "20.50.50.146/32", "20.50.50.163/32", "20.50.50.46/32", "20.53.134.160/32", "20.53.78.106/32", "20.53.78.123/32", "20.53.78.138/32", "20.53.78.144/32", "20.53.78.236/32", "20.53.91.2/32", "20.53.92.211/32", "20.54.224.39/32", "20.56.197.58/32", "20.56.197.63/32", "20.59.0.65/32", "20.61.142.192/32", "20.61.34.40/32", "20.62.224.44/32", "20.64.185.45/32", "20.69.129.205/32", "20.69.131.45/32", "20.69.138.149/32", "20.69.138.189/32", "20.69.144.137/32", "20.69.146.171/32", "20.69.147.21/32", "20.69.171.204/32", "20.69.74.250/32", "20.71.12.143/32", "20.71.69.210/32", "20.72.197.110/32", "20.72.203.250/32", "20.72.218.29/32", "20.72.221.33/32", "20.72.221.45/32", "20.72.225.13/32", "20.72.242.209/32", "20.72.242.93/32", "20.73.132.240/32", "20.73.202.147/32", "20.75.144.152/32", "20.75.254.61/32", "20.77.146.108/32", "20.79.226.26/32", "20.79.238.198/32", "20.79.239.66/32", "20.8.252.26/32", "20.80.114.203/32", "20.80.120.41/32", "20.80.129.80/32", "20.80.135.7/32", "20.80.156.88/32", "20.81.115.13/32", "20.82.24.207/32", "20.84.138.61/32", "20.84.219.45/32", "20.84.251.223/32", "20.85.138.75/32", "20.85.167.56/32", "20.85.187.146/32", "20.88.168.65/32", "20.9.114.242/32", "20.93.28.24/32", "20.93.49.96/32", "20.99.154.113/32", "20.99.255.235/32", "4.144.148.23/32", "4.144.182.50/32", "4.144.227.142/32", "4.144.251.39/32", "4.149.142.7/32", "4.149.159.102/32", "4.149.159.71/32", "4.149.216.220/32", "4.150.142.218/32", "4.154.193.167/32", "4.156.136.79/32", "4.156.154.107/32", "4.156.30.123/32", "4.157.77.76/32", "4.172.49.103/32", "4.177.16.196/32", "4.182.10.198/32", "4.182.131.108/32", "4.195.133.120/32", "4.201.125.59/32", "4.201.141.71/32", "4.201.197.203/32", "4.201.206.133/32", "4.201.220.8/32", "4.207.220.92/32", "4.209.224.56/32", "4.213.46.14/32", "4.226.40.135/32", "4.228.76.163/32", "4.237.155.54/32", "4.237.244.80/32", "4.242.119.13/32", "4.246.10.252/32", "4.248.234.26/32", "4.249.216.104/32", "4.249.223.51/32", "4.249.238.11/32", "4.254.123.56/32", "4.255.35.121/32", "4.255.39.80/32", "40.114.182.153/32", "40.114.182.172/32", "40.114.182.45/32", "40.114.183.196/32", "40.114.183.251/32", "40.114.183.88/32", "40.119.232.146/32", "40.119.232.215/32", "40.119.232.218/32", "40.119.232.251/32", "40.119.232.50/32", "40.121.121.54/32", "40.127.154.196/32", "40.64.105.247/32", "40.64.106.11/32", "40.64.106.152/32", "40.64.67.220/32", "40.64.78.45/32", "40.64.88.145/32", "40.65.78.86/32", "40.76.162.17/32", "40.76.162.191/32", "40.76.162.208/32", "40.76.162.247/32", "40.76.163.23/32", "40.76.163.7/32", "40.76.173.151/32", "40.81.250.205/32", "40.82.218.203/32", "40.88.195.62/32", "40.88.21.235/32", "40.89.243.175/32", "48.192.16.86/32", "48.192.74.178/32", "48.200.33.227/32", "48.202.155.200/32", "48.202.171.124/32", "48.204.32.87/32", "48.206.18.152/32", "48.217.129.210/32", "48.217.212.89/32", "48.217.23.236/32", "48.223.209.110/32", "51.104.144.31/32", "51.104.146.225/32", "51.104.146.235/32", "51.104.160.167/32", "51.104.160.177/32", "51.104.161.32/32", "51.104.162.149/32", "51.104.163.250/32", "51.104.164.109/32", "51.104.164.147/32", "51.104.164.189/32", "51.104.164.215/32", "51.104.166.111/32", "51.104.167.104/32", "51.104.167.110/32", "51.104.167.19/32", "51.104.167.52/32", "51.104.167.54/32", "51.104.167.61/32", "51.104.167.71/32", "51.104.167.87/32", "51.104.167.88/32", "51.104.167.95/32", "51.104.167.96/32", "51.104.180.26/32", "51.104.180.47/32", "51.104.180.53/32", "51.107.40.209/32", "51.116.131.221/32", "51.120.48.122/32", "51.138.90.161/32", "51.138.90.206/32", "51.138.90.233/32", "51.143.114.45/32", "51.145.185.16/32", "51.8.253.152/32", "51.8.31.28/32", "51.8.71.117/32", "52.142.24.149/32", "52.142.26.175/32", "52.143.241.111/32", "52.143.242.6/32", "52.143.243.117/32", "52.143.244.81/32", "52.143.247.235/32", "52.143.95.162/32", "52.143.95.204/32", "52.146.57.51/32", "52.146.58.236/32", "52.146.59.12/32", "52.146.59.154/32", "52.146.59.156/32", "52.146.63.80/32", "52.148.161.87/32", "52.148.165.38/32", "52.149.25.43/32", "52.149.28.18/32", "52.149.28.83/32", "52.149.30.45/32", "52.149.56.151/32", "52.149.58.139/32", "52.149.58.173/32", "52.149.58.27/32", "52.149.58.69/32", "52.149.60.38/32", "52.149.61.51/32", "52.154.169.200/32", "52.154.169.50/32", "52.154.170.113/32", "52.154.170.117/32", "52.154.170.122/32", "52.154.170.209/32", "52.154.170.229/32", "52.154.170.243/32", "52.154.170.26/32", "52.154.170.28/32", "52.154.170.88/32", "52.154.170.96/32", "52.154.171.0/32", "52.154.171.150/32", "52.154.171.196/32", "52.154.171.205/32", "52.154.171.235/32", "52.154.171.250/32", "52.154.171.44/32", "52.154.171.70/32", "52.154.171.87/32", "52.154.172.2/32", "52.154.204.93/32", "52.154.60.82/32", "52.185.93.208/32", "52.186.37.211/32", "52.188.89.106/32", "52.189.70.103/32", "52.190.37.160/32", "52.191.222.158/32", "52.191.82.242/32", "52.224.147.21/32", "52.224.16.221/32", "52.224.16.229/32", "52.224.19.152/32", "52.224.191.245/32", "52.224.20.174/32", "52.224.20.181/32", "52.224.20.186/32", "52.224.20.190/32", "52.224.20.193/32", "52.224.20.203/32", "52.224.20.204/32", "52.224.20.223/32", "52.224.20.227/32", "52.224.20.249/32", "52.224.21.19/32", "52.224.21.20/32", "52.224.21.23/32", "52.224.21.27/32", "52.224.21.4/32", "52.224.21.49/32", "52.224.21.51/32", "52.224.21.53/32", "52.224.21.55/32", "52.224.21.61/32", "52.242.224.168/32", "52.250.46.221/32", "57.151.44.140/32", "57.152.17.237/32", "57.152.62.107/32", "57.152.72.128/32", "57.155.18.44/32", "57.165.205.172/32", "57.167.88.38/32", "64.236.118.43/32", "64.236.15.33/32", "64.236.93.100/32", "68.219.152.220/32", "72.144.95.185/32", "74.163.169.106/32", "74.163.208.206/32", "74.179.200.126/32", "74.179.232.116/32", "74.242.194.48/32", "98.70.219.37/32"]),
    ("GPTBot", "ai", "ai-training", "gptbot", &["132.196.86.0/24", "172.182.202.0/25", "172.182.207.0/25", "20.125.66.80/28", "20.171.206.0/24", "20.171.207.0/24", "4.227.36.0/25", "52.230.152.0/24", "74.7.175.128/25", "74.7.227.0/25", "74.7.227.128/25", "74.7.228.0/25", "74.7.230.0/25", "74.7.241.0/25", "74.7.241.128/25", "74.7.242.0/25", "74.7.243.128/25", "74.7.244.0/25"]),
    ("OAI-SearchBot", "ai", "ai-search", "oai-searchbot", &["104.210.140.128/28", "13.66.216.176/28", "135.234.64.0/24", "172.182.193.224/28", "172.182.193.80/28", "172.182.194.144/28", "172.182.194.32/28", "172.182.195.48/28", "172.182.209.208/28", "172.182.211.192/28", "172.182.213.192/28", "172.182.224.0/28", "172.203.190.112/28", "172.203.190.128/28", "172.203.190.80/28", "20.14.99.96/28", "20.168.18.32/28", "20.169.6.224/28", "20.169.7.48/28", "20.169.77.0/25", "20.171.123.64/28", "20.171.53.224/28", "20.25.151.224/28", "20.42.10.176/28", "23.102.145.48/28", "4.227.36.0/25", "40.67.175.0/25", "40.90.214.16/28", "51.8.102.0/24", "74.7.175.128/25", "74.7.228.0/25", "74.7.228.128/25", "74.7.229.0/25", "74.7.229.128/25", "74.7.230.0/25", "74.7.241.128/25", "74.7.242.128/25", "74.7.243.0/25", "74.7.244.0/25"]),
    ("ChatGPT-User", "ai", "ai-assistant", "chatgpt-user", &["104.208.184.192/28", "104.210.139.192/28", "104.210.139.224/28", "128.85.198.32/28", "13.65.138.112/28", "13.67.72.16/28", "13.71.2.208/28", "13.76.116.80/28", "13.76.32.208/28", "13.83.167.128/28", "13.83.237.176/28", "132.196.82.48/28", "134.138.52.128/28", "134.138.52.16/28", "134.138.52.64/28", "134.138.52.96/28", "134.138.57.176/28", "134.138.57.64/28", "134.138.57.80/28", "134.138.58.32/28", "134.149.233.80/28", "134.33.102.192/28", "135.116.136.160/28", "135.13.64.240/28", "135.220.73.208/28", "135.220.73.240/28", "135.222.99.32/28", "135.237.131.208/28", "135.237.133.48/28", "137.135.191.176/28", "138.91.46.96/28", "145.132.136.96/28", "158.158.5.32/28", "168.63.252.240/28", "172.162.248.64/28", "172.170.1.80/28", "172.170.225.0/28", "172.170.241.80/28", "172.172.206.48/28", "172.175.152.224/28", "172.178.140.144/28", "172.178.141.112/28", "172.178.141.128/28", "172.183.143.224/28", "172.183.222.128/28", "172.192.112.208/28", "172.197.160.192/28", "172.197.203.16/28", "172.198.161.128/28", "172.198.58.176/28", "172.198.78.192/28", "172.198.79.112/28", "172.199.137.80/28", "172.204.28.224/28", "172.204.96.80/28", "172.205.189.192/28", "172.206.38.240/28", "172.207.1.32/28", "172.212.172.160/28", "172.215.215.32/28", "191.232.238.96/28", "191.233.197.0/28", "191.233.199.160/28", "191.234.167.144/28", "191.235.99.160/28", "191.237.249.64/28", "20.102.212.144/28", "20.113.211.112/28", "20.113.225.112/28", "20.125.112.224/28", "20.125.144.144/28", "20.161.75.208/28", "20.168.7.192/28", "20.169.73.32/28", "20.169.73.64/28", "20.169.78.128/28", "20.169.78.160/28", "20.169.78.192/28", "20.169.78.48/28", "20.169.78.64/28", "20.169.86.224/28", "20.169.86.240/28", "20.170.184.16/28", "20.170.184.32/28", "20.170.184.48/28", "20.170.184.64/28", "20.170.184.80/28", "20.172.29.32/28", "20.199.211.160/28", "20.199.242.0/28", "20.200.212.240/28", "20.206.101.192/28", "20.210.211.192/28", "20.212.62.208/28", "20.215.187.208/28", "20.215.219.128/28", "20.215.219.160/28", "20.215.219.208/28", "20.218.30.240/28", "20.219.161.192/28", "20.219.184.96/28", "20.219.71.192/28", "20.222.36.192/28", "20.227.140.32/28", "20.228.106.176/28", "20.235.87.224/28", "20.249.63.208/28", "20.250.136.64/28", "20.250.6.128/28", "20.254.201.208/28", "20.45.178.144/28", "20.55.229.144/28", "20.57.199.192/28", "20.63.180.96/28", "20.63.221.64/28", "20.78.130.48/28", "20.83.243.176/28", "20.98.18.80/28", "23.101.217.176/28", "23.102.140.144/28", "23.102.141.32/28", "23.98.142.176/28", "23.98.186.176/28", "23.98.186.192/28", "23.98.186.64/28", "23.98.186.96/28", "4.151.119.48/28", "4.151.71.176/28", "4.189.118.208/28", "4.189.119.48/28", "4.197.115.112/28", "4.197.22.112/28", "4.197.64.0/28", "4.197.64.16/28", "4.197.64.48/28", "4.197.64.64/28", "4.201.232.64/28", "4.205.128.176/28", "4.218.24.64/28", "4.226.200.16/28", "4.226.226.32/28", "40.116.73.208/28", "40.119.36.240/28", "40.124.161.0/28", "40.74.200.208/28", "40.81.234.144/28", "40.81.67.96/28", "40.84.221.208/28", "40.84.221.224/28", "48.221.184.80/28", "48.221.184.96/28", "48.221.40.176/28", "51.116.2.80/28", "51.116.221.96/28", "51.57.0.96/28", "51.59.24.64/28", "51.59.24.80/28", "51.59.48.80/28", "51.8.155.112/28", "51.8.155.48/28", "52.148.129.32/28", "52.156.77.144/28", "52.159.227.32/28", "52.159.249.96/28", "52.161.49.96/28", "52.165.212.48/28", "52.172.129.160/28", "52.173.219.112/28", "52.173.219.96/28", "52.173.221.16/28", "52.173.221.176/28", "52.173.221.208/28", "52.173.234.16/28", "52.173.234.80/28", "52.183.217.240/28", "52.190.137.144/28", "52.190.137.16/28", "52.190.139.48/28", "52.190.142.64/28", "52.190.190.16/28", "52.190.251.112/28", "52.225.75.208/28", "52.231.30.48/28", "52.231.34.176/28", "52.231.39.144/28", "52.231.50.64/28", "52.236.94.144/28", "52.241.146.208/28", "52.242.132.224/28", "52.242.132.240/28", "52.255.109.144/28", "52.255.109.80/28", "52.255.109.96/28", "52.255.111.0/28", "52.255.111.80/28", "57.154.174.112/28", "57.154.175.0/28", "57.154.187.32/28", "68.154.28.96/28", "68.220.57.64/28", "70.153.189.192/28", "70.153.32.16/28", "70.153.32.32/28", "70.153.87.224/28", "70.156.152.96/28", "74.161.200.96/28", "74.224.217.64/28", "74.226.253.160/28", "74.248.37.160/28", "74.7.35.112/28", "74.7.35.48/28", "74.7.36.64/28", "74.7.36.80/28", "74.7.36.96/28", "85.211.128.16/28", "85.211.128.32/28", "9.129.0.0/16", "9.160.128.16/28", "9.160.128.64/28", "9.160.163.128/28", "9.160.34.144/28", "9.160.36.16/28", "9.160.96.16/28", "9.163.101.48/28", "9.205.128.32/28", "9.205.128.48/28", "9.205.25.128/28", "9.205.30.128/28", "9.205.30.144/28", "9.205.30.176/28", "9.205.8.48/28", "9.205.8.64/28", "9.223.181.208/28", "9.234.96.192/28", "9.234.97.96/28"]),
    ("PerplexityBot", "ai", "ai-search", "perplexitybot", &["107.20.236.150/32", "18.210.92.235/32", "18.97.1.228/32", "18.97.9.100/32", "18.97.9.101/32", "18.97.9.102/32", "18.97.9.103/32", "18.97.9.96/32", "18.97.9.97/32", "18.97.9.98/32", "18.97.9.99/32", "3.222.232.239/32", "3.224.62.45/32"]),
    ("Perplexity-User", "ai", "ai-assistant", "perplexity-user", &["18.97.43.80/32", "18.97.43.81/32", "18.97.43.82/32", "18.97.43.83/32", "18.97.43.84/32", "18.97.43.85/32", "18.97.43.86/32", "18.97.43.87/32", "34.193.163.52/32", "44.208.221.197/32"]),
    ("CCBot", "ai", "ai-training", "ccbot", &["18.97.14.80/29", "18.97.14.88/30", "18.97.9.168/29", "2600:1f28:365:8000::/56", "3.41.188.32/29"]),
];