1"use strict";(self.webpackChunkangular_basic=self.webpackChunkangular_basic||[]).push([[740],{8740:(R,d,p)=>{p.r(d),p.d(d,{ExamplesModule:()=>j});var _=p(14287),l=p(94666),c=p(71670),m=p(49860),e=p(22560),x=p(97465),f=p(67446),v=p(34497),h=p(58987),g=p(84522),w=p(68795),T=p(42260),y=p(16211),Z=p(81324),C=p(98767);const E=["step1"],A=["step2"],M=["step3"],U=["step4"];function b(i,a){if(1&i){const t=e.EpF();e.TgZ(0,"div",7,8),e._uU(2,"(1) Create a new trip "),e.TgZ(3,"div",9)(4,"div",10)(5,"span"),e._uU(6,"After login you see"),e.qZA()(),e._UZ(7,"img",11),e.TgZ(8,"div",10)(9,"span"),e._uU(10,"After click to add a new trip fill out the popup"),e.qZA(),e.TgZ(11,"p",12),e._uU(12," You need to fill out the country or region where you want to travel to. If you do not fill a trip name, Trip4You will take a default trip name. The dates for your travel you can define later. "),e.qZA()(),e._UZ(13,"img",13),e.TgZ(14,"div",10)(15,"span"),e._uU(16,"Click Ok-button to store your trip"),e.qZA()(),e._UZ(17,"img",14),e.TgZ(18,"div",10)(19,"span"),e._uU(20,"Click to open new trip"),e.qZA()()(),e.TgZ(21,"div",15),e.NdJ("click",function(){e.CHM(t);const o=e.oxw();return e.KtG(o.onNextStep())}),e._uU(22,"Next step ..."),e.qZA()()}}function k(i,a){if(1&i){const t=e.EpF();e.TgZ(0,"div",7,16),e._uU(2,"(2) Add first place(city) and use 'Place-Explorer' "),e.TgZ(3,"div",9)(4,"div",10)(5,"span"),e._uU(6,"After opening the trip you see"),e.qZA()(),e._UZ(7,"img",17),e.TgZ(8,"div",10)(9,"span"),e._uU(10,"Click icon 'C' to add a new place(city)"),e.qZA()(),e._UZ(11,"img",18),e.TgZ(12,"p",12),e._uU(13,' Type in the name of a city. During typing Trip4You shows some possibilities in a list. You can choose one or continue to type in a name which is unknown by "Trip4You". If the place/city is in the list, its better to choose it from the list. If you choose it from the list your place is already linked with the stored information of it. '),e.qZA(),e.TgZ(14,"div",10)(15,"span"),e._uU(16,"Click to start 'Place-Explorer' to find information about the place"),e.qZA()(),e._UZ(17,"img",19),e.TgZ(18,"p",12),e._uU(19," 'Place-Explorer' shows stored information about the place and helps you to find what to see/do, where to sleep, to eat and more. Actually there is only information for few places stored in Trip4You. But for each place you can try the links to Wikivoyage, Wikitravel or search with Tripadvisor or Booking.com. With the menu you can select what you are interested in. First 'What to see/do' is selected. A click on a link opens the website in a new register of your browser. If this link is interesting and you want to save it with your place click icon '+'. The same way stored features like 'What to see/do', 'Accomodation' 'Restaurants' "),e.qZA(),e.TgZ(20,"div",10)(21,"span"),e._uU(22,"Click icon '+' (in circle) to add an interesting link to your place"),e.qZA()(),e.TgZ(23,"span",12),e._uU(24," After clicking you see the item added to the place"),e.qZA(),e._UZ(25,"img",20),e.TgZ(26,"div",10)(27,"span"),e._uU(28,"Click the item to open it and see items data (e.g. the url of a link)"),e.qZA()(),e._UZ(29,"img",21),e.qZA(),e.TgZ(30,"div",15),e.NdJ("click",function(){e.CHM(t);const o=e.oxw();return e.KtG(o.onNextStep())}),e._uU(31,"Next step ..."),e.qZA()()}}function I(i,a){if(1&i){const t=e.EpF();e.TgZ(0,"div",7,22),e._uU(2,"(3) Add features directly "),e.TgZ(3,"div",9)(4,"p",12),e._uU(5," You can easily add all types of features directly clicking the icon 'add item'. Following illustration shows you how to add an accomodation to the place. "),e.qZA(),e._UZ(6,"img",23),e.TgZ(7,"div",10)(8,"span"),e._uU(9,"Click icon 'add item' and select 'accomodation'"),e.qZA()(),e._UZ(10,"img",24),e.TgZ(11,"p",12),e._uU(12," If you fill in the data for the restaurant you can use it during your trip. E.g. you can call the stored telephone number directly by clicking on it. If you find an accomodation in 'Place-Explorer' add it clicking icon '+' like we did it with the link in step 2. Like the place you can open the accomodation-feature and add links and infos to it. If you have selected the accomodation with 'Place-Explorer' you can view it's position in the map-v
1iew by clicking the map-view icon. "),e.qZA(),e._UZ(13,"img",25),e.TgZ(14,"div",10)(15,"span"),e._uU(16,"Click the map-view icon of the place to view the map"),e.qZA()(),e._UZ(17,"img",26),e.TgZ(18,"p",12),e._uU(19," You can click a marker on the map to get a popup with the feture data. If you have typed in a place or an accomodation which is not stored in Trip4You, you can define it's position with the set-position icon. "),e.qZA()(),e.TgZ(20,"div",15),e.NdJ("click",function(){e.CHM(t);const o=e.oxw();return e.KtG(o.onNextStep())}),e._uU(21,"Next step ..."),e.qZA()()}}function q(i,a){if(1&i){const t=e.EpF();e.TgZ(0,"div",7,27),e._uU(2,"(4) Additional tips "),e.TgZ(3,"div",9)(4,"div",10)(5,"span"),e._uU(6,"About saving changed data"),e.qZA()(),e.TgZ(7,"p",12),e._uU(8," All changes will change your stored data imediately. If you delete an item you will be asked for confirmation. "),e.qZA(),e.TgZ(9,"div",10)(10,"span"),e._uU(11,"If you create a new trip and open it you are already in edit mode and can add, change and delete items. If you enter the trip next time, you have to switch on edit mode explicitly clicking the 'edit' button."),e.qZA()(),e._UZ(12,"img",28),e.TgZ(13,"p",12),e._uU(14," You have learned how to use the 'Place-Explorer' to search for information about cities and add items to your place. In the trip header, right to the region name you find the icon for the 'Region-Explorer'. The 'Region-Explorer' helps you to find information for the whole region(country). If you want to store found information in your trip you can do it clicking the '+' icon in same way as in 'Place-Explorer'. "),e.qZA(),e._UZ(15,"img",29),e.TgZ(16,"p",12),e._uU(17," In 'Region-Explorer' you have the possibility to navigate to sub-regions or to the parent-region. Above all, use to browse in sub-regions to find more information about your destination. The first level sub-regions of a country are the provinces, regions or states of a country. The most cities of a country you can find in this first level sub-regions. Try to brows through the regions. "),e.qZA(),e._UZ(18,"img",30),e.TgZ(19,"p",12),e._uU(20," With the menu you can switch between information 'What to see/do', 'Places to go', Sleep, 'Eat&Drink' and 'More'. "),e.qZA()(),e.TgZ(21,"div",15),e.NdJ("click",function(){e.CHM(t);const o=e.oxw();return e.KtG(o.onCloseClick())}),e._uU(22,"close example ..."),e.qZA()()}}let N=(()=>{class i{constructor(){this.close=new e.vpe,this.openExample=!1,this.maxSteps=4}ngOnInit(){var t=this;return(0,c.Z)(function*(){console.log("Example1:ngOnInit-languageCode",t.languageCode),t.step=1})()}ngAfterViewInit(){return(0,c.Z)(function*(){})()}ngOnDestroy(){}onCloseClick(){this.close.emit()}onExamplesClick(){this.openExample=!this.openExample}onNextStep(){this.step=this.step+1,this.step>this.maxSteps&&(this.step=1),console.log("Example1:onNextStep-step",this.step),1===this.step&&setTimeout(()=>{this.step1Element.nativeElement.scrollIntoView({behavior:"smooth"})}),2===this.step&&setTimeout(()=>{this.step2Element.nativeElement.scrollIntoView({behavior:"smooth"})}),3===this.step&&setTimeout(()=>{this.step3Element.nativeElement.scrollIntoView({behavior:"smooth"})}),4===this.step&&setTimeout(()=>{this.step4Element.nativeElement.scrollIntoView({behavior:"smooth"})})}}return i.\u0275fac=function(t){return new(t||i)},i.\u0275cmp=e.Xpm({type:i,selectors:[["app-example1-component"]],viewQuery:function(t,n){if(1&t&&(e.Gf(E,5),e.Gf(A,5),e.Gf(M,5),e.Gf(U,5)),2&t){let o;e.iGM(o=e.CRH())&&(n.step1Element=o.first),e.iGM(o=e.CRH())&&(n.step2Element=o.first),e.iGM(o=e.CRH())&&(n.step3Element=o.first),e.iGM(o=e.CRH())&&(n.step4Element=o.first)}},inputs:{languageCode:"languageCode",mediaWidth:"mediaWidth"},outputs:{close:"close"},decls:17,vars:4,consts:[[2,"margin-top","0.5em","margin-left","1.0em","margin-right","1.0em","border","2px solid sienna"],[2,"cursor","pointer","font-size","large","text-align","center","font-size","xx-large",3,"click"],["header",""],[2,"margin","0.5em"],[2,"display","flex","flex-wrap","wrap"],["class","col step-title",4,"ngIf"],["class","col step-title",4,"ngIf"],[1,"col","step-title"],["step1",""],[2,"margin-left","0.5em","max-width","400px","font-size","smaller","border","3px solid gray"],[1,"step-cmd"],["src","./assets/example-images/example1-step1a.jpg",1,"step-image"],[1,"step-text"],["src","./assets/example-images/example1-step1b.png",1,"step-image"],["src","./assets/example-images/example1-step1c.jpg",1,"step-image"],[1,"step-next",3,"click"],["step2",""],["src","./assets/example-images/example1-step2a.jpg",1,"step-image"],["src","./assets/example-images/example1-step2b.png",1,"step-image"],["src","./assets/example-images/example1-step2c.jpg",1,"step-image"],["src","./assets/example-images/example1-step2d.jpg",1,"step-image"],["src","./assets/example-images/example1-step2e.png",1,"step-image"],["step3",""],["src","./assets/example-images/example1-step3a.jpg",1,"step-image"],["src","./assets/example-images/example1-step3b.png",1,"step-image"],["src","./assets/example-images/example1-step3c.jpg",1,"step-image"],["src","./assets/example-images/example1-step3d.png",1,"step-image"],["step4",""],["src","./assets/example-images/example1-step4a.jpg",1,"step-image"],["src","./assets/example-images/example1-step4b.jpg",1,"step-image"],["src","./assets/example-images/region-explore_1a.png",1,"step-image"]],template:function(t,n){1&t&&(e.TgZ(0,"div",0)(1,"div",1,2),e.NdJ("click",function(){return n.onCloseClick()}),e._uU(3," Step by step Example: Simple trip "),e.qZA(),e.TgZ(4,"p",3),e._uU(5," Example 1 shows how to create a trip (1),"),e._UZ(6,"br"),e._uU(7," How add a city (2),"),e._UZ(8,"br"),e._uU(9," You see how to add features like 'Links' or restaurants (3) to the city,"),e._UZ(10,"br"),e._uU(11," And learn to use the place map and get additional handling tips (4). "),e.qZA(),e.TgZ(12,"div",4),e.YNc(13,b,23,0,"div",5),e.YNc(14,k,32,0,"div",5),e.YNc(15,I,22,0,"div",6),e.YNc(16,q,23,0,"div",6),e.qZA()()),2&t&&(e.xp6(13),e.Q6J("ngIf",n.step>=1),e.xp6(1),e.Q6J("ngIf",n.step>=2),e.xp6(1),e.Q6J("ngIf",n.step>=3),e.xp6(1),e.Q6J("ngIf",4==n.step))},dependencies:[l.O5],styles:[".step-title[_ngcontent-%COMP%]{font-size:large;margin-left:.5em;margin-top:.5em;text-align:left}.step-cmd[_ngcontent-%COMP%]{font-size:medium;margin-left:.5em;margin-top:.5em}.step-text[_ngcontent-%COMP%]{font-size:small;margin-left:.5em;margin-top:.5em}.step-image[_ngcontent-%COMP%]{border:3px solid gray;width:90%;margin:.5em}.step-next[_ngcontent-%COMP%]{cursor:pointer;font-size:x-large;margin:.5em}"]}),i})();function S(i,a){if(1&i){const t=e.EpF();e.TgZ(0,"div",7)(1,"app-example1-component",8),e.NdJ("close",function(){e.CHM(t);const o=e.oxw(2);return e.KtG(o.openExample1=!1)}),e.qZA()()}if(2&i){const t=e.oxw(2);e.xp6(1),e.Q6J("languageCode",t.languageCode)}}function Y(i,a){if(1&i){const t=e.EpF();e.TgZ(0,"div",2)(1,"h2"),e._uU(2,"Step by step example"),e.qZA(),e.TgZ(3,"div",4),e._uU(4," You can see how to create a trip,"),e._UZ(5,"br"),e._uU(6," To add places to your trip,"),e._UZ(7,"br"),e._uU(8," How to select addittional information from the trvale information,"),e._UZ(9,"br"),e._uU(10," How to add what to see or do, where to sleep or a restaurant of your interest,"),e._UZ(11,"br"),e._uU(12," How to add additional information or links to one of your items,"),e._UZ(13,"br"),e._uU(14," You will see how to get more information about your destination. "),e.qZA(),e.TgZ(15,"button",5),e.NdJ("click",function(){e.CHM(t);const o=e.oxw();return e.KtG(o.onExampleStepByStepClick())}),e._uU(16," See step by step example"),e.qZA(),e.YNc(17,S,2,1,"div",6),e.qZA()}if(2&i){const t=e.oxw();e.xp6(17),e.Q6J("ngIf",t.openExample1)}}function J(i,a){if(1&i){const t=e.EpF();e.TgZ(0,"div",12)(1,"span",13),e.NdJ("click",function(){e.CHM(t);const o=e.oxw().$implicit,s=e.oxw();return e.KtG(s.onSelectTripClick(o))}),e._UZ(2,"img",14),e.qZA(),e.TgZ(3,"span",15),e.NdJ("click",function(){e.CHM(t);const o=e.oxw().$implicit,s=e.oxw();return e.KtG(s.onSelectTripClick(o))}),e._uU(4),e.qZA()()}if(2&i){const t=e.oxw().$implicit;e.xp6(4),e.Oqu(t.name)}}function G(i,a){1&i&&(e.TgZ(0,"div"),e._uU(1," Sorry currently is no example trip available! - example trip 'Sulawesi Trip-2019' will be available in few days "),e.qZA())}function H(i,a){if(1&i){const t=e.EpF();e.TgZ(0,"app-trip-list-view-component",19),e.NdJ("showAllTrips",function(){e.CHM(t);const o=e.oxw(3);return e.KtG(o.selectedTrip=void 0)})("viewMode",function(o){e.CHM(t);const s=e.oxw(3);return e.KtG(s.selectedViewMode=o)}),e.qZA()}if(2&i){const t=e.oxw(3);e.Q6J("currentTrip",t.selectedTrip)("languageCode",t.languageCode)("demoMode",!0)}}function Q(i,a){if(1&i){const t=e.EpF();e.TgZ(0,"app-trip-daybyday-view-component",20),e.NdJ("showAllTrips",function(){e.CHM(t);const o=e.oxw(3);return e.KtG(o.selectedTrip=void 0)})("viewMode",function(o){e.CHM(t);const s=e.oxw(2).$implicit;return e.oxw().selectedViewMode=o,e.KtG(s.viewMode=o)}),e.qZA()}if(2&i){const t=e.oxw(3);e.Q6J("currentTrip",t.selectedTrip)("demoMode",!0)}}function F(i,a){if(1&i){const t=e.EpF();e.TgZ(0,"app-trip-notice-view-component",20),e.NdJ("showAllTrips",function(){e.CHM(t);const o=e.oxw(3);return e.KtG(o.selectedTrip=void 0)})("viewMode",function(o){e.CHM(t);const s=e.oxw(2).$implicit;return e.oxw().selectedViewMode=o,e.KtG(s.viewMode=o)}),e.qZA()}if(2&i){const t=e.oxw(3);e.Q6J("currentTrip",t.selectedTrip)("demoMode",!0)}}function O(i,a){if(1&i){const t=e.EpF();e.TgZ(0,"app-trip-duty-view-component",20),e.NdJ("showAllTrips",function(){e.CHM(t);const o=e.oxw(3);return e.KtG(o.selectedTrip=void 0)})("viewMode",function(o){e.CHM(t);const s=e.oxw(2).$implicit;return e.oxw().selectedViewMode=o,e.KtG(s.viewMode=o)}),e.qZA()}if(2&i){const t=e.oxw(3);e.Q6J("currentTrip",t.selectedTrip)("demoMode",!0)}}function P(i,a){if(1&i){const t=e.EpF();e.TgZ(0,"app-trip-image-view-component",20),e.NdJ("showAllTrips",function(){e.CHM(t);const o=e.oxw(3);return e.KtG(o.selectedTrip=void 0)})("viewMode",function(o){e.CHM(t);const s=e.oxw(2).$implicit;return e.oxw().selectedViewMode=o,e.KtG(s.viewMode=o)}),e.qZA()}if(2&i){const t=e.oxw(3);e.Q6J("currentTrip",t.selectedTrip)("demoMode",!0)}}function z(i,a){if(1&i&&(e.TgZ(0,"div",16),e.YNc(1,H,1,3,"app-trip-list-view-component",17),e.YNc(2,Q,1,2,"app-trip-daybyday-view-component",18),e.YNc(3,F,1,2,"app-trip-notice-view-component",18),e.YNc(4,O,1,2,"app-trip-duty-view-component",18),e.YNc(5,P,1,2,"app-trip-image-view-component",18),e.TgZ(6,"p"),e._uU(7,"!!! In the example view you can see all information of the example trip, but you can not do any changes. The edit functions are not visible in this view."),e.qZA()()),2&i){const t=e.oxw(2);e.xp6(1),e.Q6J("ngIf",1===t.selectedViewMode),e.xp6(1),e.Q6J("ngIf",2===t.selectedViewMode),e.xp6(1),e.Q6J("ngIf",3===t.selectedViewMode),e.xp6(1),e.Q6J("ngIf",4===t.selectedViewMode),e.xp6(1),e.Q6J("ngIf",5===t.selectedViewMode)}}function K(i,a){if(1&i&&(e.TgZ(0,"div"),e.YNc(1,J,5,1,"div",9),e.YNc(2,G,2,0,"div",10),e.YNc(3,z,8,5,"div",11),e.qZA()),2&i){const t=a.$implicit,n=e.oxw();e.xp6(1),e.Q6J("ngIf",!n.selectedTrip),e.xp6(1),e.Q6J("ngIf",0===n.exampleTrips.length),e.xp6(1),e.Q6J("ngIf",n.selectedTrip===t)}}let u=(()=>{class i{get windowRef(){return window}
1}return i.\u0275fac=function(t){return new(t||i)},i.\u0275prov=e.Yz7({token:i,factory:i.\u0275fac}),i})(),V=(()=>{class i{constructor(t,n,o,s,r,D){this.windowService=t,this.viewportScroller=n,this.globalService=o,this.tripService=s,this.titleService=r,this.http=D,this.mediaWidth=0,this.selectedViewMode=1,this.openExample1=!1}ngOnInit(){var t=this;return(0,c.Z)(function*(){console.log("Examples-ngOnInit",t.languageCode),t.titleService.setTitle("Examples - Trip4You");const n=yield(0,m.tE)(t.http);n&&(t.userIP=n.ip),t.navigatorLanguage=navigator.language,t.userLanguage=t.navigatorLanguage.substring(0,2).toLowerCase(),t.mediaWidth=t.windowService.windowRef.innerWidth,t.globalService.setMediaWidth(t.mediaWidth),t.LoadExampleTrips()})()}ngAfterViewInit(){return(0,c.Z)(function*(){})()}ngOnDestroy(){}LoadExampleTrips(){var t=this;return(0,c.Z)(function*(){console.log("Examples-LoadExampleTrips"),t.exampleTrips=new Array,t.exampleTrips=yield t.tripService.getDemoTrips(),console.log("Examples:LoadExampleTrips-trips",t.exampleTrips)})()}onExampleStepByStepClick(){if(console.log("Examples-onExample1Click",this.openExample1),this.openExample1=!this.openExample1,this.openExample1){const t=new Date(Date.now());(0,m.jQ)(this.globalService,this.userIP,this.userLanguage,3,3003,null,t)}}onSelectTripClick(t){console.log("Examples-onSelectTripClick-trip",t),this.selectedViewMode=1,this.selectedTrip=t;const n=new Date(Date.now());(0,m.jQ)(this.globalService,this.userIP,this.userLanguage,3,3002,"Trip:"+t.id,n)}}return i.\u0275fac=function(t){return new(t||i)(e.Y36(u),e.Y36(l.EM),e.Y36(x.U),e.Y36(f.a),e.Y36(v.Dx),e.Y36(h.eN))},i.\u0275cmp=e.Xpm({type:i,selectors:[["app-examples-component"]],inputs:{languageCode:"languageCode"},decls:8,vars:2,consts:[[2,"margin","1.0rem"],["style","margin:1.0rem; background:linen; padding:0.5rem; font-size:Large;",4,"ngIf"],[2,"margin","1.0rem","background","linen","padding","0.5rem","font-size","Large"],[4,"ngFor","ngForOf"],[2,"margin-left","1.0rem","font-size","large"],["mat-raised-button","","color","primary",2,"margin","1.0rem","margin-left","2.0rem",3,"click"],["style","margin-left:0em;",4,"ngIf"],[2,"margin-left","0em"],[3,"languageCode","close"],["style","margin-top:0.5em; background-color:#edffed; font-size:large; padding:0.5em;",4,"ngIf"],[4,"ngIf"],["style","margin-top:0.5em; margin-left:0; margin-right:0; border: 2px solid mediumaquamarine; padding:10px;",4,"ngIf"],[2,"margin-top","0.5em","background-color","#edffed","font-size","large","padding","0.5em"],[1,"dot",2,"cursor","pointer","height","50px","width","50px","background-color","mediumaquamarine","border-radius","50%","display","inline-block","text-align","center","font-size","x-large",3,"click"],["src","./assets/icons/arrow-collapse-right.svg",2,"margin-top","13px","margin-left","6px"],[2,"cursor","pointer","margin-left","0.5em","font-size","xx-large",3,"click"],[2,"margin-top","0.5em","margin-left","0","margin-right","0","border","2px solid mediumaquamarine","padding","10px"],[3,"currentTrip","languageCode","demoMode","showAllTrips","viewMode",4,"ngIf"],[3,"currentTrip","demoMode","showAllTrips","viewMode",4,"ngIf"],[3,"currentTrip","languageCode","demoMode","showAllTrips","viewMode"],[3,"currentTrip","demoMode","showAllTrips","viewMode"]],template:function(t,n){1&t&&(e.TgZ(0,"div",0)(1,"h1"),e._uU(2,"Examples can show you how to use Trip4You travel planner"),e.qZA()(),e.YNc(3,Y,18,1,"div",1),e.TgZ(4,"div",2)(5,"h2"),e._uU(6,"Examples:"),e.qZA(),e.YNc(7,K,4,3,"div",3),e.qZA()),2&t&&(e.xp6(3),e.Q6J("ngIf",!n.selectedTrip),e.xp6(4),e.Q6J("ngForOf",n.exampleTrips))},dependencies:[l.sg,l.O5,g.lW,w.R,T.q,y.D,Z.I,C.w,N],styles:[".trip-symbol[_ngcontent-%COMP%]{position:relative;line-height:1.7em;vertical-align:middle}.trip-name[_ngcontent-%COMP%]{margin-left:10px;font-family:Arial;font-size:X-large;font-weight:400;vertical-align:bottom}.trip-date[_ngcontent-%COMP%]{vertical-align:bottom}.err-msg[_ngcontent-%COMP%]{color:red;font-style:oblique}"]}),i})();var W=p(766);const L=[{path:"",component:V}];let j=(()=>{class i{}return i.\u0275fac=function(t){return new(t||i)},i.\u0275mod=e.oAB({type:i}),i.\u0275inj=e.cJS({providers:[u],imports:[_.Bz.forChild(L),l.ez,g.ot,W.a,_.Bz]}),i})()}}]); 2//# sourceMappingURL=740.efca9cf9c0a9c9da.js.map
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.