DIRECTORY Buttons, Containers, Labels, Rope, Rules, ViewerTools, VFonts, SVEditToolMenus, SVEditUser, SVEditUserB; SVEditToolMenusImplA: PROGRAM IMPORTS Buttons, Containers, Labels, Rules, SVEditUser, SVEditUserB, VFonts, ViewerTools EXPORTS SVEditToolMenus = BEGIN EditToolData: TYPE = SVEditUser.EditToolData; entryHeight: CARDINAL = SVEditToolMenus.entryHeight; entryVSpace: CARDINAL = SVEditToolMenus.entryVSpace; entryHSpace: CARDINAL = SVEditToolMenus.entryHSpace; column0: CARDINAL = SVEditToolMenus.column0; column1: CARDINAL = SVEditToolMenus.column1; column2: CARDINAL = SVEditToolMenus.column2; column3: CARDINAL = SVEditToolMenus.column3; BuildCurrentSceneSection: PUBLIC PROC [editToolData: EditToolData] = { scenePrompt, newViewer, newOutput: Buttons.Button; assemblyNamePrompt, wrtPrompt: Buttons.Button; firstButton, drawCSButton, deleteButton, editButton: Buttons.Button; setOpButton, selectOpButton, colorMapButton, bwMapButton: Buttons.Button; editToolData.height _ editToolData.height + entryVSpace;-- space down from the top of the viewer scenePrompt _ Buttons.Create[ info: [name: "Scene:", wy: editToolData.height, wh: entryHeight, parent: editToolData.outer, border: FALSE], proc: SVEditUser.ScenePrompt, clientData: editToolData ]; editToolData.sceneSection.sceneName _ ViewerTools.MakeNewTextViewer[[ parent: editToolData.outer, wx: scenePrompt.wx + scenePrompt.ww + entryHSpace, wy: editToolData.height, ww: VFonts.StringWidth["DogWithCat.pic"], wh: entryHeight, data: "DefaultScene", scrollable: FALSE, border: FALSE]]; newViewer _ Buttons.Create[ info: [name: "New Viewer", wx: scenePrompt.wx + column2, wy: editToolData.height, wh: entryHeight, parent: editToolData.outer, border: TRUE], proc: SVEditUser.NewViewer, clientData: editToolData ]; newOutput _ Buttons.Create[ info: [name: "New Output", wx: scenePrompt.wx + column3, wy: editToolData.height, wh: entryHeight, parent: editToolData.outer, border: TRUE], proc: SVEditUser.NewOutput, clientData: editToolData ]; editToolData.height _ editToolData.height + entryVSpace + entryHeight; assemblyNamePrompt _ Buttons.Create[ info: [name: "Assembly:", wy: editToolData.height, wh: entryHeight, parent: editToolData.outer, border: FALSE], proc: SVEditUser.AssemblyNamePrompt, clientData: editToolData ]; editToolData.sceneSection.assemblyName _ ViewerTools.MakeNewTextViewer[[ parent: editToolData.outer, wx: assemblyNamePrompt.wx + assemblyNamePrompt.ww + entryHSpace, wy: editToolData.height, ww: VFonts.StringWidth[">>>>DogWithBigNose"], wh: entryHeight, data: "NoName", scrollable: FALSE, border: FALSE]]; wrtPrompt _ Buttons.Create[ info: [name: "With Respect To:", wx: assemblyNamePrompt.wx + column2 + VFonts.StringWidth[">>>>"], wy: editToolData.height, wh: entryHeight, parent: editToolData.outer, border: FALSE], proc: SVEditUser.WithRespectToPrompt, clientData: editToolData ]; editToolData.sceneSection.wrt _ ViewerTools.MakeNewTextViewer[[ parent: editToolData.outer, wx: wrtPrompt.wx + wrtPrompt.ww + entryHSpace, wy: editToolData.height, ww: VFonts.StringWidth["TipOfDogsBigNose"], wh: entryHeight, data: "sceneAssembly", scrollable: FALSE, border: FALSE]]; editToolData.height _ editToolData.height + entryVSpace + entryHeight; firstButton _ Buttons.Create[ info: [name: "First!", wy: editToolData.height, wh: entryHeight, parent: editToolData.outer, border: FALSE], proc: SVEditUser.First, clientData: editToolData ]; drawCSButton _ Buttons.Create[ info: [name: "DrawCS!", wx: firstButton.wx + firstButton.ww + entryHSpace, wy: editToolData.height, wh: entryHeight, parent: editToolData.outer, border: FALSE], proc: SVEditUser.DrawCS, clientData: editToolData ]; deleteButton _ Buttons.Create[ info: [name: "Delete Assembly!", wx: firstButton.wx + column2, wy: editToolData.height, wh: entryHeight, parent: editToolData.outer, border: FALSE], proc: SVEditUser.Delete, clientData: editToolData ]; editButton _ Buttons.Create[ info: [name: "Edit!", wx: firstButton.wx + column3, wy: editToolData.height, wh: entryHeight, parent: editToolData.outer, border: FALSE], proc: SVEditUser.Edit, clientData: editToolData ]; editToolData.height _ editToolData.height + entryVSpace + entryHeight; setOpButton_ Buttons.Create[ info: [name: "Set Pointset Operation!", wy: editToolData.height, wh: entryHeight, parent: editToolData.outer, border: FALSE], proc: SVEditUser.SetOp, clientData: editToolData ]; selectOpButton _ Buttons.Create[ info: [name: "Op:", wx: setOpButton.wx + column2, wy: editToolData.height, wh: entryHeight, parent: editToolData.outer, border: FALSE], proc: SVEditUser.SelectOp, clientData: editToolData ]; editToolData.sceneSection.opLabel _ Labels.Create[ info: [name: "union", wx: selectOpButton.wx + selectOpButton.ww + entryHSpace, wy: editToolData.height, wh: entryHeight, ww: VFonts.StringWidth["intersection>>>"], parent: editToolData.outer, border: FALSE]]; colorMapButton _ Buttons.Create[ info: [name: "ColorMap!", wx: setOpButton.wx + column3, wy: editToolData.height, wh: entryHeight, parent: editToolData.outer, border: FALSE], proc: SVEditUser.SetColorMap, clientData: editToolData ]; bwMapButton _ Buttons.Create[ info: [name: "BWMap!", wx: colorMapButton.wx + colorMapButton.ww + entryHSpace, wy: editToolData.height, wh: entryHeight, parent: editToolData.outer, border: FALSE], proc: SVEditUser.BWMap, clientData: editToolData ]; editToolData.height _ editToolData.height + entryVSpace + entryHeight; }; -- end of BuildCurrentSceneSection BuildCompositeSection: PUBLIC PROC [editToolData: EditToolData] = { addComp: Buttons.Button; addComp _ Buttons.Create[ info: [name: "Add Composite!", wy: editToolData.height, wh: entryHeight, parent: editToolData.outer, border: FALSE], proc: SVEditUser.AddComposite, clientData: editToolData ]; editToolData.height _ editToolData.height + entryVSpace + entryHeight; }; BuildHalfSpaceSection: PUBLIC PROC [editToolData: EditToolData] = { addHalfSpace: Buttons.Button; addHalfSpace _ Buttons.Create[ info: [name: "Add HalfSpace!", wy: editToolData.height, wh: entryHeight, parent: editToolData.outer, border: FALSE], proc: SVEditUser.AddHalfSpace, clientData: editToolData ]; editToolData.height _ editToolData.height + entryVSpace + entryHeight; }; -- end of BuildHalfSpaceSection BuildSphereSection: PUBLIC PROC [editToolData: EditToolData] = { addSphere, radiusPrompt: Buttons.Button; initialRadiusRope: Rope.ROPE _ "100"; addSphere _ Buttons.Create[ info: [name: "Add Sphere!", wy: editToolData.height, wh: entryHeight, parent: editToolData.outer, border: FALSE], proc: SVEditUser.AddSphere, clientData: editToolData ]; radiusPrompt _ Buttons.Create[ info: [name: "radius:", wx: addSphere.wx + column2, wy: editToolData.height, wh: entryHeight, parent: editToolData.outer, border: FALSE], proc: SVEditUser.SphereRadiusPrompt, clientData: editToolData ]; editToolData.sphereSection.radius _ ViewerTools.MakeNewTextViewer[[ parent: editToolData.outer, wx: radiusPrompt.wx + radiusPrompt.ww + entryHSpace, wy: editToolData.height, ww: VFonts.StringWidth["188.88"], wh: entryHeight, data: initialRadiusRope,-- "100" scrollable: FALSE, border: FALSE]]; editToolData.height _ editToolData.height + entryVSpace + entryHeight; }; -- end of BuildSphereSection BuildBlockSection: PUBLIC PROC [editToolData: EditToolData] = { addBlock, xyzPrompt: Buttons.Button; initialXYZRope: Rope.ROPE _ "30, 30, 30"; addBlock _ Buttons.Create[ info: [name: "Add Block!", wy: editToolData.height, wh: entryHeight, parent: editToolData.outer, border: FALSE], proc: SVEditUser.AddBlock, clientData: editToolData ]; xyzPrompt _ Buttons.Create[ info: [name: "x, y, z:", wx: addBlock.wx + column2, wy: editToolData.height, wh: entryHeight, parent: editToolData.outer, border: FALSE], proc: SVEditUser.BlockXYZPrompt, clientData: editToolData ]; editToolData.blockSection.xyz _ ViewerTools.MakeNewTextViewer[[ parent: editToolData.outer, wx: xyzPrompt.wx + xyzPrompt.ww + entryHSpace, wy: editToolData.height, ww: VFonts.StringWidth["<<<<188.88, 188.88, 188.88"], wh: entryHeight, data: initialXYZRope, scrollable: FALSE, border: FALSE]]; editToolData.height _ editToolData.height + entryVSpace + entryHeight; }; -- end of BuildBlockSection BuildCylinderSection: PUBLIC PROC [editToolData: EditToolData] = { addCyl, radiusPrompt, heightPrompt: Buttons.Button; initialRadiusRope: Rope.ROPE _ "100"; initialHeightRope: Rope.ROPE _ "200"; addCyl _ Buttons.Create[ info: [name: "Add Cylinder!", wy: editToolData.height, wh: entryHeight, parent: editToolData.outer, border: FALSE], proc: SVEditUser.AddCyl, clientData: editToolData ]; radiusPrompt _ Buttons.Create[ info: [name: "radius:", wx: addCyl.wx + column2, wy: editToolData.height, wh: entryHeight, parent: editToolData.outer, border: FALSE], proc: SVEditUser.CylinderRadiusPrompt, clientData: editToolData ]; editToolData.cylinderSection.radius _ ViewerTools.MakeNewTextViewer[[ parent: editToolData.outer, wx: radiusPrompt.wx + radiusPrompt.ww + entryHSpace, wy: editToolData.height, ww: VFonts.StringWidth["188.88"], wh: entryHeight, data: initialRadiusRope,-- "100" scrollable: FALSE, border: FALSE]]; heightPrompt _ Buttons.Create[ info: [name: "height:", wx: addCyl.wx + column3, wy: editToolData.height, wh: entryHeight, parent: editToolData.outer, border: FALSE], proc: SVEditUser.CylinderHeightPrompt, clientData: editToolData ]; editToolData.cylinderSection.height _ ViewerTools.MakeNewTextViewer[[ parent: editToolData.outer, wx: heightPrompt.wx + heightPrompt.ww + entryHSpace, wy: editToolData.height, ww: VFonts.StringWidth["188.88"], wh: entryHeight, data: initialHeightRope,-- "100" scrollable: FALSE, border: FALSE]]; editToolData.height _ editToolData.height + entryVSpace + entryHeight; }; -- end of BuildCylinderSection BuildConeSection: PUBLIC PROC [editToolData: EditToolData] = { addCone, radiusPrompt, heightPrompt: Buttons.Button; initialRadiusRope: Rope.ROPE _ "100"; initialHeightRope: Rope.ROPE _ "200"; addCone _ Buttons.Create[ info: [name: "Add Cone!", wy: editToolData.height, wh: entryHeight, parent: editToolData.outer, border: FALSE], proc: SVEditUser.AddCone, clientData: editToolData ]; radiusPrompt _ Buttons.Create[ info: [name: "radius:", wx: addCone.wx + column2, wy: editToolData.height, wh: entryHeight, parent: editToolData.outer, border: FALSE], proc: SVEditUser.ConeRadiusPrompt, clientData: editToolData ]; editToolData.coneSection.radius _ ViewerTools.MakeNewTextViewer[[ parent: editToolData.outer, wx: radiusPrompt.wx + radiusPrompt.ww + entryHSpace, wy: editToolData.height, ww: VFonts.StringWidth["188.88"], wh: entryHeight, data: initialRadiusRope,-- "100" scrollable: FALSE, border: FALSE]]; heightPrompt _ Buttons.Create[ info: [name: "height:", wx: addCone.wx + column3, wy: editToolData.height, wh: entryHeight, parent: editToolData.outer, border: FALSE], proc: SVEditUser.ConeHeightPrompt, clientData: editToolData ]; editToolData.coneSection.height _ ViewerTools.MakeNewTextViewer[[ parent: editToolData.outer, wx: heightPrompt.wx + heightPrompt.ww + entryHSpace, wy: editToolData.height, ww: VFonts.StringWidth["188.88"], wh: entryHeight, data: initialHeightRope,-- "100" scrollable: FALSE, border: FALSE]]; editToolData.height _ editToolData.height + entryVSpace + entryHeight; }; -- end of BuildConeSection BuildTorusSection: PUBLIC PROC [editToolData: EditToolData] = { addTorus, bigRadiusPrompt, sectionPrompt: Buttons.Button; initialBigRadius: Rope.ROPE _ "100"; initialSectionRadius: Rope.ROPE _ "50"; addTorus _ Buttons.Create[ info: [name: "Add Torus!", wy: editToolData.height, wh: entryHeight, parent: editToolData.outer, border: FALSE], proc: SVEditUser.AddTorus, clientData: editToolData ]; bigRadiusPrompt _ Buttons.Create[ info: [name: "big radius:", wx: addTorus.wx + column2, wy: editToolData.height, wh: entryHeight, parent: editToolData.outer, border: FALSE], proc: SVEditUser.BigRadiusPrompt, clientData: editToolData ]; editToolData.torusSection.bigRadius _ ViewerTools.MakeNewTextViewer[[ parent: editToolData.outer, wx: bigRadiusPrompt.wx + bigRadiusPrompt.ww + entryHSpace, wy: editToolData.height, ww: VFonts.StringWidth["188.88 "], wh: entryHeight, data: initialBigRadius, scrollable: FALSE, border: FALSE]]; sectionPrompt _ Buttons.Create[ info: [name: "section radius:", wx: addTorus.wx + column3, wy: editToolData.height, wh: entryHeight, parent: editToolData.outer, border: FALSE], proc: SVEditUser.SectionRadiusPrompt, clientData: editToolData ]; editToolData.torusSection.sectionRadius _ ViewerTools.MakeNewTextViewer[[ parent: editToolData.outer, wx: sectionPrompt.wx + sectionPrompt.ww + entryHSpace, wy: editToolData.height, ww: VFonts.StringWidth["188.88 "], wh: entryHeight, data: initialSectionRadius, scrollable: FALSE, border: FALSE]]; editToolData.height _ editToolData.height + entryVSpace + entryHeight; }; -- end of BuildTorusSection BuildLinearSweepSection: PUBLIC PROC [editToolData: EditToolData] = { addLinear, depthPrompt: Buttons.Button; initialDepthRope: Rope.ROPE _ "100"; addLinear _ Buttons.Create[ info: [name: "Add Linear Sweep!", wy: editToolData.height, wh: entryHeight, parent: editToolData.outer, border: FALSE], proc: SVEditUser.AddLinear, clientData: editToolData ]; depthPrompt _ Buttons.Create[ info: [name: "depth:", wx: addLinear.wx + column2, wy: editToolData.height, wh: entryHeight, parent: editToolData.outer, border: FALSE], proc: SVEditUser.LinDepthPrompt, clientData: editToolData ]; editToolData.linSection.depth _ ViewerTools.MakeNewTextViewer[[ parent: editToolData.outer, wx: depthPrompt.wx + depthPrompt.ww + entryHSpace, wy: editToolData.height, ww: VFonts.StringWidth["188.88 "], wh: entryHeight, data: initialDepthRope,-- "100" scrollable: FALSE, border: FALSE]]; editToolData.height _ editToolData.height + entryVSpace + entryHeight; }; -- end of BuildLinearSweepSection BuildRevoluteSweepSection: PUBLIC PROC [editToolData: EditToolData] = { addRevo: Buttons.Button; addRevo _ Buttons.Create[ info: [name: "Add Revolute Sweep!", wy: editToolData.height, wh: entryHeight, parent: editToolData.outer, border: FALSE], proc: SVEditUser.AddRevo, clientData: editToolData ]; editToolData.height _ editToolData.height + entryVSpace + entryHeight; }; -- end of BuildRevoluteSweepSection BuildCopySection: PUBLIC PROC [editToolData: EditToolData] = { copyButton, prefixPrompt, copyFromPrompt: Buttons.Button; initialPrefixRope: Rope.ROPE _ "2"; initialAssemblyNameRope: Rope.ROPE _ "sceneAssembly"; copyButton _ Buttons.Create[ info: [name: "Copy!", wy: editToolData.height, wh: entryHeight, parent: editToolData.outer, border: FALSE], proc: SVEditUser.Copy, clientData: editToolData ]; prefixPrompt _Buttons.Create[ info: [name: "prefix:", wx: copyButton.wx + column1, wy: editToolData.height, wh: entryHeight, parent: editToolData.outer, border: FALSE], proc: SVEditUser.PrefixPrompt, clientData: editToolData ]; editToolData.copySection.prefix _ ViewerTools.MakeNewTextViewer[[ parent: editToolData.outer, wx: prefixPrompt.wx + prefixPrompt.ww + entryHSpace, wy: editToolData.height, ww: VFonts.StringWidth["222"], wh: entryHeight, data: initialPrefixRope, scrollable: FALSE, border: FALSE]]; copyFromPrompt _ Buttons.Create[ info: [name: "copy from:", wx: copyButton.wx + column2, wy: editToolData.height, wh: entryHeight, parent: editToolData.outer, border: FALSE], proc: SVEditUser.CopyFromPrompt, clientData: editToolData ]; editToolData.copySection.assemblyName _ ViewerTools.MakeNewTextViewer[[ parent: editToolData.outer, wx: copyFromPrompt.wx + copyFromPrompt.ww + entryHSpace, wy: editToolData.height, ww: VFonts.StringWidth["<<< NEW VIEWER NEW OUTPUT ASSEMBLYNAME: WITHRESPECTTO: FIRST! DELETE! EDIT! SET PointSetOp ColorMap! BWMap! CURRENTSCENE: NEW VIEWER NEW OUTPUT ASSEMBLYNAME: WITHRESPECTTO: FIRST! DrawCS! DELETE !EDIT! SET PointSetOp Op: ColorMap! This section implements a set of buttons, text windows, and options listers in this format: ADDCOMPOSITE! This section implements a set of buttons, text windows, and options listers in this format: AddHalfSpace! This section implements a set of buttons, text windows, and options listers in this format: ADDSPHERE RADIUS: This section implements a set of buttons, text windows, and options listers in this format: ADDBLOCK x, y, z: This section implements a set of buttons, text windows, and options listers in this format: ADDCYLINDER RADIUS: HEIGHT: This section implements a set of buttons, text windows, and options listers in this format: ADDCONE RADIUS: HEIGHT: This section implements a set of buttons, text windows, and options listers in this format: ADDTorusbig radius: section radius: This section implements a set of buttons, text windows, and options listers in this format: ADDLINEAR depth: This section implements a set of buttons, text windows, and options listers in this format: ADDREVOLUTE This section implements a set of buttons, text windows, and options listers in this format: COPY! PREFIX: COPYFROM: This section implements a set of buttons, text windows, and options listers in this format: SCALEPRIMITIVEX,Y,Z: EVENSCALEscalar: TRANSLATEX,Y,Z,: ROTXROTYROTZDEGREES: NormalizeRot! Normalize! Align! Abut! AbutX! AbutY! AbutZ! SCALEX,Y,Z: EVENSCALE X,Y,Z: TRANSLATEX,Y,Z,: ROTXROTYROTZDEGREES: This section implements a set of buttons in this format: ListScenes! ListAssemblies! ListCS! ListLights! ListMOs! ListViews! Κδ– "cedar" style˜Iheadšœ™Iprocšœ/™/Lšœ9™9L˜šΟk ˜ Lšœ˜Lšœ ˜ Lšœ˜Lšœ˜Lšœ˜Lšœ ˜ Lšœ˜Lšœ˜Lšœ ˜ Lšœ ˜ —L˜šœ˜LšœQ˜XLšœ˜—Lš˜˜Lšœœ˜-L˜Lšœ2™2Lšœ œ˜4Lšœ œ˜4Lšœ œ˜4Lšœ œ˜,Lšœ œ˜,Lšœ œ˜,Lšœ œ˜,L˜šΟnœœœ!˜FLšœ[™[Lšœ1™1Lšœ2™2Lšœ™Lšœ%™%L˜Lšœ2˜2Lšœ.˜.LšœD˜DLšœI˜IL˜Lšœ`˜`L˜Lšœ1™1L˜šœ˜Lšœeœ˜lLšœ˜Lšœ˜Lšœ˜—L˜šœE˜ELšœ˜Lšœ2˜2Lšœ˜Lšœ)˜)Lšœ˜Lšœ˜Lšœ œ œ˜#—L˜šœ˜Lšœ‡œ˜Lšœ˜Lšœ˜Lšœ˜—L˜šœ˜Lšœ‡œ˜Lšœ˜Lšœ˜Lšœ˜—L˜LšœF˜FL˜Lšœ4™4L˜šœ$˜$Lšœhœ˜oLšœ$˜$Lšœ˜Lšœ˜L˜—šœH˜HLšœ˜Lšœ@˜@Lšœ˜Lšœ-˜-Lšœ˜Lšœ˜Lšœ œ œ˜#—L˜šœ˜Lšœ±œ˜ΈLšœ%˜%Lšœ˜Lšœ˜—L˜šœ?˜?Lšœ˜Lšœ.˜.Lšœ˜Lšœ+˜+Lšœ˜Lšœ˜Lšœ œ œ˜#—L˜LšœF˜FL˜Lšœ™L˜šœ˜Lšœ˜LšœNœ˜ULšœ˜Lšœ˜Lšœ˜—L˜šœ˜Lšœ™œ˜ Lšœ˜Lšœ˜Lšœ˜—L˜šœ˜Lšœœ˜”Lšœ˜Lšœ˜Lšœ˜—L˜šœ˜Lšœ‚œ˜‰Lšœ˜Lšœ˜Lšœ˜—L˜LšœF˜FL˜Lšœ#™#L˜šœ˜Lšœvœ˜}Lšœ˜Lšœ˜Lšœ˜—L˜šœ ˜ Lšœ€œ˜‡Lšœ˜Lšœ˜Lšœ˜L˜—L˜šœ2˜2LšœΘœ˜Π—Lšœ˜šœ ˜ Lšœ†œ˜Lšœ˜Lšœ˜Lšœ˜—L˜šœ˜Lšœžœ˜₯Lšœ˜Lšœ˜Lšœ˜—L˜L˜LšœF˜FL˜Lšœ%˜%—L˜L˜šžœœœ!˜CLšœ[™[Lšœ ™ L˜Lšœ˜L˜šœ˜Lšœmœ˜tLšœ˜Lšœ˜Lšœ˜—L˜LšœF˜FLšœ˜—L˜šžœœœ!˜CLšœ[™[Lšœ ™ L˜Lšœ˜L˜šœ˜Lšœmœ˜tLšœ˜Lšœ˜Lšœ˜—L˜LšœF˜FL˜Lšœ"ž˜#—šžœœœ!˜@Lšœ[™[Lšœ™L˜Lšœ(˜(Lšœœ ˜%L˜šœ˜Lšœjœ˜qLšœ˜Lšœ˜Lšœ˜—L˜šœ˜Lšœƒœ˜ŠLšœ$˜$Lšœ˜Lšœ˜—L˜šœC˜CLšœ˜Lšœ4˜4Lšœ˜Lšœ!˜!Lšœ˜Lšœ ˜ Lšœ œ œ˜#—L˜LšœF˜FL˜Lšœ˜—L˜L˜L˜šžœœœ!˜?Lšœ[™[Lšœ™L˜Lšœ$˜$Lšœœ˜)L˜šœ˜Lšœiœ˜pLšœ˜Lšœ˜Lšœ˜—L˜šœ˜Lšœƒœ˜ŠLšœ ˜ Lšœ˜Lšœ˜—L˜šœ?˜?Lšœ˜Lšœ.˜.Lšœ˜Lšœ5˜5Lšœ˜Lšœ˜Lšœ œ œ˜#—L˜LšœF˜FL˜Lšœ˜—L˜L˜šžœœœ!˜BLšœ[™[Lšœ-™-L˜Lšœ3˜3Lšœœ ˜%Lšœœ ˜%L˜šœ˜LšœG˜GLšœ$œ˜+Lšœ˜Lšœ˜Lšœ˜—L˜šœ˜Lšœ€œ˜‡Lšœ&˜&Lšœ˜Lšœ˜—L˜šœE˜ELšœ˜Lšœ4˜4Lšœ˜Lšœ!˜!Lšœ˜Lšœ ˜ Lšœ œ œ˜#—L˜šœ˜Lšœ€œ˜‡Lšœ&˜&Lšœ˜Lšœ˜—L˜šœE˜ELšœ˜Lšœ4˜4Lšœ˜Lšœ!˜!Lšœ˜Lšœ ˜ Lšœ œ œ˜#—L˜LšœF˜FL˜Lšœ!˜!—L˜šžœœœ!˜>Lšœ[™[Lšœ)™)L˜Lšœ4˜4Lšœœ ˜%Lšœœ ˜%L˜šœ˜Lšœhœ˜oLšœ˜Lšœ˜Lšœ˜L˜—šœ˜Lšœœ˜ˆLšœ"˜"Lšœ˜Lšœ˜—L˜šœA˜ALšœ˜Lšœ4˜4Lšœ˜Lšœ!˜!Lšœ˜Lšœ ˜ Lšœ œ œ˜#—L˜šœ˜Lšœ˜Lšœ˜Lšœ)˜)Lšœ$œ˜+Lšœ"˜"Lšœ˜Lšœ˜—L˜šœA˜ALšœ˜Lšœ4˜4Lšœ˜Lšœ!˜!Lšœ˜Lšœ ˜ Lšœ œ œ˜#—L˜LšœF˜FL˜Lšœ˜—L˜šžœ œ!˜?Lšœ[™[Lšœ2™2L˜Lšœ9˜9Lšœœ ˜$Lšœœ˜'L˜šœ˜Lšœiœ˜pLšœ˜Lšœ˜Lšœ˜—L˜šœ!˜!Lšœ…œ˜ŒLšœ!˜!Lšœ˜Lšœ˜—L˜šœE˜ELšœ˜Lšœ:˜:Lšœ˜Lšœ#˜#Lšœ˜Lšœ˜Lšœ œ œ˜#—L˜šœ˜Lšœ‰œ˜Lšœ%˜%Lšœ˜Lšœ˜—L˜šœI˜ILšœ˜Lšœ6˜6Lšœ˜Lšœ#˜#Lšœ˜Lšœ˜Lšœ œ œ˜#—L˜LšœF˜FL˜Lšœ˜—L˜L˜L˜šžœœœ!˜ELšœ[™[Lšœ™L˜Lšœ'˜'Lšœœ ˜$L˜šœ˜LšœK˜KLšœ$œ˜+Lšœ˜Lšœ˜Lšœ˜—L˜šœ˜Lšœœ˜ˆLšœ ˜ Lšœ˜Lšœ˜—L˜šœ?˜?Lšœ˜Lšœ2˜2Lšœ˜Lšœ#˜#Lšœ˜Lšœ˜Lšœ œ œ˜#—L˜LšœF˜FL˜Lšœ$˜$—L˜šžœœœ!˜GLšœ[™[Lšœ ™ L˜Lšœ˜L˜šœ˜LšœM˜MLšœ$œ˜+Lšœ˜Lšœ˜Lšœ˜—L˜LšœF˜FL˜Lšœ&˜&—L˜šžœœœ!˜>Lšœ[™[Lšœ/™/L˜Lšœ9˜9Lšœœ˜#Lšœœ˜5L˜šœ˜Lšœdœ˜kLšœ˜Lšœ˜Lšœ˜—L˜šœ˜Lšœ„œ˜‹Lšœ˜Lšœ˜Lšœ˜—L˜šœA˜ALšœ˜Lšœ4˜4Lšœ˜Lšœ˜Lšœ˜Lšœ˜Lšœ œ œ˜#—L˜šœ ˜ Lšœ˜Lšœ˜Lšœ)˜)Lšœ$œ˜+Lšœ ˜ Lšœ˜Lšœ˜—L˜šœG˜GLšœ˜Lšœ8˜8Lšœ˜Lšœ.˜.Lšœ˜Lšœ˜Lšœ œ œ˜#—L˜LšœF˜FL˜Lšœ˜—L˜L˜šžœœœ!˜CLšœ[™[Lšœ™Lšœ™Lšœ™Lšœ™Lšœ@™@L˜Lšœ,˜,Lšœ4˜4Lšœ0˜0LšœB˜BLšœ@˜@Lšœœ ˜+Lšœœ˜)Lšœœ˜1Lšœœ˜%L˜Lšœ™L˜šœ˜Lšœnœ˜uLšœ ˜ Lšœ˜Lšœ˜L˜—šœ ˜ Lšœ˜Lšœ˜Lšœ)˜)Lšœ$œ˜+Lšœ ˜ Lšœ˜Lšœ˜L˜—šœH˜HLšœ˜Lšœ8˜8Lšœ˜Lšœ=˜=Lšœ˜Lšœ"˜"Lšœ œ œ˜#—L˜LšœF˜FL˜Lšœ™L˜šœ!˜!Lšœiœ˜pLšœ˜Lšœ˜Lšœ˜—L˜šœ$˜$Lšœ„œ˜‹Lšœ$˜$Lšœ˜Lšœ˜—L˜šœF˜FLšœ˜Lšœ@˜@Lšœ˜Lšœ#˜#Lšœ˜Lšœ$˜$Lšœ œ œ˜#—L˜LšœF˜FL˜L˜L˜Lšœ™L˜šœ!˜!Lšœjœ˜qLšœ˜Lšœ˜Lšœ˜—L˜šœ ˜ LšœŠœ˜‘Lšœ$˜$Lšœ˜Lšœ˜—L˜šœH˜HLšœ˜Lšœ8˜8Lšœ˜Lšœ1˜1Lšœ˜Lšœ&˜&Lšœ œ œ˜#—L˜LšœF˜FL˜L˜Lšœ™L˜šœ˜Lšœeœ˜lLšœ˜Lšœ˜Lšœ˜—L˜šœ˜Lšœ–œ˜Lšœ˜Lšœ˜Lšœ˜—L˜šœ˜Lšœ–œ˜Lšœ˜Lšœ˜Lšœ˜—L˜šœ˜Lšœ…œ˜ŒLšœ˜Lšœ˜Lšœ˜L˜—šœG˜GLšœ˜Lšœ6˜6Lšœ˜Lšœ1˜1Lšœ˜Lšœ ˜ Lšœ œ œ˜#—L˜LšœF˜FL˜šœ˜Lšœmœ"˜”Lšœ˜Lšœ˜—L˜šœ˜Lšœ•œ˜œLšœ˜Lšœ˜Lšœ˜—L˜šœ˜Lšœ‹œ˜’Lšœ˜Lšœ˜Lšœ˜—L˜šœ˜LšœŒœ˜“Lšœ˜Lšœ˜Lšœ˜—L˜šœ˜Lšœ‹œ˜’Lšœ˜Lšœ˜Lšœ˜L˜—šœ˜Lšœœ˜”Lšœ˜Lšœ˜Lšœ˜—L˜šœ˜Lšœœ˜”Lšœ˜Lšœ˜Lšœ˜—L˜L˜LšœF˜FL˜Lšœ"˜"—L˜šžœœœ!˜ALšœ8™8LšœF™FL˜Lšœu˜uL˜šœ˜Lšœjœ˜qLšœ˜Lšœ˜Lšœ˜L˜—šœ"˜"Lšœ£œ˜ͺLšœ!˜!Lšœ˜Lšœ˜—L˜šœ ˜ Lšœ­œ˜΄Lšœ#˜#Lšœ˜Lšœ˜—L˜šœ˜Lšœ£œ˜ͺLšœ˜Lšœ˜Lšœ˜—L˜L˜LšœG˜Gšœ˜Lšœqœ˜xLšœ$˜$Lšœ˜Lšœ˜—šœ˜Lšœ–œ˜Lšœ˜Lšœ˜Lšœ˜L˜—šœ˜Lšœ’œ˜©Lšœ˜Lšœ˜Lšœ˜—LšœF˜FL˜Lšœ ˜ —L˜šžœœœ!˜6Lšœ˜L˜šœ˜Lšœ˜Lšœ˜Lšœ˜Lšœ˜Lšœ˜—Lšœ1˜1LšœB˜BLšœ˜——L˜Lšœ˜—…—_<~F