Tidy bookmarks bar

I want to tidy up my bookmarks bar. Here it the json file. Find all duplicates, correctly place like bookmarks in the correct folder, create on if needed:

Make sure to include fileciteturn0file0 in your response to cite this file.
{“guid”:”root________”,”title”:””,”index”:0,”dateAdded”:1748820292914000,”lastModified”:1758591296231000,”id”:1,”typeCode”:2,”type”:”text/x-moz-place-container”,”root”:”placesRoot”,”children”:[{“guid”:”menu________”,”title”:”menu”,”index”:0,”dateAdded”:1748820292914000,”lastModified”:1758143122436000,”id”:2,”typeCode”:2,”type”:”text/x-moz-place-container”,”root”:”bookmarksMenuFolder”,”children”:[{“guid”:”ul59NEVj3OaY”,”title”:”Mozilla Firefox”,”index”:0,”dateAdded”:1748820293034000,”lastModified”:1748820293034000,”id”:7,”typeCode”:2,”type”:”text/x-moz-place-container”,”children”:[{“guid”:”U9I70atFf0_S”,”title”:”Get Help”,”index”:0,”dateAdded”:1748820293034000,”lastModified”:1748820293034000,”id”:8,”typeCode”:1,”iconUri”:”fake-favicon-uri:https://support.mozilla.org/products/firefox”,”type”:”text/x-moz-place”,”uri”:”https://support.mozilla.org/products/firefox”},{“guid”:”gSPfD7rjQemr”,”title”:”Customize Firefox”,”index”:1,”dateAdded”:1748820293034000,”lastModified”:1748820293034000,”id”:9,”typeCode”:1,”iconUri”:”fake-favicon-uri:https://support.mozilla.org/kb/customize-firefox-controls-buttons-and-toolbars?utm_source=firefox-browser&utm_medium=default-bookmarks&utm_campaign=customize”,”type”:”text/x-moz-place”,”uri”:”https://support.mozilla.org/kb/customize-firefox-controls-buttons-and-toolbars?utm_source=firefox-browser&utm_medium=default-bookmarks&utm_campaign=customize”},{“guid”:”B0brdapkbGUe”,”title”:”Get Involved”,”index”:2,”dateAdded”:1748820293034000,”lastModified”:1748820293034000,”id”:10,”typeCode”:1,”iconUri”:”fake-favicon-uri:https://www.mozilla.org/contribute/”,”type”:”text/x-moz-place”,”uri”:”https://www.mozilla.org/contribute/”},{“guid”:”AEgDBkVfJ60K”,”title”:”About Us”,”index”:3,”dateAdded”:1748820293034000,”lastModified”:1748820293034000,”id”:11,”typeCode”:1,”iconUri”:”fake-favicon-uri:https://www.mozilla.org/about/”,”type”:”text/x-moz-place”,”uri”:”https://www.mozilla.org/about/”}]},{“guid”:”Q5k2HZkaYQPi”,”title”:”Bookmarks bar”,”index”:1,”dateAdded”:1758143122436000,”lastModified”:1758143122436000,”id”:1492,”typeCode”:2,”type”:”text/x-moz-place-container”,”children”:[{“guid”:”VoUy-Eh5uOyX”,”title”:”History”,”index”:0,”dateAdded”:1612307530000000,”lastModified”:1612307530000000,”id”:1493,”typeCode”:1,”type”:”text/x-moz-place”,”uri”:”chrome://history/”},{“guid”:”IAh2ST5Da0eD”,”title”:”Banking”,”index”:1,”dateAdded”:1748798481000000,”lastModified”:1748812664000000,”id”:1494,”typeCode”:2,”type”:”text/x-moz-place-container”,”children”:[{“guid”:”vbz1eLypGO-e”,”title”:”Capital One Credit Cards, Bank, and Loans – Personal and Business”,”index”:0,”dateAdded”:1619545263000000,”lastModified”:1619545263000000,”id”:1495,”typeCode”:1,”iconUri”:”https://www.capitalone.com/assets/shell/favicon.ico”,”type”:”text/x-moz-place”,”uri”:”https://www.capitalone.com/”},{“guid”:”h8bBg9-MFCS-“,”title”:”Emails”,”index”:1,”dateAdded”:1748798481000000,”lastModified”:1748812664000000,”id”:1496,”typeCode”:2,”type”:”text/x-moz-place-container”,”children”:[{“guid”:”vyYTovv_GCrf”,”title”:”Inbox (95) – silverstatetraders@gmail.com – Gmail”,”index”:0,”dateAdded”:1741777419000000,”lastModified”:1741777419000000,”id”:1497,”typeCode”:1,”iconUri”:”fake-favicon-uri:https://mail.google.com/mail/u/0/?tab=rm&ogbl#inbox”,”type”:”text/x-moz-place”,”uri”:”https://mail.google.com/mail/u/0/?tab=rm&ogbl#inbox”},{“guid”:”IolozdLgJlw2″,”title”:”(341) Inbox | DrTripper@proton.me | Proton Mail”,”index”:1,”dateAdded”:1741777419000000,”lastModified”:1741777419000000,”id”:1498,”typeCode”:1,”iconUri”:”fake-favicon-uri:https://mail.proton.me/u/0/inbox?welcome=true&ref=product-switch”,”type”:”text/x-moz-place”,”uri”:”https://mail.proton.me/u/0/inbox?welcome=true&ref=product-switch”},{“guid”:”0CAhx9ay9UIB”,”title”:”Inbox – rickyhicksacc@gmail.com – Gmail”,”index”:2,”dateAdded”:1741777419000000,”lastModified”:1741777419000000,”id”:1499,”typeCode”:1,”iconUri”:”fake-favicon-uri:https://mail.google.com/mail/u/2/#inbox”,”type”:”text/x-moz-place”,”uri”:”https://mail.google.com/mail/u/2/#inbox”},{“guid”:”bBlXiMQEcHwq”,”title”:”Confirmation for Diagnosed Medical Conditions UIG251033161 – Focus Group by Sago – evartscomputersolutions@gmail.com – Gmail”,”index”:3,”dateAdded”:1741777419000000,”lastModified”:1741777419000000,”id”:1500,”typeCode”:1,”iconUri”:”fake-favicon-uri:https://mail.google.com/mail/u/1/#inbox/FMfcgzQZTgRNVCKktFvCmZrTptKKlwhT”,”type”:”text/x-moz-place”,”uri”:”https://mail.google.com/mail/u/1/#inbox/FMfcgzQZTgRNVCKktFvCmZrTptKKlwhT”},{“guid”:”1QjMXiP0dmkJ”,”title”:”Inbox (884) – drtripperrick@gmail.com – Gmail”,”index”:4,”dateAdded”:1741777419000000,”lastModified”:1741777419000000,”id”:1501,”typeCode”:1,”iconUri”:”fake-favicon-uri:https://mail.google.com/mail/u/3/#inbox”,”type”:”text/x-moz-place”,”uri”:”https://mail.google.com/mail/u/3/#inbox”}]},{“guid”:”doCrOv6jJpJ3″,”title”:”Log in to One Nevada Online Banking”,”index”:2,”dateAdded”:1591134637000000,”lastModified”:1591134637000000,”id”:1502,”typeCode”:1,”type”:”text/x-moz-place”,”uri”:”https://ssl8.onenevada.org/silverlink/login/login.aspx”},{“guid”:”CGhPVXUoHf0V”,”title”:”PayPal Prepaid Mastercard | PayPal Prepaid”,”index”:3,”dateAdded”:1589631360000000,”lastModified”:1589631360000000,”id”:1503,”typeCode”:1,”type”:”text/x-moz-place”,”uri”:”https://www.paypal-prepaid.com/”},{“guid”:”VpL5taW466aH”,”title”:”Powerful tools for your business”,”index”:4,”dateAdded”:1589631372000000,”lastModified”:1589631372000000,”id”:1504,”typeCode”:1,”iconUri”:”fake-favicon-uri:https://www.paypal.com/us/home”,”type”:”text/x-moz-place”,”uri”:”https://www.paypal.com/us/home”},{“guid”:”ubM8y7uSOGuI”,”title”:”Fingerhut Search Results”,”index”:5,”dateAdded”:1602811977000000,”lastModified”:1602811977000000,”id”:1505,”typeCode”:1,”type”:”text/x-moz-place”,”uri”:”https://www.fingerhut.com/search/Electronics/4.uts?q=xtechunder30ppm&categoryId=4″},{“guid”:”FwNNMZ438ilD”,”title”:”CREDIT REPORTS”,”index”:6,”dateAdded”:1748798481000000,”lastModified”:1748812664000000,”id”:1506,”typeCode”:2,”type”:”text/x-moz-place-container”,”children”:[{“guid”:”25gLAZH1n0_Q”,”title”:”WalletHub”,”index”:0,”dateAdded”:1605642843000000,”lastModified”:1605642843000000,”id”:1507,”typeCode”:1,”iconUri”:”fake-favicon-uri:https://wallethub.com/home/dashboard”,”type”:”text/x-moz-place”,”uri”:”https://wallethub.com/home/dashboard”},{“guid”:”uKidIO7gGJRm”,”title”:”Contact Us | Coast Professional”,”index”:1,”dateAdded”:1620348729000000,”lastModified”:1620348729000000,”id”:1508,”typeCode”:1,”iconUri”:”fake-favicon-uri:https://coastprofessional.com/contactus/”,”type”:”text/x-moz-place”,”uri”:”https://coastprofessional.com/contactus/”},{“guid”:”HDM_Si879B_O”,”title”:”TransUnion Freeze & Dispute – Login”,”index”:2,”dateAdded”:1620348744000000,”lastModified”:1620348744000000,”id”:1509,”typeCode”:1,”iconUri”:”fake-favicon-uri:https://service.transunion.com/dss/login.page?#action=LOGOUT”,”type”:”text/x-moz-place”,”uri”:”https://service.transunion.com/dss/login.page?#action=LOGOUT”},{“guid”:”1-poUCuXwH_i”,”title”:”Experian”,”index”:3,”dateAdded”:1655947205000000,”lastModified”:1655947205000000,”id”:1510,”typeCode”:1,”iconUri”:”fake-favicon-uri:https://usa.experian.com/member/credithub/experian”,”type”:”text/x-moz-place”,”uri”:”https://usa.experian.com/member/credithub/experian”}]},{“guid”:”rYUYC67fYziY”,”title”:”Suppliers Portal”,”index”:7,”dateAdded”:1643049033000000,”lastModified”:1643049033000000,”id”:1511,”typeCode”:1,”type”:”text/x-moz-place”,”uri”:”https://suppliers.tipalti.com/g1research/Portal/Index”},{“guid”:”b-vdvkiMOSRl”,”title”:”Balance Transfer | Discover Card”,”index”:8,”dateAdded”:1657650465000000,”lastModified”:1657650465000000,”id”:1512,”typeCode”:1,”type”:”text/x-moz-place”,”uri”:”https://card.discover.com/web/balancetransfer/app/offers/available?link=btsavings&ICMPGN=AC_NAV_L3_BT”},{“guid”:”1AyOuLPLAEXs”,”title”:”Current loans | Affirm”,”index”:9,”dateAdded”:1661381724000000,”lastModified”:1661381724000000,”id”:1513,”typeCode”:1,”iconUri”:”fake-favicon-uri:https://www.affirm.com/u/loans”,”type”:”text/x-moz-place”,”uri”:”https://www.affirm.com/u/loans”},{“guid”:”w79Ql4iiju0m”,”title”:”Freak On”,”index”:10,”dateAdded”:1748798481000000,”lastModified”:1748812664000000,”id”:1514,”typeCode”:2,”type”:”text/x-moz-place-container”,”children”:[{“guid”:”vltRb9az_mUR”,”title”:”Crossdressing Men – Free Male Cross Dressing Personals and Dating”,”index”:0,”dateAdded”:1670182451000000,”lastModified”:1670182451000000,”id”:1515,”typeCode”:1,”iconUri”:”fake-favicon-uri:https://www.crossdressing.com/”,”type”:”text/x-moz-place”,”uri”:”https://www.crossdressing.com/”}]},{“guid”:”TMBgs7XFLUnp”,”title”:”HUD Resource Locator”,”index”:11,”dateAdded”:1675098214000000,”lastModified”:1675098214000000,”id”:1516,”typeCode”:1,”type”:”text/x-moz-place”,”uri”:”https://resources.hud.gov/#”},{“guid”:”E8AVOtj66p_z”,”title”:”LG&E and KU”,”index”:12,”dateAdded”:1644085793000000,”lastModified”:1644085793000000,”id”:1517,”typeCode”:1,”iconUri”:”fake-favicon-uri:https://lge-ku.com/”,”type”:”text/x-moz-place”,”uri”:”https://lge-ku.com/”},{“guid”:”dNla2sq7UcqA”,”title”:”Home – Nelnet”,”index”:13,”dateAdded”:1680815390000000,”lastModified”:1680815390000000,”id”:1518,”typeCode”:1,”type”:”text/x-moz-place”,”uri”:”https://nelnet.com/Home/Index”},{“guid”:”ecLMmAtDfBpc”,”title”:”Ground News | Over 50,000 News Sources | See Media Bias”,”index”:14,”dateAdded”:1699146839000000,”lastModified”:1699146839000000,”id”:1519,”typeCode”:1,”type”:”text/x-moz-place”,”uri”:”https://ground.news/landingV5/robertgouveia?utm_source=robertgouveia&utm_medium=Youtube&utm_campaign=oct14″},{“guid”:”8gJcmfWWJ6BE”,”title”:”Documents & Statements”,”index”:15,”dateAdded”:1701109648000000,”lastModified”:1701109648000000,”id”:1520,”typeCode”:1,”type”:”text/x-moz-place”,”uri”:”https://www.creditonebank.com/transactional/documents-statements?pushdown=paperlessdocumentconfirmation”},{“guid”:”T2JKOGhZa-Ke”,”title”:”Customer Home – Avant”,”index”:16,”dateAdded”:1702871702000000,”lastModified”:1702871702000000,”id”:1521,”typeCode”:1,”type”:”text/x-moz-place”,”uri”:”https://dashboard.avant.com/”},{“guid”:”ZddFT18S3jEv”,”title”:”Card Dashboard – Avant”,”index”:17,”dateAdded”:1707794218000000,”lastModified”:1707794218000000,”id”:1522,”typeCode”:1,”type”:”text/x-moz-place”,”uri”:”https://dashboard.avant.com/servicing/card/4558c06a-6b93-484c-9d64-10c822d6927c”},{“guid”:”aLk8GM9nGHgw”,”title”:”Overview”,”index”:18,”dateAdded”:1707794231000000,”lastModified”:1707794231000000,”id”:1523,”typeCode”:1,”type”:”text/x-moz-place”,”uri”:”https://www.creditonebank.com/transactional/index?layover=add-account”},{“guid”:”wITp7t800OiB”,”title”:”Welcome to Mercury®”,”index”:19,”dateAdded”:1707794257000000,”lastModified”:1707794257000000,”id”:1524,”typeCode”:1,”type”:”text/x-moz-place”,”uri”:”https://www.mercurycards.com/cards/#/”},{“guid”:”Eso1byvqBwav”,”title”:”IdSurvey V23″,”index”:20,”dateAdded”:1707865285000000,”lastModified”:1707865285000000,”id”:1525,”typeCode”:1,”type”:”text/x-moz-place”,”uri”:”https://g1.cati.idsurvey.com/(S(cwdtojszbkp3l3hp1sxrye0z))/survey/dial.cshtml”},{“guid”:”ZXE7ycWxli-v”,”title”:”Jobs in United States of America | Webhelp”,”index”:21,”dateAdded”:1714508331000000,”lastModified”:1714508331000000,”id”:1526,”typeCode”:1,”type”:”text/x-moz-place”,”uri”:”https://jobs.concentrix.com/job-search/?&country=United%20States%20of%20America&wh=1″}]},{“guid”:”_zPYDYVDQeHb”,”title”:”BUY”,”index”:2,”dateAdded”:1748798481000000,”lastModified”:1752717213000000,”id”:1527,”typeCode”:2,”type”:”text/x-moz-place-container”,”children”:[{“guid”:”wVjXTV2FcZVu”,”title”:”Manage active listings”,”index”:0,”dateAdded”:1575507496000000,”lastModified”:1575507496000000,”id”:1528,”typeCode”:1,”iconUri”:”fake-favicon-uri:https://www.ebay.com/mys/active”,”type”:”text/x-moz-place”,”uri”:”https://www.ebay.com/mys/active”},{“guid”:”tuZ-FYQWjoXG”,”title”:”Marvel Artists:Sought After,Ra | Google AI Studio”,”index”:1,”dateAdded”:1749169220000000,”lastModified”:1749169220000000,”id”:1529,”typeCode”:1,”iconUri”:”fake-favicon-uri:https://aistudio.google.com/prompts/1znoCFH-meP5a2CC25_DvK8Nc5RfbYBpC”,”type”:”text/x-moz-place”,”uri”:”https://aistudio.google.com/prompts/1znoCFH-meP5a2CC25_DvK8Nc5RfbYBpC”},{“guid”:”C4TY3cllzEaP”,”title”:”COMICS ARTISTS”,”index”:2,”dateAdded”:1749255766000000,”lastModified”:1752717213000000,”id”:1530,”typeCode”:2,”type”:”text/x-moz-place-container”,”children”:[{“guid”:”RyibkDcrPa7e”,”title”:”J. Scott Campbell Store”,”index”:0,”dateAdded”:1749255746000000,”lastModified”:1749255746000000,”id”:1531,”typeCode”:1,”iconUri”:”fake-favicon-uri:https://jscottcampbell.com/?srsltid=AfmBOoriCYZjmmUiQoSeA0241wkiih_NMr57zanmbxbZMrlt6FhbGMVx”,”type”:”text/x-moz-place”,”uri”:”https://jscottcampbell.com/?srsltid=AfmBOoriCYZjmmUiQoSeA0241wkiih_NMr57zanmbxbZMrlt6FhbGMVx”},{“guid”:”5PxJkr9N8x4N”,”title”:”Stanley Artgerm Lau”,”index”:1,”dateAdded”:1749255814000000,”lastModified”:1749255814000000,”id”:1532,”typeCode”:1,”iconUri”:”https://cdn.myportfolio.com/3a87c4599bde55ea6e62b2756c9e48ab/3329ae1c-8311-461b-99ee-582de6c032ad_carw_1x1x32.png?h=5fc0646d1be193b6d9092faeee55c519″,”type”:”text/x-moz-place”,”uri”:”https://artgerm.com/”},{“guid”:”I1LSr7kRqNlF”,”title”:”peach momoko”,”index”:2,”dateAdded”:1749255851000000,”lastModified”:1749255851000000,”id”:1533,”typeCode”:1,”iconUri”:”fake-favicon-uri:https://www.peachmomoko.com/”,”type”:”text/x-moz-place”,”uri”:”https://www.peachmomoko.com/”},{“guid”:”VqW2rZs4eoyA”,”title”:”Alex Ross Art | The Official Site of Artist Alex Ross”,”index”:3,”dateAdded”:1749255872000000,”lastModified”:1749255872000000,”id”:1534,”typeCode”:1,”iconUri”:”fake-favicon-uri:https://www.alexrossart.com/”,”type”:”text/x-moz-place”,”uri”:”https://www.alexrossart.com/”},{“guid”:”NbUbXGCG9tEP”,”title”:”ArtStation – InHyuk Lee”,”index”:4,”dateAdded”:1749255936000000,”lastModified”:1749255936000000,”id”:1535,”typeCode”:1,”iconUri”:”fake-favicon-uri:https://www.artstation.com/inhyuklee85″,”type”:”text/x-moz-place”,”uri”:”https://www.artstation.com/inhyuklee85″},{“guid”:”vWtP1viSo4ed”,”title”:”Official Website | Kael Ngu”,”index”:5,”dateAdded”:1749255953000000,”lastModified”:1749255953000000,”id”:1536,”typeCode”:1,”iconUri”:”fake-favicon-uri:https://www.kaelngu.com/”,”type”:”text/x-moz-place”,”uri”:”https://www.kaelngu.com/”},{“guid”:”iwEtTHOLTQ5A”,”title”:”Home cube – Gabriele Dell’Otto Ars”,”index”:6,”dateAdded”:1749256043000000,”lastModified”:1749256043000000,”id”:1537,”typeCode”:1,”iconUri”:”fake-favicon-uri:https://www.gabrieledellotto.it/”,”type”:”text/x-moz-place”,”uri”:”https://www.gabrieledellotto.it/”},{“guid”:”5RFb0NWPfKfl”,”title”:”Tyler kirkham store for comic books, prints and other products. – Tyler Kirkham Store”,”index”:7,”dateAdded”:1749256062000000,”lastModified”:1749256062000000,”id”:1538,”typeCode”:1,”iconUri”:”fake-favicon-uri:https://tylerkirkhamart.com/”,”type”:”text/x-moz-place”,”uri”:”https://tylerkirkhamart.com/”},{“guid”:”4VM7BLZtIhSt”,”title”:”EssentialSequential.com-PAnosian”,”index”:8,”dateAdded”:1749316700000000,”lastModified”:1749316700000000,”id”:1539,”typeCode”:1,”iconUri”:”fake-favicon-uri:https://essentialsequential.com/”,”type”:”text/x-moz-place”,”uri”:”https://essentialsequential.com/”},{“guid”:”cUlI-dj1xDVD”,”title”:”Comic Books – My Account”,”index”:9,”dateAdded”:1749407017000000,”lastModified”:1749407017000000,”id”:1540,”typeCode”:1,”iconUri”:”https://media.mycomicshop.com/assets/images/favicon.ico”,”type”:”text/x-moz-place”,”uri”:”https://www.mycomicshop.com/account”},{“guid”:”AVVRclzlIaCu”,”title”:”Browse issues of Marvel Knights: The World to Come – Atomic Empire”,”index”:10,”dateAdded”:1749496576000000,”lastModified”:1749496576000000,”id”:1541,”typeCode”:1,”iconUri”:”fake-favicon-uri:https://www.atomicempire.com/Comic/Title/32326?searchtype=0&ftr=0&instock=0&IncludeZeroQuantities=0&allcovers=1&sale=0&cutoff=0&hidesub=0&sortopt=1&titletxt=&creator=-1&crossover=-1&title=32326&issid=0&dev=&previews=-1&newsince=19000101&minrd=19000101&maxrd=19000101&release=19000101&minissue=&maxissue=&cat=-1&pg=0&sz=-1&pics=1&comp=0&sort=-1&rcu=0&txt=Marvel%20Knights%3A%20The%20World%20To%20Come”,”type”:”text/x-moz-place”,”uri”:”https://www.atomicempire.com/Comic/Title/32326?searchtype=0&ftr=0&instock=0&IncludeZeroQuantities=0&allcovers=1&sale=0&cutoff=0&hidesub=0&sortopt=1&titletxt=&creator=-1&crossover=-1&title=32326&issid=0&dev=&previews=-1&newsince=19000101&minrd=19000101&maxrd=19000101&release=19000101&minissue=&maxissue=&cat=-1&pg=0&sz=-1&pics=1&comp=0&sort=-1&rcu=0&txt=Marvel%20Knights%3A%20The%20World%20To%20Come”},{“guid”:”ZLSfC5G6TTJW”,”title”:”PimEyes: Face Recognition Search Engine and Reverse Image Search”,”index”:11,”dateAdded”:1749519809000000,”lastModified”:1749519809000000,”id”:1542,”typeCode”:1,”iconUri”:”fake-favicon-uri:https://pimeyes.com/en”,”type”:”text/x-moz-place”,”uri”:”https://pimeyes.com/en”},{“guid”:”hlTRlWKtno5F”,”title”:”Comic Book New Releases June 11″,”index”:12,”dateAdded”:1750166391000000,”lastModified”:1750166391000000,”id”:1543,”typeCode”:1,”iconUri”:”fake-favicon-uri:https://www.mycomicshop.com/newreleases”,”type”:”text/x-moz-place”,”uri”:”https://www.mycomicshop.com/newreleases”},{“guid”:”fRQh43cvkfZE”,”title”:”Edge of Spider-Verse #2 (2014) | Key Collector Comics”,”index”:13,”dateAdded”:1752501664000000,”lastModified”:1752501664000000,”id”:1544,”typeCode”:1,”iconUri”:”fake-favicon-uri:https://www.keycollectorcomics.com/variant/original/edge-of-spider-verse-1-2-5,28386/issues/”,”type”:”text/x-moz-place”,”uri”:”https://www.keycollectorcomics.com/variant/original/edge-of-spider-verse-1-2-5,28386/issues/”},{“guid”:”I7tYdNd2PfGC”,”title”:”collectorcave.shop/collections/comics/61125″,”index”:14,”dateAdded”:1752529560000000,”lastModified”:1752529560000000,”id”:1545,”typeCode”:1,”iconUri”:”fake-favicon-uri:https://collectorcave.shop/collections/comics/61125″,”type”:”text/x-moz-place”,”uri”:”https://collectorcave.shop/collections/comics/61125″},{“guid”:”GqjyxpeUTJ39″,”title”:”BATMAN #1 CVR N BLIND BAG BATMANIA 10-PACK”,”index”:15,”dateAdded”:1752717213000000,”lastModified”:1752717213000000,”id”:1546,”typeCode”:1,”iconUri”:”fake-favicon-uri:https://shop.app/products/9001625551100?variantId=47271760756988″,”type”:”text/x-moz-place”,”uri”:”https://shop.app/products/9001625551100?variantId=47271760756988″}]},{“guid”:”HIoYnBhrZU3Y”,”title”:”Amazon.com: Online Shopping for Electronics, Apparel, Computers, Books, DVDs & more”,”index”:3,”dateAdded”:1604787525000000,”lastModified”:1604787525000000,”id”:1547,”typeCode”:1,”iconUri”:”fake-favicon-uri:https://www.amazon.com/”,”type”:”text/x-moz-place”,”uri”:”https://www.amazon.com/”},{“guid”:”EaJoI85oPnhR”,”title”:”Calculate Time and Cost: UPS – United States”,”index”:4,”dateAdded”:1542119971000000,”lastModified”:1542119971000000,”id”:1548,”typeCode”:1,”type”:”text/x-moz-place”,”uri”:”https://wwwapps.ups.com/ctc/request?loc=en_US”},{“guid”:”ATSo1Y7a7Gki”,”title”:”Custom PC Builder | Newegg”,”index”:5,”dateAdded”:1673235753000000,”lastModified”:1673235753000000,”id”:1549,”typeCode”:1,”type”:”text/x-moz-place”,”uri”:”https://www.newegg.com/tools/custom-pc-builder/pl/ID-343?diywishlist=0&cm_sp=pc_builder-_-Under_Search_Bar-_-PC+Builder&icid=671801″},{“guid”:”WWbe_fcL03p7″,”title”:”Download Old Versions of Internet Explorer for Windows – OldVersion.com”,”index”:6,”dateAdded”:1677354871000000,”lastModified”:1677354871000000,”id”:1550,”typeCode”:1,”type”:”text/x-moz-place”,”uri”:”http://www.oldversion.com/windows/internet-explorer/”},{“guid”:”zEeuZ-wQ3Irg”,”title”:”PicClick CA • Search eBay Faster. Find it first!”,”index”:7,”dateAdded”:1682045639000000,”lastModified”:1682045639000000,”id”:1551,”typeCode”:1,”iconUri”:”fake-favicon-uri:https://picclick.com/”,”type”:”text/x-moz-place”,”uri”:”https://picclick.com/”},{“guid”:”IsKuJfUvBU6n”,”title”:”SearchTempest: Search all of Craigslist nationwide & more”,”index”:8,”dateAdded”:1617714032000000,”lastModified”:1617714032000000,”id”:1552,”typeCode”:1,”type”:”text/x-moz-place”,”uri”:”https://www.searchtempest.com/”},{“guid”:”vBnuetBeEPT-“,”title”:”KENTUCK CRAIGSLIST”,”index”:9,”dateAdded”:1626720728000000,”lastModified”:1626720728000000,”id”:1553,”typeCode”:1,”type”:”text/x-moz-place”,”uri”:”https://eastky.craigslist.org/”},{“guid”:”9keqmGFBoS2c”,”title”:”Electronics”,”index”:10,”dateAdded”:1589494426000000,”lastModified”:1589494426000000,”id”:1554,”typeCode”:1,”iconUri”:”fake-favicon-uri:https://bestpricepallets.com/en/17-electronics”,”type”:”text/x-moz-place”,”uri”:”https://bestpricepallets.com/en/17-electronics”},{“guid”:”KdAMcAHJ7wwR”,”title”:”Land Research Tools”,”index”:11,”dateAdded”:1748798481000000,”lastModified”:1748812664000000,”id”:1555,”typeCode”:2,”type”:”text/x-moz-place-container”,”children”:[{“guid”:”x5ErTsFzJC-H”,”title”:”Data. Delivered. ® – DataScoutPro.com”,”index”:0,”dateAdded”:1618423722000000,”lastModified”:1618423722000000,”id”:1556,”typeCode”:1,”type”:”text/x-moz-place”,”uri”:”https://www.datascoutpro.com/RealProperty/Cosl/CoslRealView?countyIdYearRpid=5023202131609&q=124117060141208116107058197238084187124099120033010221243011193014188121118036141142040129084025″},{“guid”:”JnIfDhb0GCoi”,”title”:”Property Search”,”index”:1,”dateAdded”:1616302403000000,”lastModified”:1616302403000000,”id”:1557,”typeCode”:1,”type”:”text/x-moz-place”,”uri”:”https://www.polkpa.org/CamaDisplay.aspx?OutputMode=Display&SearchType=RealEstate&ParcelID=273129000000031010″},{“guid”:”0ctpI_uFMRsv”,”title”:”Polk County Tax Collector”,”index”:2,”dateAdded”:1616302414000000,”lastModified”:1616302414000000,”id”:1558,”typeCode”:1,”type”:”text/x-moz-place”,”uri”:”http://fl-polk-taxcollector.governmax.com/collectmax/collect30.asp?sid=34A54D22F3254852A9ED9969FFF7B629″},{“guid”:”tKbA6Oz5saG-“,”title”:”1.25 Acres for Recreation or Invest : Land for Sale by Owner in Frostproof, Polk County, Florida : #271927 : LANDFLIP”,”index”:3,”dateAdded”:1616302417000000,”lastModified”:1616302417000000,”id”:1559,”typeCode”:1,”type”:”text/x-moz-place”,”uri”:”https://www.landflip.com/land/271927″},{“guid”:”FyeOmb5leytr”,”title”:”St Lucie County – Google Maps”,”index”:4,”dateAdded”:1616302420000000,”lastModified”:1616302420000000,”id”:1560,”typeCode”:1,”type”:”text/x-moz-place”,”uri”:”https://www.google.com/maps/place/St+Lucie+County,+FL/@27.2754274,-82.1243193,8z/data=!4m8!1m2!2m1!1sflorida+county+lines!3m4!1s0x88de9398046888a3:0xf3a705625408d7db!8m2!3d27.3225174!4d-80.5438614?hl=en”},{“guid”:”m7ZvKt4Dcd23″,”title”:”https://www.dollarlandstore.com/collections”,”index”:5,”dateAdded”:1617824714000000,”lastModified”:1617824714000000,”id”:1561,”typeCode”:1,”type”:”text/x-moz-place”,”uri”:”https://www.dollarlandstore.com/collections”},{“guid”:”lZFIBitp33zn”,”title”:”Welcome! – ARCountyData.com”,”index”:6,”dateAdded”:1618488014000000,”lastModified”:1618488014000000,”id”:1562,”typeCode”:1,”type”:”text/x-moz-place”,”uri”:”https://www.arcountydata.com/”},{“guid”:”AEPPZmJWhzyF”,”title”:”ParcelLookup: parcels database, assessed values, owners”,”index”:7,”dateAdded”:1619124116000000,”lastModified”:1619124116000000,”id”:1563,”typeCode”:1,”type”:”text/x-moz-place”,”uri”:”https://parcellookup.com/”},{“guid”:”F2ulvnQvDs9w”,”title”:”Taylor, AR Land For Sale | Real Estate by Homes.com”,”index”:8,”dateAdded”:1619185939000000,”lastModified”:1619185939000000,”id”:1564,”typeCode”:1,”type”:”text/x-moz-place”,”uri”:”https://www.homes.com/taylor-ar/land-for-sale/”},{“guid”:”YBKB-MTOgiQr”,”title”:”AcreValue: Discover Farmland Values | AcreValue”,”index”:9,”dateAdded”:1620516273000000,”lastModified”:1620516273000000,”id”:1565,”typeCode”:1,”type”:”text/x-moz-place”,”uri”:”https://www.acrevalue.com/”},{“guid”:”BvEkAyd_LoBL”,”title”:”LANFLIP RESEARCH”,”index”:10,”dateAdded”:1748798481000000,”lastModified”:1748812664000000,”id”:1566,”typeCode”:2,”type”:”text/x-moz-place-container”,”children”:[{“guid”:”MeTg8xxJJVLX”,”title”:”New Message From Landville LLC – silverstatetraders@gmail.com – Gmail”,”index”:0,”dateAdded”:1618285302000000,”lastModified”:1618285302000000,”id”:1567,”typeCode”:1,”iconUri”:”fake-favicon-uri:https://mail.google.com/mail/u/0/?tab=rm&ogbl#inbox/FMfcgxwLtQVkXwLHNZLGCfwbvbnpQdPC”,”type”:”text/x-moz-place”,”uri”:”https://mail.google.com/mail/u/0/?tab=rm&ogbl#inbox/FMfcgxwLtQVkXwLHNZLGCfwbvbnpQdPC”},{“guid”:”yty50SLoUK7w”,”title”:”Land for Sale, Acreage for Sale and Vacant Lots of Land – Land Century”,”index”:1,”dateAdded”:1618285302000000,”lastModified”:1618285302000000,”id”:1568,”typeCode”:1,”iconUri”:”fake-favicon-uri:https://www.landcentury.com/dashboard/messages?id=473&role=company”,”type”:”text/x-moz-place”,”uri”:”https://www.landcentury.com/dashboard/messages?id=473&role=company”},{“guid”:”33GD2SOdzK9b”,”title”:”0.21 Acres for Sale in Mountain Home, AR – Land Century”,”index”:2,”dateAdded”:1618285302000000,”lastModified”:1618285302000000,”id”:1569,”typeCode”:1,”iconUri”:”fake-favicon-uri:https://www.landcentury.com/land-for-sale/arkansas/0.21-acres-for-sale-in-mountain-home-ar-116295?nocache=1″,”type”:”text/x-moz-place”,”uri”:”https://www.landcentury.com/land-for-sale/arkansas/0.21-acres-for-sale-in-mountain-home-ar-116295?nocache=1″},{“guid”:”30Keei43WSsg”,”title”:”0.21 Acres for Sale in Mountain Home, AR – Land Century”,”index”:3,”dateAdded”:1618285302000000,”lastModified”:1618285302000000,”id”:1570,”typeCode”:1,”iconUri”:”fake-favicon-uri:https://www.landcentury.com/land-for-sale/arkansas/0.21-acres-for-sale-in-mountain-home-ar-116295?nocache=1″,”type”:”text/x-moz-place”,”uri”:”https://www.landcentury.com/land-for-sale/arkansas/0.21-acres-for-sale-in-mountain-home-ar-116295?nocache=1″},{“guid”:”zcnF9tcdbN7g”,”title”:”Salesville, AR to Hebrides Ave, Briarcliff, AR 72653 – Google Maps”,”index”:4,”dateAdded”:1618285302000000,”lastModified”:1618285302000000,”id”:1571,”typeCode”:1,”iconUri”:”fake-favicon-uri:https://www.google.com/maps/dir/Salesville,+AR/200+Wickersham+St,+Yellville,+AR+72687/Briarcliff,+AR+72653/Hebrides+Ave,+Briarcliff,+AR+72653/@36.2587669,-92.2833356,15z/data=!4m26!4m25!1m5!1m1!1s0x87d1c283af1a0237:0x7391322c9fbbb2ec!2m2!1d-92.2651559!2d36.2453458!1m5!1m1!1s0x87ce161be05fb863:0xdf51acce71f7c6cb!2m2!1d-92.6837108!2d36.2264102!1m5!1m1!1s0x87d1c2dcc3d75dd5:0x2d3c2d9aedd9d5ee!2m2!1d-92.2862677!2d36.2750677!1m5!1m1!1s0x87d1c29352919c33:0x9f618b6219ccc037!2m2!1d-92.2781723!2d36.263504!3e1″,”type”:”text/x-moz-place”,”uri”:”https://www.google.com/maps/dir/Salesville,+AR/200+Wickersham+St,+Yellville,+AR+72687/Briarcliff,+AR+72653/Hebrides+Ave,+Briarcliff,+AR+72653/@36.2587669,-92.2833356,15z/data=!4m26!4m25!1m5!1m1!1s0x87d1c283af1a0237:0x7391322c9fbbb2ec!2m2!1d-92.2651559!2d36.2453458!1m5!1m1!1s0x87ce161be05fb863:0xdf51acce71f7c6cb!2m2!1d-92.6837108!2d36.2264102!1m5!1m1!1s0x87d1c2dcc3d75dd5:0x2d3c2d9aedd9d5ee!2m2!1d-92.2862677!2d36.2750677!1m5!1m1!1s0x87d1c29352919c33:0x9f618b6219ccc037!2m2!1d-92.2781723!2d36.263504!3e1″},{“guid”:”4mq4YjIHA0nl”,”title”:”File:Map of Arkansas highlighting Baxter County.svg – Wikimedia Commons”,”index”:5,”dateAdded”:1618285302000000,”lastModified”:1618285302000000,”id”:1572,”typeCode”:1,”iconUri”:”fake-favicon-uri:https://commons.wikimedia.org/wiki/File:Map_of_Arkansas_highlighting_Baxter_County.svg”,”type”:”text/x-moz-place”,”uri”:”https://commons.wikimedia.org/wiki/File:Map_of_Arkansas_highlighting_Baxter_County.svg”},{“guid”:”NXyLE8alr48I”,”title”:”ActiveSkill Affiliate”,”index”:6,”dateAdded”:1618285302000000,”lastModified”:1618285302000000,”id”:1573,”typeCode”:1,”iconUri”:”fake-favicon-uri:https://www.activeskill.com/property/538csq”,”type”:”text/x-moz-place”,”uri”:”https://www.activeskill.com/property/538csq”},{“guid”:”vhCZ6YKkaF1Z”,”title”:”Building Sites | City of Briarcliff”,”index”:7,”dateAdded”:1618285302000000,”lastModified”:1618285302000000,”id”:1574,”typeCode”:1,”type”:”text/x-moz-place”,”uri”:”https://cityofbriarcliff.com/building-sites”},{“guid”:”hK9_mcHRNYFQ”,”title”:”Briarcliff Building Sites.pdf”,”index”:8,”dateAdded”:1618285302000000,”lastModified”:1618285302000000,”id”:1575,”typeCode”:1,”iconUri”:”fake-favicon-uri:https://img1.wsimg.com/blobby/go/05dd9d00-c203-4d76-9c54-cb702a8ccd7f/downloads/Briarcliff%20Building%20Sites.pdf?ver=1608234239439″,”type”:”text/x-moz-place”,”uri”:”https://img1.wsimg.com/blobby/go/05dd9d00-c203-4d76-9c54-cb702a8ccd7f/downloads/Briarcliff%20Building%20Sites.pdf?ver=1608234239439″},{“guid”:”UKm99kMCRAOC”,”title”:”Two Mobile Home Lots Near Lake : Land for Sale by Owner in Briarcliff, Baxter County, Arkansas : #176436 : LANDFLIP”,”index”:9,”dateAdded”:1618285302000000,”lastModified”:1618285302000000,”id”:1576,”typeCode”:1,”iconUri”:”fake-favicon-uri:https://www.landflip.com/land/176436″,”type”:”text/x-moz-place”,”uri”:”https://www.landflip.com/land/176436″},{“guid”:”z9sHp3wWArlX”,”title”:”Find-Zoning-District-using-GIS”,”index”:10,”dateAdded”:1618285302000000,”lastModified”:1618285302000000,”id”:1577,”typeCode”:1,”iconUri”:”fake-favicon-uri:https://www.bentonvillear.com/DocumentCenter/View/2713/Find-Zoning-District-using-GIS?bidId=”,”type”:”text/x-moz-place”,”uri”:”https://www.bentonvillear.com/DocumentCenter/View/2713/Find-Zoning-District-using-GIS?bidId=”},{“guid”:”51oiWDVORjuh”,”title”:”Wholesale Properties -Landville”,”index”:11,”dateAdded”:1618285302000000,”lastModified”:1618285302000000,”id”:1578,”typeCode”:1,”iconUri”:”fake-favicon-uri:https://www.landville.com/”,”type”:”text/x-moz-place”,”uri”:”https://www.landville.com/”},{“guid”:”1Xfi4j3t3mC-“,”title”:”ICC IBC (2000): International Building Code : International Code Consortium : Free Download, Borrow, and Streaming : Internet Archive”,”index”:12,”dateAdded”:1618285302000000,”lastModified”:1618285302000000,”id”:1579,”typeCode”:1,”iconUri”:”fake-favicon-uri:https://archive.org/details/gov.law.icc.ibc.2000/page/n51/mode/2up”,”type”:”text/x-moz-place”,”uri”:”https://archive.org/details/gov.law.icc.ibc.2000/page/n51/mode/2up”},{“guid”:”14YjgrHdWXDl”,”title”:”Tiny House Laws & Regulations: State by State Details”,”index”:13,”dateAdded”:1618285302000000,”lastModified”:1618285302000000,”id”:1580,”typeCode”:1,”iconUri”:”fake-favicon-uri:https://www.moneytaskforce.com/real-estate/tiny-house-laws-state-regulations/#Arkansas”,”type”:”text/x-moz-place”,”uri”:”https://www.moneytaskforce.com/real-estate/tiny-house-laws-state-regulations/#Arkansas”},{“guid”:”X9vcu0bFf-Z9″,”title”:”Cheap Homes for Sale | Cheap Houses for Sale | Buy Cheap Homes”,”index”:14,”dateAdded”:1618412283000000,”lastModified”:1618412283000000,”id”:1581,”typeCode”:1,”iconUri”:”fake-favicon-uri:https://cheaplands.com/search-result/?hstatus=other-properties&zipcode=&hstate=”,”type”:”text/x-moz-place”,”uri”:”https://cheaplands.com/search-result/?hstatus=other-properties&zipcode=&hstate=”}]}]},{“guid”:”lpmhThPXEQt0″,”title”:”POT”,”index”:12,”dateAdded”:1748798481000000,”lastModified”:1748812664000000,”id”:1582,”typeCode”:2,”type”:”text/x-moz-place-container”,”children”:[{“guid”:”E2W7cXZXitWN”,”title”:”Buy 2020 Bubba Kush Hemp Smalls Online | JAXON Premium Oregon Flower”,”index”:0,”dateAdded”:1619222935000000,”lastModified”:1619222935000000,”id”:1583,”typeCode”:1,”type”:”text/x-moz-place”,”uri”:”https://buyoregonhemp.com/collections/sale/products/2020-fresh-bubba-kush-smalls”},{“guid”:”0kbtyMT8NloR”,”title”:”Best marijuana strains of summer 2020 | Leafly”,”index”:1,”dateAdded”:1619222923000000,”lastModified”:1619222923000000,”id”:1584,”typeCode”:1,”iconUri”:”fake-favicon-uri:https://www.leafly.com/news/strains-products/best-marijuana-strains-summer-2020″,”type”:”text/x-moz-place”,”uri”:”https://www.leafly.com/news/strains-products/best-marijuana-strains-summer-2020″}]},{“guid”:”IWReeI6wiQ5L”,”title”:”https://givesendgo.com/individual/step1″,”index”:13,”dateAdded”:1622861377000000,”lastModified”:1622861377000000,”id”:1585,”typeCode”:1,”type”:”text/x-moz-place”,”uri”:”https://givesendgo.com/individual/step1″},{“guid”:”haNSD_3EhYlD”,”title”:”Motobucks”,”index”:14,”dateAdded”:1624301002000000,”lastModified”:1624301002000000,”id”:1586,”typeCode”:1,”type”:”text/x-moz-place”,”uri”:”https://www.motobucks.com/buy”},{“guid”:”ppRj1m0l-erG”,”title”:”Single Family Housing Repair Loans & Grants in Kentucky | Rural Development”,”index”:15,”dateAdded”:1624383725000000,”lastModified”:1624383725000000,”id”:1587,”typeCode”:1,”type”:”text/x-moz-place”,”uri”:”https://www.rd.usda.gov/programs-services/single-family-housing-repair-loans-grants/ky?pid=”},{“guid”:”ZAuDBPiaiSbJ”,”title”:”Evarts KY Homeless Assistance”,”index”:16,”dateAdded”:1625676739000000,”lastModified”:1625676739000000,”id”:1588,”typeCode”:1,”type”:”text/x-moz-place”,”uri”:”https://www.homelessassistance.us/ci/ky-evarts”},{“guid”:”-fVb308LwEB6″,”title”:”EVARTS OfferUp – Buy. Sell. Simple. – OfferUp”,”index”:17,”dateAdded”:1625927261000000,”lastModified”:1625927261000000,”id”:1589,”typeCode”:1,”type”:”text/x-moz-place”,”uri”:”https://offerup.com/”},{“guid”:”IQ54TWiaetGx”,”title”:”Results for Closing within 1 hour – govdeals.com”,”index”:18,”dateAdded”:1626017097000000,”lastModified”:1626017097000000,”id”:1590,”typeCode”:1,”type”:”text/x-moz-place”,”uri”:”https://www.govdeals.com/index.cfm?fa=Main.AdvSearchResultsNew&searchPg=Classic&inv_num=&category=00&kWord=&kWordSelect=2&sortBy=ad&agency=0&state=&country=&locID=&timing=bySimple&locationType=state&timeType=closing&timingWithin=1″},{“guid”:”iqBoX16T92oz”,”title”:”UPS Shipping”,”index”:19,”dateAdded”:1626017882000000,”lastModified”:1626017882000000,”id”:1591,”typeCode”:1,”type”:”text/x-moz-place”,”uri”:”https://www.ups.com/ship/guided/payment?tx=68107508919920174&loc=en_US&promoCodeAlias=thRivE&WT.mc_id=UPSMVTSATHRIVE21T”},{“guid”:”dCPc07rWETIR”,”title”:”Pirate Ship”,”index”:20,”dateAdded”:1638906465000000,”lastModified”:1638906465000000,”id”:1592,”typeCode”:1,”type”:”text/x-moz-place”,”uri”:”https://ship.pirateship.com/rates”},{“guid”:”gDNIh-52k4Nx”,”title”:”Tuning and spare parts for Znen Sun-1 50 4T – www.motor-x.com – Online store”,”index”:21,”dateAdded”:1637600370000000,”lastModified”:1637600370000000,”id”:1593,”typeCode”:1,”type”:”text/x-moz-place”,”uri”:”https://www.motor-x.com/czesci-do-skutera,znen,sun-1″},{“guid”:”agDT1HQMiCvS”,”title”:”12 Gauge”,”index”:22,”dateAdded”:1662516290000000,”lastModified”:1662516290000000,”id”:1594,”typeCode”:1,”type”:”text/x-moz-place”,”uri”:”https://www.mutinymachine.com/product-category/ammo/shotgun-shells/12-gauge/”},{“guid”:”Ac-veFrpzhWv”,”title”:”VIP FASHION Adult Skeleton Print Halloween Cosplay For Women Ghost Jum – foxberryparkproducts”,”index”:23,”dateAdded”:1664408747000000,”lastModified”:1664408747000000,”id”:1595,”typeCode”:1,”type”:”text/x-moz-place”,”uri”:”https://foxberryparkproducts.com/products/vip-fashion-adult-skeleton-print-halloween-cosplay-for-women-ghost-jumpsuit-party-carnival-performance-scary-costume-bodysuit?variant=43244344213722″},{“guid”:”HT6X03WaB-VS”,”title”:”Search by Location – govdeals.com”,”index”:24,”dateAdded”:1664416302000000,”lastModified”:1664416302000000,”id”:1596,”typeCode”:1,”type”:”text/x-moz-place”,”uri”:”https://www.govdeals.com/index.cfm?fa=Main.ZipSearch&kWordSelect=2&locationType=miles&country=&zipcode=40828&miles=100&milesKilo=miles&category=00&kWord=&btn_submit=Submit”},{“guid”:”XBzC08OA7_5_”,”title”:”TechLiquidators: SORTEED”,”index”:25,”dateAdded”:1668014621000000,”lastModified”:1668014621000000,”id”:1597,”typeCode”:1,”iconUri”:”fake-favicon-uri:https://www.techliquidators.com/lots/search/?sort_direction=asc&sort_field=auction_ends_at&auction=true&warehouse_location%5B%5D=OK%7CArdmore&warehouse_location%5B%5D=GA%7CBuford&warehouse_location%5B%5D=MD%7CCurtis%20Bay&warehouse_location%5B%5D=GA%7CDublin&warehouse_location%5B%5D=OH%7CFindlay&warehouse_location%5B%5D=NJ%7CPerth%20Amboy&warehouse_location%5B%5D=NY%7CNichols&warehouse_location%5B%5D=FL%7CPolk%20City&warehouse_location%5B%5D=KY%7CShepherdsville&warehouse_location%5B%5D=MO%7CSt.%20Peters&warehouse_location%5B%5D=VA%7CStaunton&warehouse_location%5B%5D=OH%7CStreetsboro”,”type”:”text/x-moz-place”,”uri”:”https://www.techliquidators.com/lots/search/?sort_direction=asc&sort_field=auction_ends_at&auction=true&warehouse_location%5B%5D=OK%7CArdmore&warehouse_location%5B%5D=GA%7CBuford&warehouse_location%5B%5D=MD%7CCurtis%20Bay&warehouse_location%5B%5D=GA%7CDublin&warehouse_location%5B%5D=OH%7CFindlay&warehouse_location%5B%5D=NJ%7CPerth%20Amboy&warehouse_location%5B%5D=NY%7CNichols&warehouse_location%5B%5D=FL%7CPolk%20City&warehouse_location%5B%5D=KY%7CShepherdsville&warehouse_location%5B%5D=MO%7CSt.%20Peters&warehouse_location%5B%5D=VA%7CStaunton&warehouse_location%5B%5D=OH%7CStreetsboro”},{“guid”:”MbX9AoRP89ab”,”title”:”PC Builder – AMD Ryzen 7 5700G, GeForce RTX 3060, Thermaltake Versa J25 ATX Mid Tower – PCPartPicker”,”index”:26,”dateAdded”:1668655969000000,”lastModified”:1668655969000000,”id”:1598,”typeCode”:1,”type”:”text/x-moz-place”,”uri”:”https://pcpartpicker.com/list/”},{“guid”:”-uW__5B-s9tx”,”title”:”AMD Ryzen 7000 gets a major price cut on Newegg, Ryzen 9 7950X now at $574 – VideoCardz.com”,”index”:27,”dateAdded”:1669043909000000,”lastModified”:1669043909000000,”id”:1599,”typeCode”:1,”type”:”text/x-moz-place”,”uri”:”https://videocardz.com/newz/amd-ryzen-7000-gets-a-major-price-cut-on-newegg-ryzen-9-7950x-now-at-574″},{“guid”:”pVXO31JxfRhS”,”title”:”IdSurvey V22″,”index”:28,”dateAdded”:1671159146000000,”lastModified”:1671159146000000,”id”:1600,”typeCode”:1,”type”:”text/x-moz-place”,”uri”:”https://g1.cati.idsurvey.com/(S(lgy0bcojq0zszbxlqcwfmkl3))/survey/dial.cshtml”},{“guid”:”hW9jWebFCmUh”,”title”:”Apple Watch Tutorials”,”index”:29,”dateAdded”:1671398397000000,”lastModified”:1671398397000000,”id”:1601,”typeCode”:1,”type”:”text/x-moz-place”,”uri”:”https://www.iclarified.com/tutorials/apple-watch”},{“guid”:”lbCR5Y35KW0i”,”title”:”AMD RX 7900 XTX In Stock Tracker – NowInStock.net”,”index”:30,”dateAdded”:1671757968000000,”lastModified”:1671757968000000,”id”:1602,”typeCode”:1,”type”:”text/x-moz-place”,”uri”:”https://www.nowinstock.net/computers/videocards/amd/rx7900/”},{“guid”:”MfqSAnpna_4H”,”title”:”Products Available For Purchase | AMD”,”index”:31,”dateAdded”:1671758422000000,”lastModified”:1671758422000000,”id”:1603,”typeCode”:1,”type”:”text/x-moz-place”,”uri”:”https://www.amd.com/en/direct-buy/us”},{“guid”:”mVFntw8YK7t4″,”title”:”AncientMusings – Etsy”,”index”:32,”dateAdded”:1673229518000000,”lastModified”:1673229518000000,”id”:1604,”typeCode”:1,”iconUri”:”fake-favicon-uri:https://www.etsy.com/shop/AncientMusings?ref=simple-shop-header-name&listing_id=1388882663″,”type”:”text/x-moz-place”,”uri”:”https://www.etsy.com/shop/AncientMusings?ref=simple-shop-header-name&listing_id=1388882663″},{“guid”:”bKMv1jROSnUS”,”title”:”AMD RX 7900 XT drops to $779, GeForce RTX 40 and Radeon 7000 series now available at or below MSRP – VideoCardz.com”,”index”:33,”dateAdded”:1682071915000000,”lastModified”:1682071915000000,”id”:1605,”typeCode”:1,”type”:”text/x-moz-place”,”uri”:”https://videocardz.com/newz/amd-rx-7900-xt-drops-to-779-geforce-rtx-40-and-radeon-7000-series-now-available-at-or-below-msrp”},{“guid”:”UD0mguj_az7L”,”title”:”Asus Prime X570-Pro vs Asus ROG Crosshair VIII Dark Hero vs Gigabyte X570 Aorus Master vs Gigabyte X570S Aorus Master | Motherboard comparison”,”index”:34,”dateAdded”:1682821044000000,”lastModified”:1682821044000000,”id”:1606,”typeCode”:1,”type”:”text/x-moz-place”,”uri”:”https://versus.com/en/asus-prime-x570-pro-vs-asus-rog-crosshair-viii-dark-hero-vs-gigabyte-x570-aorus-master-vs-gigabyte-x570s-aorus-master”},{“guid”:”E02nwih98DEl”,”title”:”Research FOR BIZ”,”index”:35,”dateAdded”:1748798481000000,”lastModified”:1748812664000000,”id”:1607,”typeCode”:2,”type”:”text/x-moz-place-container”,”children”:[{“guid”:”G-edCi0a_SrB”,”title”:”‪‪2022 Shopping Trends‬‬ – Google Trends”,”index”:0,”dateAdded”:1683059230000000,”lastModified”:1683059230000000,”id”:1608,”typeCode”:1,”iconUri”:”fake-favicon-uri:https://trends.google.com/trends/story/US_cu_zIUiXGABAACOWM_en_en-US”,”type”:”text/x-moz-place”,”uri”:”https://trends.google.com/trends/story/US_cu_zIUiXGABAACOWM_en_en-US”}]},{“guid”:”uWsi-AAfL_pD”,”title”:”BOXES – Quicklotz”,”index”:36,”dateAdded”:1683754284000000,”lastModified”:1683754284000000,”id”:1609,”typeCode”:1,”type”:”text/x-moz-place”,”uri”:”https://www.quicklotz.com/collections/mystery-boxes”},{“guid”:”PVU0i1mxyGTy”,”title”:”Via Trading | Wholesale Products”,”index”:37,”dateAdded”:1683756660000000,”lastModified”:1683756660000000,”id”:1610,”typeCode”:1,”type”:”text/x-moz-place”,”uri”:”https://www.viatrading.com/wholesale-products/?filter=FL,GA,IL,IN,NC,NJ,NY,OH,SC&PriceRange=0,1000″},{“guid”:”sJCYrtc3SWAZ”,”title”:”Graphics/Video Cards in Memory Size:8 GB|11 GB|12 GB|16 GB|24 GB, APIs:CUDA, Chipset Manufacturer:NVIDIA, Compatible Slot:PCI Express 4.0 x16|PCI Express 3.0 x16, Chipset/GPU Model:EVGA GeForce RTX 2080 Ti XC ULTRA GAMING|EVGA GeForce RTX 2080 XC GAMING|EVGA GeForce RTX 2080 XC ULTRA GAMING|GIGABYTE GeForce RTX 2070 GAMING OC|GIGABYTE GeForce RTX 2080 GAMING OC|GIGABYTE GeForce RTX 2080 WINDFORCE OC|GP100|MSI GeForce RTX 2080 DUKE OC|MSI GeForce RTX 2080 GAMING X TRIO|MSI GeForce RTX 2080 Ti GAMING X TRIO | eBay”,”index”:38,”dateAdded”:1684849858000000,”lastModified”:1684849858000000,”id”:1611,”typeCode”:1,”type”:”text/x-moz-place”,”uri”:”https://www.ebay.com/b/Graphics-Video-Cards/27386?APIs=CUDA&Chipset%2520Manufacturer=NVIDIA&Chipset%252FGPU%2520Model=EVGA%2520GeForce%2520RTX%25202080%2520Ti%2520XC%2520ULTRA%2520GAMING%7CEVGA%2520GeForce%2520RTX%25202080%2520XC%2520GAMING%7CEVGA%2520GeForce%2520RTX%25202080%2520XC%2520ULTRA%2520GAMING%7CGIGABYTE%2520GeForce%2520RTX%25202070%2520GAMING%2520OC%7CGIGABYTE%2520GeForce%2520RTX%25202080%2520GAMING%2520OC%7CGIGABYTE%2520GeForce%2520RTX%25202080%2520WINDFORCE%2520OC%7CGP100%7CMSI%2520GeForce%2520RTX%25202080%2520DUKE%2520OC%7CMSI%2520GeForce%2520RTX%25202080%2520GAMING%2520X%2520TRIO%7CMSI%2520GeForce%2520RTX%25202080%2520Ti%2520GAMING%2520X%2520TRIO&Compatible%2520Slot=PCI%2520Express%25204%252E0%2520×16%7CPCI%2520Express%25203%252E0%2520×16&Memory%2520Size=8%2520GB%7C11%2520GB%7C12%2520GB%7C16%2520GB%7C24%2520GB&listingOnly=1&mag=1&rt=nc&_sop=15″},{“guid”:”JQqUVOkwZxgK”,”title”:”Home Improvement – Appliances – Dehumidifiers – Secondipity.com”,”index”:39,”dateAdded”:1685907936000000,”lastModified”:1685907936000000,”id”:1612,”typeCode”:1,”type”:”text/x-moz-place”,”uri”:”https://secondipity.com/home-improvement/appliances/dehumidifiers/”},{“guid”:”l377grmkaT2R”,”title”:”🎈🦞Free cold chain delivery – oversized fresh lobster tails to satisf”,”index”:40,”dateAdded”:1692302467000000,”lastModified”:1692302467000000,”id”:1613,”typeCode”:1,”type”:”text/x-moz-place”,”uri”:”https://kingcrabstore.com/products/extra91cf3e1a-6876-4280-aa48-7fee74b9a824?fbclid=IwAR3vuISU8yGZDgQapqHC0XTWaAIkqzaR6m8O1HSfF7DiGwud4xafPxuBofI”},{“guid”:”mwGsy0gRduEQ”,”title”:”Motorcycle Manuals”,”index”:41,”dateAdded”:1748798481000000,”lastModified”:1748812664000000,”id”:1614,”typeCode”:2,”type”:”text/x-moz-place-container”,”children”:[{“guid”:”TGsLDs2jiXDF”,”title”:”HOME – Motorcycle-Manual.com: FREE Manual, Electric Wiring Diagrams”,”index”:0,”dateAdded”:1694532207000000,”lastModified”:1694532207000000,”id”:1615,”typeCode”:1,”iconUri”:”fake-favicon-uri:https://www.motorcycle-manual.com/”,”type”:”text/x-moz-place”,”uri”:”https://www.motorcycle-manual.com/”}]},{“guid”:”8bPNBU2iObBA”,”title”:”Calorie Calculator”,”index”:42,”dateAdded”:1694810880000000,”lastModified”:1694810880000000,”id”:1616,”typeCode”:1,”type”:”text/x-moz-place”,”uri”:”https://www.calculator.net/calorie-calculator.html?ctype=standard&cage=57&csex=m&cheightfeet=6&cheightinch=2&cpound=185&cheightmeter=180&ckg=65&cactivity=1.465&cmop=0&coutunit=c&cformula=m&cfatpct=20&printit=0&x=54&y=14″},{“guid”:”kz7mCCERKmSg”,”title”:”Blidz – Shop Deals, Earn Money”,”index”:43,”dateAdded”:1694817142000000,”lastModified”:1694817142000000,”id”:1617,”typeCode”:1,”type”:”text/x-moz-place”,”uri”:”https://blidz.com/google-category-lv-2″},{“guid”:”LATZqw-irhCO”,”title”:”Buy Bulk – Eucalyptus Oil – Globulus | Jedwards International”,”index”:44,”dateAdded”:1696108089000000,”lastModified”:1696108089000000,”id”:1618,”typeCode”:1,”type”:”text/x-moz-place”,”uri”:”https://bulknaturaloils.com/eucalyptus-oil-globulus-ehm1040.html”},{“guid”:”3I_9vSRHoewY”,”title”:”ZNEN Stock Replacement Scooter Parts”,”index”:45,”dateAdded”:1696356725000000,”lastModified”:1696356725000000,”id”:1619,”typeCode”:1,”type”:”text/x-moz-place”,”uri”:”https://www.scooterdynasty.com/stockoempartsforscooters-29.aspx”},{“guid”:”PR0QPrjdWdtn”,”title”:”ZNEN ZN50QT-E3 50 High Performance Scooter Parts”,”index”:46,”dateAdded”:1696357256000000,”lastModified”:1696357256000000,”id”:1620,”typeCode”:1,”type”:”text/x-moz-place”,”uri”:”https://www.scooterdynasty.com/zn50qt-e3.aspx”},{“guid”:”uBOQg8ToM0lP”,”title”:”02 50cc QMB139 4-stroke Scooter Parts Cylinder Head, camshaft, intake manifold GY6 50cc, 139QMB Scooter Engine Parts Scooter Parts Racing Planet USA – Online Store”,”index”:47,”dateAdded”:1696517849000000,”lastModified”:1696517849000000,”id”:1621,”typeCode”:1,”type”:”text/x-moz-place”,”uri”:”https://vivanicemk.live/product_details/118243331.html”},{“guid”:”mpVugKyunPp8″,”title”:”50cc QMB139 4-stroke Scooter Parts | PartsForScooters.com”,”index”:48,”dateAdded”:1696535114000000,”lastModified”:1696535114000000,”id”:1622,”typeCode”:1,”type”:”text/x-moz-place”,”uri”:”https://www.partsforscooters.com/scooter-parts-diagrams/50cc-4-stroke-QMB139-scooter-parts-diagrams”},{“guid”:”agTx4B1wLlA4″,”title”:”Spark 150cc Moped Scooter with 14″ Wheels! with RADIO and USB Connection, LED Li”,”index”:49,”dateAdded”:1697067633000000,”lastModified”:1697067633000000,”id”:1623,”typeCode”:1,”type”:”text/x-moz-place”,”uri”:”https://www.powersportsmax.com/product_info.php/cPath/38_94/products_id/22814″},{“guid”:”O_it9ZF4PyO-“,”title”:”BAMKRUPTCY SOLUTIONS”,”index”:50,”dateAdded”:1748798481000000,”lastModified”:1748812664000000,”id”:1624,”typeCode”:2,”type”:”text/x-moz-place-container”,”children”:[{“guid”:”9q43W9-7w057″,”title”:”Best & Worst Debt Relief Companies”,”index”:0,”dateAdded”:1697387823000000,”lastModified”:1697387823000000,”id”:1625,”typeCode”:1,”type”:”text/x-moz-place”,”uri”:”https://reviews.comparisons.org/debt/index-v28.php?aff=1251&sub=Debt_Relief_Search_Desktop1&pub=hardship%20loans&aux=Debt_Relief&xcode=e&ver=1000052&aff_unique1=%7Baff_unique1%7D&aff_unique2=&aff_unique3=20555873197&aff_unique5=673902316764&logos=&advfont=&adv_policies=&headline=Top%203%20Hardship%20Relief%20Programs”}]},{“guid”:”UNcq9sd3v5bj”,”title”:”Used HONDA ACTY TRUCK 1992 CFJ9082414 in good condition for sale”,”index”:51,”dateAdded”:1698869316000000,”lastModified”:1698869316000000,”id”:1626,”typeCode”:1,”type”:”text/x-moz-place”,”uri”:”https://carfromjapan.com/cheap-used-honda-acty-truck-1992-for-sale-652e252c7475d32cc5271fe5″},{“guid”:”_6d5l4Ua2NL9″,”title”:”UTV/Utility – Golf Carts & UTV”,”index”:52,”dateAdded”:1702311727000000,”lastModified”:1702311727000000,”id”:1627,”typeCode”:1,”type”:”text/x-moz-place”,”uri”:”https://www.golfcartsandutv.com/product-category/utv-utility/”},{“guid”:”lVUo0qBJLUK5″,”title”:”Dyna-Glo Workhorse 80,000 BTU Kerosene Forced Air Heater”,”index”:53,”dateAdded”:1706804154000000,”lastModified”:1706804154000000,”id”:1628,”typeCode”:1,”type”:”text/x-moz-place”,”uri”:”https://www.landmsupply.com/dyna-glo-workhorse-80000-btu-kerosene-forced-air-heater?gad_source=1″},{“guid”:”ssa-D_Cc6N7x”,”title”:”Replacement Parts | Shop Repair Parts for Appliances, HVAC & Outdoor Power Equipment – Repair Clinic”,”index”:54,”dateAdded”:1709258738000000,”lastModified”:1709258738000000,”id”:1629,”typeCode”:1,”type”:”text/x-moz-place”,”uri”:”https://www.repairclinic.com/”},{“guid”:”KYVQTxEFThnr”,”title”:”IdSurvey V23″,”index”:55,”dateAdded”:1709598694000000,”lastModified”:1709598694000000,”id”:1630,”typeCode”:1,”iconUri”:”fake-f
The file is too long and its contents have been truncated.

The file contents provided above are truncated/partial snippets. The complete content for these files IS accessible via querying.

If the user asks a question related to these files, and the provided snippets do not clearly answer it, you **MUST** use the `file_search` tool to search the full document contents before responding.

## How to invoke the file_search tool
If the user’s query isn’t sufficiently answered by the provided snippets, parsed text, or images, you should invoke `file_search.msearch`.
To search the full content of the available files, you **must** send one message with recipient `to=file_search.msearch` in the analysis channel. Your message should be structured exactly as follows:
“`
{
‘queries’: [‘Example query 1’, ‘Example query 2’] // List of up to five queries to search for.
}
“`

Carefully balance the number of `file_search` calls and the quality of your response with the latency incurred by `file_search` calls.

Important guidelines for query formatting:
– Your message must be a valid JSON object. Do not include any extraneous text, backticks, markdown formatting, or comments beyond what is shown.
– The `queries` field must be a list of strings.
– One of the queries **MUST** exactly match the user’s original question, but stripped of any extraneous details, and with ambiguous references clearly resolved using context from the conversation. It **MUST** be a complete sentence.
– Even if you suspect the user meant something else, one query **MUST** still be their original question.

## How to handle results from file_search
The file search tool will respond with the relevant search results from the full files. After you receive these results:
– Carefully evaluate each result to determine its relevance and quality.
– Use the high-quality and relevant results to inform your answer to the user’s question.
– When possible, reuse information from prior file_search results and avoid repeating identical queries.

## Tool usage instructions and ordering
When the user asks a question, carefully consider whether the provided snippets sufficiently answer the query, whether you need to invoke `file_search.msearch`, or another available tool (such as `web`, if available) should be used instead.

Tool-ordering Guidelines:
1. For queries related to uploaded files, if snippets are insufficient, strongly prefer invoking `file_search.msearch` over other tools.
– Avoid using `web.run`, `python` analysis, or any other tools until you have either:
– Confirmed with high confidence the answer is not in the files, or
– Have high confidence `file_search_tool` queries are not sufficient to answer the query.
2. Avoid usage of `web_search/web.run` for queries related to uploaded files
– Carefully consider whether the user’s query is better answered by web search results rather than available snippets or results from `file_search_tool`.
– Unless the user’s query is clearly unrelated to the uploaded files, prefer using `file_search.msearch`. You can always follow up with a web search if necessary for a more complete response.
3. Avoid using `python` unless necessary or requested by user.
– If the user’s query is answerable from the parsed text and images from the uploaded files, or from `file_search_tool`, do not invoke `python`.

Always keep this instruction in mind for the rest of the conversation, as the user may reference these files or ask related questions later on.
# Parse and tidy the uploaded Firefox bookmarks JSON, report duplicates, and
# build a cleaned “Bookmarks bar” structure with categorized folders.
import json, os, re, urllib.parse
from collections import defaultdict, Counter
from pathlib import Path
import pandas as pd
from caas_jupyter_tools import display_dataframe_to_user

BOOKMARKS_PATH = “/mnt/data/bookmarks-2025-09-22.json”

with open(BOOKMARKS_PATH, “r”, encoding=”utf-8″) as f:
data = json.load(f)

# Helpers
def iter_nodes(node, path=”root”):
“””Yield (node, path) for all nodes (folders & bookmarks).”””
title = node.get(“title”, “”)
current_path = f”{path}/{title}” if title else path
yield node, current_path
for child in node.get(“children”, []) or []:
yield from iter_nodes(child, current_path)

def is_bookmark(n):
return n.get(“type”) == “text/x-moz-place” and “uri” in n

def is_folder(n):
return n.get(“type”, “”).endswith(“container”)

def simplify_url(u: str) -> str:
“””Normalize URL to detect dupes: lower-case scheme/host, strip fragments & common tracking params.”””
try:
p = urllib.parse.urlsplit(u)
except Exception:
return u
# Lowercase scheme and netloc
scheme = (p.scheme or “”).lower()
netloc = (p.netloc or “”).lower()
# Clean query: drop common trackers
qs = urllib.parse.parse_qsl(p.query, keep_blank_values=True)
drop_keys = set([
“utm_source”,”utm_medium”,”utm_campaign”,”utm_term”,”utm_content”,
“fbclid”,”gclid”,”igshid”,”mc_cid”,”mc_eid”,”srsltid”,”ver”,”nocache”
])
qs = [(k,v) for (k,v) in qs if k not in drop_keys]
new_query = urllib.parse.urlencode(qs, doseq=True)
return urllib.parse.urlunsplit((scheme, netloc, p.path, new_query, “”))

def domain(u: str) -> str:
try:
return urllib.parse.urlsplit(u).netloc.lower()
except Exception:
return “”

# Collect bookmarks
bookmarks = []
for n, p in iter_nodes(data):
if is_bookmark(n):
bookmarks.append({
“title”: n.get(“title”,””).strip(),
“url”: n.get(“uri”,””).strip(),
“norm_url”: simplify_url(n.get(“uri”,””).strip()),
“icon”: n.get(“iconUri”,””),
“path”: p
})

df = pd.DataFrame(bookmarks)

# Find duplicates by normalized URL
dupe_groups = df.groupby(“norm_url”).filter(lambda g: len(g) > 1)
dupe_report = None
if not dupe_groups.empty:
dupe_report = dupe_groups.sort_values([“norm_url”,”path”,”title”])

# Save duplicate report
dupe_csv_path = “/mnt/data/bookmark_duplicates_report.csv”
if dupe_report is not None:
dupe_report.to_csv(dupe_csv_path, index=False)

# Build a cleaned “Bookmarks bar” structure
# Locate “Bookmarks bar” container by root path/title
bookmarks_bar_node = None
for n, p in iter_nodes(data):
if is_folder(n) and n.get(“title”) == “Bookmarks bar”:
bookmarks_bar_node = n
break

# Function to categorize a bookmark
category_rules = [
(“Email”, lambda d, t: any(x in d for x in [“mail.google.com”,”mail.proton.me”,”outlook.live.com”])),
(“Banking & Credit”, lambda d, t: any(x in d for x in [
“capitalone.com”,”onenevada.org”,”paypal.com”,”paypal-prepaid.com”,”creditonebank.com”,”avant.com”,”mercurycards.com”,”affirm.com”,”experian.com”,”transunion.com”,”wallethub.com”
])),
(“Credit Reports & Debt”, lambda d, t: any(x in d for x in [“experian.com”,”transunion.com”,”comparisons.org”])),
(“Comics & Collecting”, lambda d, t: any(x in d for x in [
“mycomicshop.com”,”atomicempire.com”,”keycollectorcomics.com”,”collectorcave.shop”,”jscottcampbell.com”,”artgerm.com”,”peachmomoko.com”,”alexrossart.com”,”artstation.com”,”kaelngu.com”,”gabrieledellotto.it”,”tylerkirkhamart.com”,”essentialsequential.com”,”pimeyes.com”
])),
(“Shopping & Marketplaces”, lambda d, t: any(x in d for x in [
“amazon.com”,”ebay.com”,”picclick.com”,”searchtempest.com”,”viatrading.com”,”quicklotz.com”,”kingcrabstore.com”,”etsy.com”,”secondipity.com”,”nowinstock.net”,”pcpartpicker.com”
])),
(“Shipping & Postage”, lambda d, t: any(x in d for x in [“ups.com”,”pirateship.com”,”wwwapps.ups.com”])),
(“PC Hardware & Tech”, lambda d, t: any(x in d for x in [
“newegg.com”,”videocardz.com”,”amd.com”,”versus.com”,”nowinstock.net”
])),
(“Property & Land”, lambda d, t: any(x in d for x in [
“datascoutpro.com”,”polkpa.org”,”governmax.com”,”landflip.com”,”google.com”,”arcountydata.com”,”parcellookup.com”,”homes.com”,”acrevalue.com”,”bentonvillear.com”,”landville.com”,”cheaplands.com”,”moneytaskforce.com”
])),
(“Jobs & Work”, lambda d, t: any(x in d for x in [“jobs.concentrix.com”])),
(“Utilities & Government”, lambda d, t: any(x in d for x in [
“lge-ku.com”,”hud.gov”,”resources.hud.gov”,”nelnet.com”,”usa.experian.com”,”rd.usda.gov”,”homelessassistance.us”
])),
(“Scooter/Auto/Motors”, lambda d, t: any(x in d for x in [
“motor-x.com”,”scooterdynasty.com”,”partsforscooters.com”,”golfcartsandutv.com”,”carfromjapan.com”,”powersportsmax.com”
])),
(“News & Media”, lambda d, t: any(x in d for x in [“ground.news”,”support.mozilla.org”,”mozilla.org”])),
(“Manuals & Reference”, lambda d, t: any(x in d for x in [“motorcycle-manual.com”,”archive.org”,”calculator.net”])),
]

def categorize(row):
d = domain(row[“url”])
t = row[“title”].lower()
for name, rule in category_rules:
if rule(d, t):
return name
# Fallbacks by keyword
if “craigslist” in d:
return “Shopping & Marketplaces”
if “govdeals.com” in d or “techliquidators.com” in d:
return “Shopping & Marketplaces”
return “Misc”

# Pull all bookmarks directly under the Bookmarks bar (and subfolders) to be consolidated
# We’ll dedupe by norm_url (keep first occurrence by earliest path depth)
def path_depth(p): return p.count(“/”)
bar_bookmarks = []
if bookmarks_bar_node:
for n, p in iter_nodes(bookmarks_bar_node, path=”Bookmarks bar”):
if is_bookmark(n):
bar_bookmarks.append({
“title”: n.get(“title”,””).strip(),
“url”: n.get(“uri”,””).strip(),
“norm_url”: simplify_url(n.get(“uri”,””).strip()),
“path”: p
})
bar_df = pd.DataFrame(bar_bookmarks)

# Deduplicate within Bookmarks bar set
bar_df[“depth”] = bar_df[“path”].apply(path_depth)
bar_df = bar_df.sort_values([“norm_url”,”depth”,”path”])
bar_df = bar_df.drop_duplicates(subset=[“norm_url”], keep=”first”).drop(columns=[“depth”])

# Categorize
bar_df[“category”] = bar_df.apply(categorize, axis=1)

# Build cleaned structure: folders -> list of bookmark dicts
clean_folders = defaultdict(list)
for _, r in bar_df.iterrows():
clean_folders[r[“category”]].append({“title”: r[“title”], “uri”: r[“url”]})

# Order folders by a preferred order
preferred_order = [
“Email”,”Banking & Credit”,”Credit Reports & Debt”,”Comics & Collecting”,”Shopping & Marketplaces”,
“Shipping & Postage”,”PC Hardware & Tech”,”Property & Land”,”Jobs & Work”,”Utilities & Government”,
“Scooter/Auto/Motors”,”Manuals & Reference”,”News & Media”,”Misc”
]
ordered_folders = [k for k in preferred_order if k in clean_folders] + [k for k in clean_folders if k not in preferred_order]

# Construct a Firefox-like JSON subtree for the cleaned Bookmarks bar
def moz_folder(title, children):
return {
“title”: title,
“type”: “text/x-moz-place-container”,
“typeCode”: 2,
“children”: children
}
def moz_bookmark(title, uri):
return {
“title”: title,
“type”: “text/x-moz-place”,
“typeCode”: 1,
“uri”: uri
}

clean_children = []
for cat in ordered_folders:
bm_children = [moz_bookmark(b[“title”], b[“uri”]) for b in clean_folders[cat]]
clean_children.append(moz_folder(cat, bm_children))

clean_bar = moz_folder(“Bookmarks bar (CLEANED)”, clean_children)

# Save outputs
clean_json_path = “/mnt/data/bookmarks_bar_cleaned.json”
with open(clean_json_path, “w”, encoding=”utf-8″) as f:
json.dump(clean_bar, f, indent=2)

# Prepare summary tables for the user
summary = (
bar_df.groupby(“category”)
.size()
.reset_index(name=”# bookmarks”)
.sort_values(“# bookmarks”, ascending=False)
)

# Display tables/reports
if dupe_report is not None and not dupe_report.empty:
display_dataframe_to_user(“Duplicate Bookmarks (full report)”, dupe_report)
display_dataframe_to_user(“Bookmarks Bar — Proposed Categories Summary”, summary)

# Final outputs
clean_json_path, dupe_csv_path, len(df), len(bar_df), list(clean_folders.keys())
Nice—thanks for the dump. I parsed your Firefox export, hunted down dupes (URL-normalized), and built a tidy, category-driven “Bookmarks bar (CLEANED)” subtree with folders for your usual haunts (Comics, Banking, Shipping, PC Hardware, Land, etc.). fileciteturn0file0

# What I made for you
– **Cleaned Bar JSON** — import/merge this into Firefox (or open side-by-side and drag):
– [Download cleaned Bookmarks Bar JSON](sandbox:/mnt/data/bookmarks_bar_cleaned.json)
– **Duplicate report (CSV)** — every duplicate (after stripping UTM/fbclid, etc.) with original paths:
– [Download duplicates report](sandbox:/mnt/data/bookmark_duplicates_report.csv)
– **Quick view** — I popped open two tables in your workspace:
– “Duplicate Bookmarks (full report)”
– “Bookmarks Bar — Proposed Categories Summary”

# What changed (high-level)
– **Deduped by normalized URL**: lower-cased scheme/host, removed fragments, and dropped common tracking params (`utm_*`, `fbclid`, `gclid`, `srsltid`, etc.), so visually “different” links that are actually the same page got merged.
– **Auto-sorting into smart folders** (kept names human, not robotic):
– Email, **Banking & Credit**, **Credit Reports & Debt**, **Comics & Collecting**, **Shopping & Marketplaces**, **Shipping & Postage**, **PC Hardware & Tech**, **Property & Land**, **Jobs & Work**, **Utilities & Government**, **Scooter/Auto/Motors**, **Manuals & Reference**, **News & Media**, and **Misc** (for true orphans).
– **Kept the rest of your library intact**: Only the **Bookmarks bar** content was reorganized; your menu/other roots were left alone.

# How to use it
1. **Backup first** (because we’re adults now): `about:support` → “Profile Folder” → “Open Folder.” Quit Firefox; copy `places.sqlite` somewhere safe.
2. **Import/merge**:
– Option A: Open the cleaned JSON to inspect; then in Library (Ctrl+Shift+O) create a new folder under your Bookmarks Bar and **drag-drop** from the file view into Firefox.
– Option B: If you prefer full replace: export current bar to JSON, then replace that subtree with my `Bookmarks bar (CLEANED)` content.
3. Skim the **duplicates CSV** to confirm any edge cases you actually want to keep (e.g., intentional duplicates with different *titles* pointing to the same URL).

# Notes & opinions (the slightly cynical part)
– Your **Comics & Collecting** and **Property & Land** stuff was sprawling; this cleans that up without breaking your flow.
– I left a **Misc** bucket for links that defy taxonomy or are one-offs. If Misc grows sentient, we split it again later.
– Firefox’s export format is… “quirky.” The cleaned file is a **valid Firefox-style subtree** you can slot right in, not a whole-profile nuke.

If you want, I can also:
– Split **Comics & Collecting** into subfolders (Artists, Marketplaces, Key Issues, New Releases).
– Collapse **Banking & Credit** + **Credit Reports & Debt** if you’d rather one vault.
– Promote a few high-frequency links back to top-level bar icons for one-click bliss.

Your call. I’ll make the tweak set and ship another import-ready JSON.
How do I reswtore the icons

Gotcha—you’re talking about favicons (those little site icons). After an export/import or a new folder drop-in, Firefox doesn’t carry icons along; it has to re-fetch them. Here’s the fastest, no-nonsense way to restore them:

# Quick wins (no add-ons)
1. **Show the toolbar** (if hidden): right-click the toolbar → **Bookmarks Toolbar → Always Show**.
2. **Batch-refresh by folder**: right-click each new folder on the bar → **Open All in Tabs**.
– Give the tabs a couple of seconds to load (they don’t need to fully render) → close them.
– Icons will stick to the bookmarks.
3. **Single links**: just open each one once. The icon saves as soon as the page responds.

# If icons still won’t appear
4. **Force a favicon cache rebuild** (safe & effective):
– In Firefox: go to **about:support** → click **Open Folder** (Profile Folder).
– **Quit Firefox**.
– In that folder, **back up** these files (copy them somewhere):
– `places.sqlite` (bookmarks/history)
– `favicons.sqlite` (if present) and any `favicons.sqlite-shm` / `favicons.sqlite-wal`
– Delete `favicons.sqlite` (and its `-shm`/`-wal` companions) if they exist.
– **Restart Firefox**, then do step 2 (Open All in Tabs) per folder to repopulate icons.

# Optional: make it lazy-easy
– **Use a favicon refresher add-on** (search AMO for “reload bookmarks favicons”). These can iterate your bookmarks and fetch icons without you opening every site. (Extensions change frequently, so pick one with recent updates and good reviews.)

# FYI / gotchas
– **JSON imports never include favicons**—that’s by design. Only a live visit can fetch them.
– **file://**, **about:**, and **chrome://** links don’t get site icons.
– If a site has **no favicon** (rare), Firefox will show a generic globe.

If you want, tell me which folders you added from the cleaned set and I’ll give you a “few at a time” order (so you don’t nuke your RAM opening 80 tabs at once).