<prompt> Andika programu ya Golang ambayo huchambua tovuti fulani kwa viungo vyote vya ndani na nje, kuzihifadhi katika hifadhidata ya SQLite, na kutengeneza ramani ya tovuti katika umbizo la XML.PLINFORMAT  <response>: kifurushi kikuukuagiza databasesqlusimbajixmlfmtioioutilloginethttpneturlosgithub.comPuerkitoBiogoquery_ github.commattngo-sqlite3chapa muundo wa SitemapIndex XMLName xml.Jina xml:sitemapindexRamani za tovuti Mpangilio wa tovuti xml:ramani ya tovutichapa muundo wa ramani ya tovuti Loc kamba xml:locfunc main ikiwa lenos.Args ! 2 fmt.PrintlnMatumizi: go run main.go os.Toka1targetURL : os.Args1db, kosa : sql.Funguasqlite3, .links.dbcheckErrorhitilafuahirisha db.FungacreateTabledbinternalLinks, externalLinks : scrapeLinkstargetURLstoreLinksinternalLinks, ndani, dbstoreLinksexternalLinks, nje, dbtengeneza ramani ya tovutiinternalLinksFunc checkErrorkosa kosa ikiwa makosa ! nil log.Fatalhitilafufunc createTabledb sql.DB swali : TUNZA JEDWALI IKIWA HAIPO viungo id INTEGER PRIMARY Key OUTOINCREMENT,url TEXT NOT NULL UNIQUE,chapa MAANDISHI SIYO BATILI;_, kosa : db.ExechojacheckErrorhitilafufunc scrapeLinkstargetURL kamba ramanistringbool, ramanistringbool jibu, kosa : http.GettargetURLcheckErrorhitilafudefer resp.Body.Closedoc, err : goquery.NewDocumentFromReaderresp.BodycheckErrorhitilafuinternalLinks : makemapstringboolexternalLinks : makemapstringbooldoc.Findahref.Kilafunc_ int, s goquery.Selection href, _ : s.AttrhreflinkURL, kosa : url.ParsehrefcheckErrorhitilafuikiwa linkURL.IsAbs ikiwa linkURL.Host resp.Request.URL.Host internalLinkslinkURL.String kweli nyengine externalLinkslinkURL.String kweli nyengine solvedURL : resp.Request.URL.ResolveReferencelinkURLinternalLinksresolvedURL.String kwelirudisha Viungo vya ndani, Viungo vya njefunc storeLinksviungo ramanistringbool, linkType string, db sql.DB kwa kiungo : viungo mbalimbali insertLinkkiungo, linkType, dbfunc insertLinkurl, linkType string, db sql.DB query : INGIZA AU PUUZA KATIKA viungo url, aina THAMANI ?, ?stmt, err : db.PreparehojaangaliaKosahitilafu_, makosa stmt.Execurl, linkTypeangaliaKosahitilafufunc generateSitemapramani ya viungo vya ndanistringbool sitemaps : makeRamani ya tovuti, 0, leninternalLinkskwa kiungo : mbalimbali internalLinks sitemaps appendsitemaps, SitemapLoc: linksitemapIndex : SitemapIndexRamani za tovuti: ramani za tovuti,xmlData, err : xml.MarshalIndentsitemapIndex, , angaliaKosahitilafuerr ioutil.WriteFilesitemap.xml, xmlData, 0644angaliaKosahitilafufmt.PrintlnImetolewa ramani ya tovuti.xml 