gH]kDwP|trueSpace7.5[VS_O93Y*I Clinton Reese, RUR`d8pM*#ͺOPNG  IHDR`ZIDATxoLmL6ĐԘ? 6vE Hui/:L[^E^EڛM7+?N\RѳUÀ1w}6{q @0Y6{w׿%<{v@FQd@FQd@FQd@FQd@FQd@FQd@FQd@f!= okn{Ο?T*'d2 V8cLQL:-p=tŋ].EQ<===zRVjsDTUuM6zl0+0<_8@z+,-j+X FGGx<ų IҗQg7OȣvbU*\ohE1>> ?{?PΝ;r" 3.NٹXT27 Fx<>:1aΠhc03yo$V+++{,//+R =cvݴ,,,DQ6kkk 06qلpd2y73gO .7o޼x"6r.~$j"BHcub-'|FSSS,*?ֱ H{'4M{ǑFǁZ(U_.9.sNY/S^ed:;`\Ě3xfpb2 UUc/ΎSCگ^m軡(2  (2  (2  (2  (2  (2  (2  (2  (2  tӧ IENDB`/tfѭ8Lwb"qz4܂dKu=ʵDdoom3 MD5 Mesh Loader ts75release.;]kI 忞@.;]kI 忞@"SubObject*Encapsulated objects"HԹ¹Օ74W}@O{4W}@O{$ Owner4Owner of the Encapsulator$Ыk в-1OSM n-1OSM n"LayoutLayout 럆L<_ї"(XFҦV(XFҦV"LE2Data$LE2 Data for node >g'JNjn*p"`NffMCONffMCODMyFileName\ɹhz@Hoz@Ho Control InTransitionInxȹ(XFҦV>g'JNjn*p^~@@X@tveDCE`"IWJ}?@B?NffMCOC:\Documents and Settings\Clinton\My Documents\doom3\zfat.md5mesh-1OSM n 럆L<_ї˰Default Asp4 GFʠN=XGF; }} MyFileNameNffMCOZ`Ez]UO1釥GP>aXGF<NffMCOZ`Ez]UO#nKSM2P@GF4(\VVNffMCOZ`Ez]UOOˁ CRih[P@GF(^Activity.Run('%THIS_NAME%' + '/MD5MeshImport')ImportZ`Ez]UO GFʠN=@GF]}}<Click "..." to choose a file and then "Import" to read it inZ`Ez]UO GFʠN=F G1 }}NffMCOZ`Ez]UO1釥GP>aHG<NffMCOZ`Ez]UOz@Ho! E47m2O .doomTransform<ĠF姁J]<ĠF姁J]DMatrix,Object's input matrix `^02eE{|@DWAGWAGOwnerMatrixOwner's matrix `^02eE{|@偢jD%~`8偢jD%~`8BObjMatrix Object's matrix `^02eE{|@B׊;Jf|ڢ׊;Jf|ڢBWldMatrixWorld matrix `^02eE{|@BH4W}@O{$P(XFҦV"迪-1OSM n"偢jD%~`8(XFҦV>g'JNjn*pFnCmCb@@T@?׊;Jf|ڢWAG<ĠF姁J]-1OSM n 럆L<_ї(48@J g'JNjn*pٹceZU@䑧rceZU@䑧r$_scriptData*Internal Script data [җJs@ %Թ4W}@O{$XԹ(XFҦVLE2Data, 1#ӹJ@#QLJ@#QLLE2Data$LE2 Data for node >g'JNjn*pLE2Data, 3ҹMT^RwL~YYTMT^RwL~YYTޢLE2Data$LE2 Data for node >g'JNjn*pɹNffMCOD`@ɹ2|=Bynj2|=Bynj Control OutTransitionOutxȹz@Hoh 2|=Bynj2AEHM'>g'JNjn*pnBC`@0@2|=Bynj|?z@Hoۙ>?ceZU@䑧r[җJs@ (NewCommand:// Doom3 md5mesh import // nov 2005 // clinton reese // // joint position is good // no way to parent in script // next do mesh // mesh more involved than I thought // test mesh with cubes first, uses quat rotation to position points relative to the joints // // nov 19 - file data is all being read properly // next get actual point positions and create a box at each vertex(or every other or third or fourth...) // // NOTE: need parseInt(), parseFloat() in some cases to make sure saved as a number // any time you add 2 things they both must be numbers or they add as strings // // mesh successful // but how handle multiple meshes - test has 4 meshes // would also like to import shaders incl normal map // PLAN: // get textures for test model // do uv assignment // try use normal map with color map etc // multiple mesh creation on the fly or select single mesh to load via list box // problem: invisible in player unless copy, then can see copy in player // // multi-mesh problem solved, objects created outside via node create and // copy mesh, material and transform nodes from within owner of this script // use registered mesh attribute so dont need copy and hookup shape node // meshes still not vivible in player without copy or modeller mesh edit // uv harder than expected - little info available // got info but looks like uv stuff is broken // do bones as group object next // // April 22 // build heiarchy of skeleton // hiearchy is good now attach transform to geo // Hierarchy of md5mesh import is good, joints are all in the correct locations // *geo is for looks only, manipulate the group/encapsulated node // can't do much more until ts7.5 skeleton is done // // April 23 // new skeleton geometry requires import with player view not model view // loads much faster if set matrix of objects // all is good one thing left rotate the joints // ROTATE JOINTS WONT WORK PUT BACK TO SIMPLE GEOMETRY // // Nov 19 2006 // start first ts75 version // if joints not connected to bones then positioning is perfect // joint positions a little crazy when connected to bones // ? // reason unknown // Reason Found - matrix def changes when bones are involved - only true when set matrix programatically // joint position is absolute when no bones are attached // with bones attached position is relative to parent // it's weird but should make the animation import easier - assuming nothing changes(it is tS75 BETA) // // TODO - clear out code for fake skeleton // LATER - skin the skeleton when possible // // May 27 2007 - prepare ts75 non beta release // // Execute // Called to execute the command function Execute(params) { MyFileName = params.conValue('MyFileName'); // TODO: put your action code here System.Trace("start of import"); var forReading = 1, forWriting = 2, forAppending = 8; rline = new Array(); fs = new ActiveXObject("Scripting.FileSystemObject"); f = fs.GetFile(MyFileName); connToFile = f.OpenAsTextStream( forReading, 0); var count = 0; var myScale = 0.1; // 1 inch in doom3 = 0.1 meter in truespace // read entire file then process while( !connToFile.AtEndOfStream ) { rline[count] = connToFile.ReadLine(); count++; } connToFile.Close(); // finished reading file now process data var msg = ""; var jointCnt = -1; var vertCnt = -1; var numtris = -1; var curmesh = -1; jointMesh = new Array(); firstWeight = new Array(); weightElem = new Array(); //number of weights assigned to vertex triface = new Array(); UVTri = new Array();//uv triangles like triface but with uv instead of vertices meshes = new Array(); meshName = new Array(); // joint position arrays jx = new Array(); jy = new Array(); jz = new Array(); // quaternion arrays for joints xq = new Array(); yq = new Array(); zq = new Array(); wq = new Array(); // weight arrays wtJoint = new Array();//joint index weight = new Array(); //weight value(add to 1 for single vertex) wtX = new Array(); // XYZ relative to joint position and orientation wtY = new Array(); wtZ = new Array(); //april boneName = new Array(); boneFullName = new Array(); //march2007 pBoneIndex = new Array(); myMatrix = System.CreateDO("Math Package/Matrix Float Data"); myMatrixA = System.CreateDO("Math Package/Matrix Float Data");//absolute for ts75 matrix - no local space adjustments scene = Space.CurrentScene(); for(i = 0; i < rline.length; i++) { msg = rline[i]; // scoop one line from msg array. msgtag = msg.split(" "); if (msgtag[0] == "numJoints") { var numJoints = msgtag[1]; System.Trace("numJoints = " + numJoints); } if (msgtag[0] == "numMeshes") { var numMeshes = msgtag[1]; System.Trace("numMeshes = " + numMeshes); } if (msgtag[0] == "mesh") { curmesh = curmesh + 1; } if (msgtag[0] == "\t//") { if (msgtag[1] == "meshes:") { meshName[curmesh] = msgtag[2]; System.Trace("mesh name is " + meshName[curmesh]); scene = Space.CurrentScene(); encapsO = Node.Create('Kernel Package/Object', scene);//create empty node in scene encaps = Node.Rename(encapsO, meshName[curmesh]); owner = System.ThisOwner(); Node.Copy(owner + "/doomShape", encaps);//copy blank mesh to new node Node.ExportConnector(encaps + "/doomShape","Mesh","",1,1); Node.Copy(owner + "/doomTransform", encaps);//copy transform to new node Node.Rename(encaps + "/doomTransform", "Transform"); Node.ExportConnector(encaps + "/Transform","Matrix","",1,1); Node.ExportConnector(encaps + "/Transform","WldMatrix","",1,1); Node.ExportConnector(encaps + "/Transform","ObjMatrix","",1,1); Node.ExportConnector(encaps + "/Transform","OwnerMatrix","",1,1); Node.Copy(owner + "/doomBlankDXMaterial", encaps);//copy material to new node } } if (msgtag[0] == "\tnumverts") { var numverts = msgtag[1]; vertCnt = 0; System.Trace("numverts = " + numverts); dT = System.CreateDO("Space 3D Package/UV Coordinate Stream Data"); dT.SetNumUVCoords(numverts); } if (msgtag[0] == "\tvert") { //read uv and index vertCnt = msgtag[1]; dT.u(vertCnt) = msgtag[3]; dT.v(vertCnt) = msgtag[4]; firstWeight[vertCnt] = parseInt(msgtag[6]);// index of first weight for vertex weightElem[vertCnt] = msgtag[7]; // number of weights assigned to vertex if (vertCnt < 2) System.Trace("firstWeight=" + firstWeight[vertCnt] + " count=" + weightElem[vertCnt]); if (vertCnt == numverts-1) { vertCnt = -1; } } if (msgtag[0] == "\tnumtris") { numtris = msgtag[1]; triCnt = 0; // define faces triface[curmesh] = System.CreateDO("Space 3D Package/Triangle Vertices Stream Data"); // testdUV = System.CreateDO("Space 3D Package/UV Coordinate Stream Data"); UVTri[curmesh] = System.CreateDO("Space 3D Package/UV Triangle Stream Data"); UVTri[curmesh].SetNumUVTripleIndices(numtris); triface[curmesh].SetNumTripleIndices(numtris); triface[curmesh].BeginWrite(); System.Trace("num triangles = " + numtris); } if (msgtag[0] == "\ttri") { triCnt = msgtag[1]; triface[curmesh].i(triCnt) = msgtag[4];//reverse order so face normal is good triface[curmesh].j(triCnt) = msgtag[3]; triface[curmesh].k(triCnt) = msgtag[2]; UVTri[curmesh].i(triCnt) = msgtag[4]; UVTri[curmesh].j(triCnt) = msgtag[3]; UVTri[curmesh].k(triCnt) = msgtag[2]; if (triCnt < 2) System.Trace("face ijk= " + triface[curmesh].i(triCnt) + ", " + triface[curmesh].j(triCnt) + ", " + triface[curmesh].k(triCnt)); if ( triCnt == numtris-1) { triCnt = -1; triface[curmesh].EndWrite(); } } if (msgtag[0] == "\tnumweights") { numweights = msgtag[1]; weightCnt = 0; System.Trace("num weights = " + numweights); } if (msgtag[0] == "\tweight") { weightCnt = msgtag[1]; wtJoint[weightCnt] = msgtag[2]; weight[weightCnt] = msgtag[3]; wtX[weightCnt] = msgtag[5]; wtY[weightCnt] = msgtag[6]; wtZ[weightCnt] = msgtag[7]; if (weightCnt < 2) { System.Trace("index,joint,weight=" + weightCnt + ", "+ wtJoint[weightCnt] + ", " + weight[weightCnt]); System.Trace("XYZ=" + wtX[weightCnt] + ", " + wtY[weightCnt] + ", " + wtZ[weightCnt]); } if ( weightCnt == numweights - 1) { //build mesh System.Trace("build the mesh"); dV = System.CreateDO("Space 3D Package/Vertex Stream Data"); dV.SetNumVertices(numverts); dV.BeginWrite(); for (vt = 0; vt < numverts ; vt++) { posX = 0; posY = 0; posZ = 0; wtCnt = weightElem[vt]; if (vt<2) System.Trace("weight count=" + wtCnt); fw = firstWeight[vt]; if (vt<2) System.Trace("first weight=" + fw); for (wt = 0; wt < wtCnt; wt++) { //find vertex from weight, weightXYZ, joint pos and joint quat //joint rotation matrix(quaternion) wi = fw + wt;//weight index jointIndex = wtJoint[wi]; if(vt<2) System.Trace("wi, joint index=" + wi + ", " + jointIndex); qx = xq[jointIndex]; qy = yq[jointIndex]; qz = zq[jointIndex]; qw = wq[jointIndex]; if(vt<2) System.Trace("xyzw=" + qx + ", " + qy + ", " + qz +", " + qw); rm11=1-2*qy*qy-2*qz*qz; rm12=2*qx*qy-2*qw*qz; rm13=2*qx*qz+2*qw*qy; rm21=2*qx*qy+2*qw*qz; rm22=1-2*qx*qx-2*qz*qz; rm23=2*qy*qz-2*qw*qx; rm31=2*qx*qz-2*qw*qy; rm32=2*qy*qz+2*qw*qx; rm33=1-2*qx*qx-2*qy*qy; // rm dot XYZ = rotated position rposX = rm11*wtX[wi] + rm21*wtY[wi] + rm31*wtZ[wi]; rposY = rm12*wtX[wi] + rm22*wtY[wi] + rm32*wtZ[wi]; rposZ = rm13*wtX[wi] + rm23*wtY[wi] + rm33*wtZ[wi]; posX = posX +(jx[jointIndex] + rposX)*weight[wi]; posY = posY +(jy[jointIndex] + rposY)*weight[wi]; posZ = posZ +(jz[jointIndex] + rposZ)*weight[wi]; } dV.x(vt) = posX * myScale; dV.y(vt) = posY * myScale; dV.z(vt) = posZ * myScale; //create cube at position of vertex posXYZ if (vt < 0) { curCube = Space.Cube(0.1, 0.1, 0.1, 1, 1, 1); Node.Value(curCube, "tx") = posX * myScale; Node.Value(curCube, "ty") = posY * myScale; Node.Value(curCube, "tz") = posZ * myScale; System.Trace("vert position = " + posX + ", " + posY + ", " + posZ); } } // verts done, triangles done try create TS mesh dV.EndWrite(); dM = System.CreateDO("Space 3D Package/Mesh Data"); dM.AttachVerticesStream(dV); dM.AttachTrianglesStream(triface[curmesh]); dM.AttachCustStream(dT); dM.AttachTrianglesStream(UVTri[curmesh]); Node.Value(encaps + "/doomShape","Mesh") = dM; myMatrix.LoadIdentity(); Node.Value(encaps, "Matrix") = myMatrix; } } // read joint data if (jointCnt != -1) { msgtagSub = msgtag[0].split("\t"); jointName = msgtagSub[1].substr(1,msgtagSub[1].length-2); parentName = ""; if(jointCnt != 0) parentName = msgtag[11].substr(0,msgtag[11].length);//april //april boneName[jointCnt] = jointName; boneFullName[jointCnt] = "error"; if(jointCnt == 0) { pBoneIndex[jointCnt] = -1;//first bone no parent Node.Copy(owner + "/Skeleton", scene);//copy ts75 character to scene Node.Copy(owner + "/Joint", scene + "/Skeleton");//copy joint in temp = Node.Rename(scene + "/Skeleton/Joint", jointName + "Joint"); //donet add new bone use skeleton bone for 1st 2 joints //Node.Copy(owner + "/Bone", scene + "/characterBase");//copy bone in //temp = Node.Rename(scene + "/characterBase/Bone", jointName + "Bone"); // note: order of arguments matters in ConnectTo, order of connections may matter //todo connect origin joint and skeleton bone node Node.ConnectTo(scene + "/Skeleton/" + "skeletonBone","Bone",scene + "/Skeleton/" + jointName + "Joint","Bone"); //todo connect origin joint and origin bone //Node.ConnectTo(scene + "/characterBase/" + jointName + "Joint","Joint",scene + "/characterBase/" + jointName + "Bone","Root"); temp = Node.Rename(scene + "/Skeleton/skeletonBone", jointName + "Bone"); Node.Copy(owner + "/doom3jointgeo", scene); jointMesh[jointCnt] = Node.Rename(scene + "/doom3jointgeo", "theJoint"); boneFullName[jointCnt] = jointName ; encaps1 = Node.Create('Kernel Package/Object', encaps); //encaps is the root node of the skeleton encapsCurrent = Node.Rename(encaps1, jointName); Node.Copy(owner + "/doomTransform", encapsCurrent);//copy transform to new node Node.Rename(encapsCurrent + "/doomTransform", "Transform"); Node.ExportConnector(encapsCurrent + "/Transform","Matrix","",1,1); Node.ExportConnector(encapsCurrent + "/Transform","WldMatrix","",1,1); Node.ExportConnector(encapsCurrent + "/Transform","ObjMatrix","",1,1); Node.ExportConnector(encapsCurrent + "/Transform","OwnerMatrix","",1,1); Node.ConnectTo(encaps + "/Transform","WldMatrix",encaps + "/" + jointName,"OwnerMatrix"); } else { for(ii=0; ii<jointCnt; ii++) { if(parentName == boneName[ii]) { parentIndex = ii; pBoneIndex[jointCnt] = parentIndex;//save for leaf joint creation zscale = (msgtag[4]-jz[parentIndex])*myScale; // this works but scale from center need pivot point Node.Copy(owner + "/Joint", scene + "/Skeleton");//copy joint in temp = Node.Rename(scene + "/Skeleton/Joint", jointName + "Joint"); Node.Copy(owner + "/Bone", scene + "/Skeleton");//copy bone in temp = Node.Rename(scene + "/Skeleton/Bone", jointName + "Bone"); //todo connect joint Joint to bone Root //order of ConnectTo args is important, order of connections may be important test now // connect bone Bone to joint Bone Node.ConnectTo(scene + "/Skeleton/" + parentName + "Bone","Bone",scene + "/Skeleton/" + jointName + "Joint","Bone"); Node.ConnectTo(scene + "/Skeleton/" + jointName + "Joint","Joint",scene + "/Skeleton/" + jointName + "Bone","Root"); Node.Copy(owner + "/doom3jointgeo", scene); jointMesh[jointCnt] = Node.Rename(scene + "/doom3jointgeo", "theJoint"); boneFullName[jointCnt] = boneFullName[ii] + "/" + jointName ; encaps1 = Node.Create('Kernel Package/Object', encaps + "/" + boneFullName[ii]); //encaps is the root node of the skeleton encapsCurrent = Node.Rename(encaps1, jointName); Node.Copy(owner + "/doomTransform", encapsCurrent);//copy transform to new node Node.Rename(encapsCurrent + "/doomTransform", "Transform"); Node.ExportConnector(encapsCurrent + "/Transform","Matrix","",1,1); Node.ExportConnector(encapsCurrent + "/Transform","WldMatrix","",1,1); Node.ExportConnector(encapsCurrent + "/Transform","ObjMatrix","",1,1); Node.ExportConnector(encapsCurrent + "/Transform","OwnerMatrix","",1,1); Node.ConnectTo(encaps + "/" + boneFullName[ii] + "/Transform","WldMatrix",encapsCurrent,"OwnerMatrix"); } } } //System.Trace(boneName[jointCnt]); //System.Trace(boneFullName[jointCnt]); jointMesh[jointCnt] = Node.Rename(jointMesh[jointCnt], jointName + "geo"); //the joint positions are in absolute world space so take diff to get local space myMatrix.LoadIdentity(); if(jointCnt == 0) { myMatrix.SetTransX(msgtag[2]*myScale); myMatrix.SetTransY(msgtag[3]*myScale); myMatrix.SetTransZ(msgtag[4]*myScale); } else { myMatrix.SetTransX((msgtag[2]-jx[parentIndex])*myScale); myMatrix.SetTransY((msgtag[3]-jy[parentIndex])*myScale); myMatrix.SetTransZ((msgtag[4]-jz[parentIndex])*myScale); } Node.Value(encapsCurrent,"Matrix") = myMatrix; //joint position is absolute when no bones are attached //with bones attached position is relative to parent myMatrixA.LoadIdentity(); myMatrixA.SetTransX(msgtag[2]*myScale); myMatrixA.SetTransY(msgtag[3]*myScale); myMatrixA.SetTransZ(msgtag[4]*myScale); //myMatrixA.SetScaleX(2.0); myMatrixA.SetScaleY(2.0); myMatrixA.SetScaleZ(2.0);//set size of floating test joints to 4 Node.Value(scene + "/Skeleton/" + jointName + "Joint","Matrix") = myMatrix;//set matrix of ts75 joint - try rel Node.Copy(jointMesh[jointCnt], encapsCurrent); Node.Delete(jointMesh[jointCnt]); // hook up transform to geometry Node.ConnectTo(encapsCurrent + "/Transform","WldMatrix",encapsCurrent + "/" + jointName + "geo","OwnerMatrix"); //march 2007 get transofrm from fake skel myMatrix = Node.Value(encapsCurrent,"ObjMatrix"); Node.Value(scene + "/Skeleton/" + jointName + "Joint","Matrix") = myMatrix; // save joint position - unscaled jx[jointCnt] = parseFloat(msgtag[2]); jy[jointCnt] = parseFloat(msgtag[3]); jz[jointCnt] = parseFloat(msgtag[4]); xq[jointCnt] = msgtag[7];//rotation of joint in quaternion form yq[jointCnt] = msgtag[8]; zq[jointCnt] = msgtag[9]; wq[jointCnt] = 1 - xq[jointCnt]*xq[jointCnt] - yq[jointCnt]*yq[jointCnt] - zq[jointCnt]*zq[jointCnt]; if (wq[jointCnt] < 0) { wq[jointCnt] = 0; } else { wq[jointCnt] = Math.sqrt(wq[jointCnt]) } jointCnt = jointCnt + 1; if (jointCnt == numJoints) { jointCnt = -1; myMatrix.LoadIdentity(); Node.Value(encaps, "Matrix") = myMatrix; //add leaf joints for(cj=0;cj<numJoints;cj++) { //check if exist in parent list leafBone = 1; for(ci=0;ci<numJoints;ci++) { if(pBoneIndex[ci]==cj) { leafBone = 0; } } //if not then needs a leaf joint if(leafBone==1) { System.Trace(boneName[cj] + "Leaf"); //new joint pos at joint + joint - parent //note march 2007 orientation of joints is not set only position //so import is not good for later export //leaf orientation not matter in any case //Node.Copy(owner + "/Joint", scene + "/characterBase");//copy joint in //temp = Node.Rename(scene + "/characterBase/Joint", boneName[cj] + "Leaf");//add leaf postfix //Node.ConnectTo(scene + "/characterBase/" + boneName[cj] + "Bone","Bone",scene + "/characterBase/" + boneName[cj] + "Leaf","Bone");//connect leaf joint to bone //myMatrixA.LoadIdentity(); //myMatrix.SetTransX((jx[cj]-jx[pBoneIndex[cj]])*myScale/4); //myMatrix.SetTransY((jy[cj]-jy[pBoneIndex[cj]])*myScale/4); //myMatrix.SetTransZ((jz[cj]-jz[pBoneIndex[cj]])*myScale/4); //Node.Value(scene + "/characterBase/" + boneName[cj] + "Leaf","Matrix") = myMatrix; } } } } if (msgtag[0] == "joints") { jointCnt = 0; scene = Space.CurrentScene(); encapsO = Node.Create('Kernel Package/Object', scene);//create empty node in scene encaps = Node.Rename(encapsO, "doomSkeleton"); //transform node owner = System.ThisOwner(); Node.Copy(owner + "/doomTransform", encaps);//copy transform to new node Node.Rename(encaps + "/doomTransform", "Transform"); Node.ExportConnector(encaps + "/Transform","Matrix","",1,1); Node.ExportConnector(encaps + "/Transform","WldMatrix","",1,1); Node.ExportConnector(encaps + "/Transform","ObjMatrix","",1,1); Node.ExportConnector(encaps + "/Transform","OwnerMatrix","",1,1); } // vertex position is weighted sum of weights relative to the bone // need to use quat rotation of bone on point, weight it and add them together // weights add to a value of 1.0 // } System.Trace("end of import"); }NScript Object Package/jScript language~൱Dt#^cstringMyFileNameNffMCO4W}@O{(XFҦV>g'JNjn*pn0D<z@@V@2|=Bynj|?z@Hoۙ>?NffMCOC:\Documents and Settings\Clinton\My Documents\doom3\zfat.md5meshJ@#QL>g'JNjn*pnBB`@T@2|=Bynj|?z@Hoۙ>?-1OSM n 럆L<_їControlOˁ CRih[  nKs 8Activity.Run('%THIS_NAME%')ImportZ`Ez]UOOˁ CRih[0HnKq:Activity.Stop('%THIS_NAME%') StopZ`Ez]UO GFʠN=`  nK]}}<Click "..." to choose a file and then "Import" to read it inZ`Ez]UO1釥GP>a 0nK<NffMCOZ`Ez]UO#nKSM2` nK4` \VVNffMCOZ`Ez]UOMT^RwL~YYT>g'JNjn*pnCB`@0@2|=Bynj|?z@Hoۙ>?z@Ho܂dKu=յ(doomBlankDXMaterialXù.;]kI 忞@"ܹM {8¹4W}@O{$¹.F_P#.F_P#Material Output material __W8E#((U@Ra.U@Ra.LE2Data, 7$LE2 Data for node >g'JNjn*pX՞'fA5-_՞'fA5-_D3DEYED3DEYE =xNT{ -1OSM n"舱(XFҦVLE2Data, 1"J@#QLLE2Data, 24W}@O{(XFҦV>g'JNjn*pFC b@@P@B?՞'fA5-_.F_P#J@#QL>g'JNjn*pF4CtCd@@@?.;]kI 忞@-1OSM n 럆L<_їˇ Main GFʠN=GF.F_P#U@Ra.>g'JNjn*pFjCCd@T@?Pc|B;]2NMaterial(.F_P#.F_P#Material Output material __W8E#(¹`S^M~b S^M~b Alpha_shaderAlpha shader RnчINN(p5OD.GWf55OD.GWf5Color_shaderColor shader zdU@AUʂ*0(qΤIGGIqΤIGGIModel_shaderModel shader @SrE8㲻t(,S@vTV,S@vTVNormal_shaderNormal shader Xb"ٲN+4(зVJilзVJil Texcoord_shader Texcoord shader lrMH;e0(4W}@O{$Xù}U@Ra.U@Ra.LE2Data$LE2 Data for node >g'JNjn*p }-1OSM n"Pz(XFҦVLE2Data, 1"HykF_kF_Vertex_shaderVertex shader k|eKwj9CqVertexShader(xt@*Nt@*N Constant_shader Constant shader QVO Pk@(w<;vHw<;vHwAlphaTest Alpha Test type :KrbSx((n 0S̤@+R 0S̤@+RAlphaTestValue"Alpha Test Value(,S@vTV 0S̤@+R5OD.GWf54W}@O{зVJil(XFҦV>g'JNjn*pFDnCb@v@?<;vHw:KrbSxbDisabledEnabledAs OpaqueDisabledS^M~b .F_P#t@*NkF_-1OSM n 럆L<_ї(U@Ra.>g'JNjn*pFDnC`@\@?qΤIGGI܂dKu={<,DefaultTexCoordShaderp(gD9f<(gD9f<TCMoveYTCMoveYP0R:>a[EH*M\R:>a[EH*M\LE2Data, 2$LE2 Data for node >g'JNjn*p߹7wCH7wCHLE2Data$LE2 Data for node >g'JNjn*p߹wkd@Xywkd@XyTCScaleXTCScaleX[ܹ4W}@O{$Xù`y݀J}Ny݀J}N FloatInput floatTCMoveX+(ĦBZĦBZTCScaleYTCScaleY )rޙG )rޙG ˣLE2Data, 2$LE2 Data for node >g'JNjn*pLE2Data, 4(XFҦVLE2Data, 3"%%u5E b%%u5E bLE2Data$LE2 Data for node >g'JNjn*pLE2Data, 6QA@y:l1QA@y:l1LE2Data, 5$LE2 Data for node >g'JNjn*p$Q/G|]8$Q/G|]8LE2Data, 1$LE2 Data for node >g'JNjn*p`-1OSM n#(.;]kI 忞@" Xp 0_x>г700зVJil R:>a[EH*M\>g'JNjn*pFBC`@d@?(gD9f<wkd@Xy?7wCH>g'JNjn*pFCC`@0@?%%u5E b>g'JNjn*pF`CCb@\@KAC?4W}@O{зVJilĦBZ?y݀J}N(XFҦV>g'JNjn*pFBCb@ `@KAC?)rޙG >g'JNjn*pFBC`@d@?$Q/G|]8>g'JNjn*pFCCC`@d@?QA@y:l1>g'JNjn*pF:iShaderTexcoord зVJil0 )#,OrR)#,OrRTexcoord*Input texcoord brick F 1+5?N>/h X4W}@O{$(%%u5E b%%u5E bLE2Data, 10$LE2 Data for node >g'JNjn*p-1OSM n"(XFҦVLE2Data, 1xr!"I = 8r!"I = 8Texcoord2,Input texcoord2 brick F 1+5?N>/ %%u5E b>g'JNjn*pFEDA`@P@?4W}@O{зVJil(XFҦV>g'JNjn*pFEDA`@P@?)#,OrRr!"I = 8-1OSM n 럆L<_ї(L{0nBg)`! tzAdd|P)\Fvq3P)\Fvq3$PrivateShaderData$PrivateShaderData wk0.DX?_H):JF>*U:JF>*UInputXInputX : RtNumeric - Any numerical value (scalar, vector or matrix) F 1+5?N>/ah#2 |L?¢Fh#2 |L?¢FhInputYInputY : RtNumeric - Any numerical value (scalar, vector or matrix) F 1+5?N>/hh,8A fKھ,8A fKھResultResult : RtNumeric - Any numerical value (scalar, vector or matrix) F 1+5?N>/ p 4W}@O{%(X#%%u5E bH%-1OSM n"f(XFҦVLE2Data, 1,8A fKھ:JF>*U%%u5E b>g'JNjn*pFD`B`@P@?4W}@O{(XFҦV>g'JNjn*pFD`B`@P@?#2 |L?¢FhP)\Fvq3wk0.DX?_Gp.HOV-1OSM n 럆L<_ї(L{0nBg)`! DzModulateHeP)\Fvq3d2x2֣K!dE52x2֣K!dE5InputXInputX : RtNumeric - Any numerical value (scalar, vector or matrix) F 1+5?N>/acTXGy5֣ TXGy5֣ InputYInputY : RtNumeric - Any numerical value (scalar, vector or matrix) F 1+5?N>/ aa dE9@ dE9@ResultResult : RtNumeric - Any numerical value (scalar, vector or matrix) F 1+5?N>/H)0_4W}@O{%((^%%u5E b-1OSM n"(XFҦVLE2Data, 1%%u5E b>g'JNjn*pFC`@P@?4W}@O{(XFҦV>g'JNjn*pFC`@P@?P)\Fvq3wk0.DX?_M0(rHH dE9@TXGy5֣ 2x2֣K!dE5-1OSM n 럆L<_ї(L{0nBg)`!  *VectorFromComponents P)\Fvq3PGx:G<l5Gx:G<l5XTX : RtFloat - Scalar floating point value F 1+5?N>/\ LDs(e LDs(eYTY : RtFloat - Scalar floating point value F 1+5?N>/@ :?8[GVTI?8[GVTIZTZ : RtFloat - Scalar floating point value F 1+5?N>/<"PZKLь"PZKLьWTW : RtFloat - Scalar floating point value F 1+5?N>/JN۪BP JN۪BP ResultnResult : RtFloat4 - The four component vector or color F 1+5?N>/d4W}@O{%( %%u5E b(XFҦVLE2Data, 18-1OSM n" "PZKLь%%u5E b>g'JNjn*pFC`@\@??8[GVTI LDs(e4W}@O{(XFҦV>g'JNjn*pFC`@\@?Gx:G<l5JN۪BP P)\Fvq3wk0.DX?_JEG0-1OSM n 럆L<_ї(L{0nBg)`!  0VectorFromComponents, 1 P)\Fvq3ȺGx:G<l5л LDs(eX1e?8[GVTI"PZKLьJN۪BP 4W}@O{%(%%u5E b(XFҦVLE2Data, 1X-1OSM n" "PZKLь%%u5E b>g'JNjn*pFCB`@\@??8[GVTI LDs(e4W}@O{(XFҦV>g'JNjn*pFCB`@\@?Gx:G<l5JN۪BP P)\Fvq3wk0.DX?_JEG0-1OSM n 럆L<_ї(/|V FK|.ShaderInput?ڵfA'7(?ڵfA'7(EyePos8Eye position in world space F 1+5?N>/%dLrQn0%dLrQn0EyeDirNormalized eye vector in world space. Note that this is vector pointing from surface to the eye F 1+5?N>/0piDM7piDM7EyeDistNDistance from current point to the eye F 1+5?N>/ܰ^@A툷^@A툷PositionNShading point position in world space. F 1+5?N>/ p1M@o=p1M@o=TexCoords3D texture coordinates for given surface point. Any undefined channel (u, v or w) is replaced with 0. Initialized to interpolated vertex texture coords. Replaced by output of TextCoord shader. F 1+5?N>/c}E[2CV)}E[2CV) ColornColor specified by color shader. RGB portion is used to specify color (and is not limited to range 0-1). Initialized to interpolated vertex color. Replaced by output of Color shader. F 1+5?N>/`MOWIB"ѥ`MOWIB"ѥNormalNormalized normal of the surface for given pixel. Normal vector is expected to be in world space. Initialized with denormalized interpolated vertex normal. Replaced by output of Normal shader. F 1+5?N>/0HtO{/(HtO{/(TangentNormalized tangent of the surface for given pixel. Tangent vector is expected to be in world space. Initialized with denormalized interpolated vertex tangent. Replaced by output of Normal shader. F 1+5?N>/1 qQ@Rj qQ@Rj AlphaRTransparency specified for given pixel. Value should be specified in range 0& 1 (full transparency & fully opaque). Initialized to 1. Replaced by output of Alpha shader. F 1+5?N>/4ҥY@e&ҥY@e&LightDirNormalized light direction vector for given pixel. Light vector is expected to be in world space. Note that this is vector pointing from surface to the light. Initialized in the Vertex light shader. Replaced by output of Light shader. F 1+5?N>/5B_;OKFJ*rB_;OKFJ*rLightDistDistance of the current point to the light. Initialized in the Vertex light shader. Replaced by output of Light shader. F 1+5?N>/6HRSEpFCHRSEpFCLightColorLight color for given pixel. Replaced by output of Light shader. F 1+5?N>/7~__um1CR¬5~__um1CR¬5TangentToWorldTransformation matrix from tangent space to world space for vectors. F 1+5?N>/ٻzEuSٻzEuSWorldToObjectnTransformation matrix from world space to object space F 1+5?N>/=SaI7֏bSaI7֏bObjectToWorldTransformation matrix from object space to world space. Note that this is inverse matrix to WorldToObject. F 1+5?N>/x>4W}@O{$(@?%%u5E bH@-1OSM n"E(XFҦVLE2Data, 1&y"WMB]y"WMB]*ObjectToWorld_NormalA 3x3 Transformation matrix for normal and tangent vectors from object space to world space. F 1+5?N>/&)5FYP)5FYPObjectToClipPerspective transformation matrix from object space to screen space. F 1+5?N>/'x*yIx*yIWorldToClipPerspective transformation matrix from world space to screen space. F 1+5?N>/(#h"mO('#h"mO('TexCoords2`A secondary set of texture coordinates for given surface point. Any undefined channel (u, v or w) is replaced with 0. Initialized to interpolated second vertex texture coords. F 1+5?N>/B_;OKFJ*rڳVܯ]FՃ尲+%tsxi_GetInputLightDistRtFloat qQ@RjڳVܯ]FՃ尲'!tsxi_GetInputAlphaRtFloatp1M@o=ڳVܯ]FՃ尲,&tsxi_GetInputTexCoordsRtFloat3^@A툷ڳVܯ]FՃ尲+%tsxi_GetInputPositionRtFloat4)5FYP%%u5E b>g'JNjn*pF CA`@0@?HRSEpFCڳVܯ]FՃ尲-'tsxi_GetInputLightColorRtFloat4ٻzEuSڳVܯ]FՃ尲2,tsxi_GetInputWorldToObject RtFloat4x44W}@O{SaI7֏bڳVܯ]FՃ尲2,tsxi_GetInputObjectToWorld RtFloat4x4~__um1CR¬5ڳVܯ]FՃ尲3-tsxi_GetInputTangentToWorld RtFloat3x3x*yI(XFҦV>g'JNjn*pF CA`@0@?#h"mO('ҥY@e&ڳVܯ]FՃ尲+%tsxi_GetInputLightDirRtFloat3`MOWIB"ѥڳVܯ]FՃ尲)#tsxi_GetInputNormalRtFloat3?ڵfA'7(ڳVܯ]FՃ尲)#tsxi_GetInputEyePosRtFloat4%dLrQn0ڳVܯ]FՃ尲)#tsxi_GetInputEyeDirRtFloat3y"WMB]}E[2CV)ڳVܯ]FՃ尲("tsxi_GetInputColorRtFloat4-1OSM n 럆L<_ї(HtO{/(ڳVܯ]FՃ尲*$tsxi_GetInputTangentRtFloat3piDM7ڳVܯ]FՃ尲)#tsxi_GetInputEyeDistRtFloatz€ L& ^InputFloat++kCY5]BtO+kCY5]BtO FloatInput float`вuM@n;LAuM@n;LAFloatBrickFloat brick F 1+5?N>/Ⱥв\/3Kf͈,\/3Kf͈,oFloatOutput floatPGqiFE0IN GqiFE0IN Input usageVThe usage specification for this parameterг4W}@O{$(P%%u5E b(XFҦVLE2Data, 1p-1OSM n"GqiFE0IN C_TCMOVEX%%u5E b>g'JNjn*pFtBb@X@?4W}@O{+kCY5]BtO(XFҦV>g'JNjn*pFtBb@X@?uM@n;LA\/3Kf͈,?-1OSM n 럆L<_ї(z€ L& InputFloat, 1P0+kCY5]BtOp2X1X1uM@n;LAл2\/3Kf͈,6GqiFE0IN X174W}@O{$(*%%u5E b8S(XFҦVLE2Data, 1Y-1OSM n"GqiFE0IN C_TCMOVEY%%u5E b>g'JNjn*pF8Cb@X@?4W}@O{+kCY5]BtO(XFҦV>g'JNjn*pF8Cb@X@?uM@n;LA\/3Kf͈,?-1OSM n 럆L<_ї(z€ L& FInputFloat, 2[+kCY5]BtO߹`]\\uM@n;LAP`]\/3Kf͈,؊GqiFE0IN \4W}@O{$(ഹ%%u5E bȳ(XFҦVLE2Data, 1X -1OSM n"GqiFE0IN C_TCSCALEX%%u5E b>g'JNjn*pF'b@X@?4W}@O{+kCY5]BtO?(XFҦV>g'JNjn*pF'b@X@?uM@n;LA\/3Kf͈,?-1OSM n 럆L<_ї(z€ L& ԭInputFloat, 3 +kCY5]BtO(x@ @ uM@n;LAx\/3Kf͈,hGqiFE0IN @ 04W}@O{$(xH%%u5E b@I(XFҦVLE2Data, 1J-1OSM n"GqiFE0IN C_TCSCALEY%%u5E b>g'JNjn*pFXb@X@?4W}@O{+kCY5]BtO?(XFҦV>g'JNjn*pFXb@X@?uM@n;LA\/3Kf͈,?-1OSM n 럆L<_ї(܂dKu=<&DefaultModelShader KR:>a[EH*M\R:>a[EH*M\LE2Data$LE2 Data for node >g'JNjn*pH7wCH.;]kI 忞@" ?L@Xj?x)@oM4W}@O{$XùO)rޙG )rޙG ˢLE2Data$LE2 Data for node >g'JNjn*pP(XFҦVLE2Data, 3"%%u5E bLE2Data, 6GQA@y:l1qΤIGGIH<$Q/G|]8H-1OSM n#PL QNIM5G&L QNIM5G&BitmapInput bitmap eSBgc L QNIM5G&eSBgcm J/Project/Space 3D/doomSkeleton/LkneeA 9jmx}l[םMw,j;f-`LiSOْe˲iӦiQhQDѢDĉ5n8ZQ± cmz@+T[l3;8,;KK9W<0>8E^wgGlXe2rHOJWA?+{oՑJK i <3_R_NM;|oO}?y '>)p?9̏ή&3?%LOM;d'gWa[dv;|O299yD&VoJ q)7B؈r85%y1*}<0::08Rpz5k8V+qVX9rlxexf RzK}8 8,aa!)+{vh;w8lÑgM}ލc} h1!Cw@{f8yf `@fT|@C*(=EK[{u*vG66 ; pІuza(1sC x6 wylGSW=Xcvcq_b#8v|nՌͥ?~'ށO˔#oW@$-kwo%DyP9Pq8 6hJ!Lڽߌ:࿍hp܍|1 u³{m߫^C/Q42\pý1P^6P5lU=}磭94EmH3~)\b ~/$D" `?"~{zlv҅k΅áQDy1oF撝96*8\9i܌wącɟT>|*~䙁f.#`Tswwr\em"ΤM[\>]Ty?B k,c؇*>6EzׂpO//`y| ;$^pG]?۴Ăk?>~=(@@] |1o/5-T1Pyϸ;#eݻ ~WrRa__y6x]4{1ghp;Gb( EG`}8ox U;E>7* 'yQS1p?tzXض?tXLK-g"ݣ1%7{ XgC];gxsc{՝'tO ;7Y,po8ϛyný6y}>P r'Ν 3@}k<{C\ӭ1Pu@=_I-1W,2_k {Eӿ忙11@'%@ccQ0Y[M_7K_F_ 8NងY%?ǿb?w^OOw|뽂 ^kz:G',\Icٯ?{ޭ ޴\mȥĿOxko(Z&0e_wꁻu:|K/O_ee/?Ϻmz?["oY/Ϳ,KQyl{6gߞ:JWR@=x'8s&6yodq:s佫q\?*܏X!yo (·z=eY"f~u}OPpc hshx  V*+|dk8fW }|z/Ϲt"ϼQeqWWR:a;ꄪ BMuA_wdyY7 !oeڲSӏ| 1?|lx +?=|zL%f׆(-}_(X 7<GUnxp_Ma^8BXDp|*>\z8`{Y_Z >^#,4p},"x_IItDyOJ\sZ/[ X;;e׼wiU 4/߻ĿUSUFb`ee#;ޗ KWF>ۑpߌBtO$P1R@-F>G/?J/[t{?}GKxu{@t/y=m30*t>\DOWu9ϡ@^'  {bd?YS3/-owsz ǿ0Jp972oq'3{v -zFWBv8}(Y+ ctO=pWPz@R:K 8ps=n/ot 9s}Y r)1e/ה6g߇Ye9Ż})o)RzYIWf&([] DOlɑO;:ymuЈ ?RR˭ZދxXϓI%ҹ헫AN}rkv^kk.[pS7ɞ-g ց-+ة?A"&_9jS ת~vγbT!X?X7_q&ׁ, (f'd^˶2h&h;(8 q7oۤ{́LyY\=: J;<ߗ7@<-x_T1@w=Gdw>m{,Ch( F߷*|bvoW [>l[O1 ''491cs@(*?=IKόOhG(ѕ,/[<NfŀnU7#-/ ҟ3eq@3ׂȒt'1#M D?ݣ\{S8{0GuK 1L*0@r.x_'8ə=y}f]s =n@+܈aPyw\EgӽFb9,`8yFsVtWqj [ޣ Q=1:rb*Qp[罺qp U {NE>ݏo^}w~"WſrgdQg:cޜr#Hѵ9%ʿQǁϧVy<; <ǒ:wXo~:G8no-HxgDF' iX8a g*Vynn>3Єrw7^K VE5֚e| ϟ ~WΟL`{_빩B:^|E\W/ajK^[l._ޚޚyԷ1W}by{Pν:$D3!LH7< dRmG \` }O c?(Kk,n'ڽPbu8XZ" :0?f18ipܛ(WwkfMprY\c >9/붶2^ gk3&3m{ù\lW~/8U/ЯOE?3` 0 K poo?\8ym ]3}?A_; /(]tǒ߁t=T <}$ZTi+J<:~~//Q~880H~8]Dp&t}+ `ΑdgWN_$ȇ E.Kt{xߥp}q1z oIJۅ|qJ8yxC}prJ=_+7b@K%q-{>puΡ >.s'8\>Cfϣ1@ %{#O}?o?ԡ??ľ'_Hkϧ`o/X5=ýOϱWF7 #>+&eo|uGٖ9mz&5'<kAk~RI/ƴOwݟ| `uOL-43{k׌>&pL1㣯NH厩n=خ=4㵕'uVLMtyz(IK8>ڊեRVbڊȹ0+{A< wGU|8Xm(K@ qO(;kߢwJ! : t?S홳ۻ'u=컃'&{3?:Xh6G k1=ƁES3ywwvj(qߜX!:nY*PV"L{ wNudxd/Gvc >*X$= k.]C vvU C ۋsd9rz/``7ƀ"z)FVpu:5}ε$kQw?s>yPL6ཫYo> '3w8$}wWO}C? vE~(v< ($#z~tXxw ?r!"]W!WF$;)DR .B  Pe8E]K̳.Ālwyݛ'ٟ.~۹EgKJM͸f፠.pM}L}Es/+$2! 1t]<>3 V> ]hO ɕ{z]o&p}ia$596=>nO`4kYB{W =7bttt3f?s{38?±Fi6= ک^O(@=y1ݡa?iMw½kp=֎kfs;A9(O7Eowq*Phrb2+QaƂ~ⵉpqcU+~継ޥ7#w/ā=3cQG lhQ[>3;?ݧ%v8f >W8ovzG=Pr?GWXx߈2 Joӹ#!x߄܎Y $up3+}- BǾJt=?2ցOVgA T@~cT;D8Mw#ZAt@=PwwN,l@ 8lF6mxdz*ޯFT_xw7|.R o=l{ov;X$;[6 ? xOm ׸ .T#Mk(qxwy5mA[mE#W48]ScDB$ 9k\G:x4r BJS?Ξ=6I'9;#vxn+Wx[DPq3XM> znqo,+e xxz)U3~>̞K=Q^K' |qOPl_w/&H^}w\ygnl3bʿo 6`kuƶwXZ_a`M5.zw?~ 1ݣrZ_ϴ,ؿ]Vպ59R_oxto׽ 1pO~wvrIUEo׬Y_A;RBܼZJ / {6We[ uJi?{?k|)lD!x8HO̞%"(  xϫv98wPc0G+ _Gn~=Q?s+?tn<՟=xO&c_˪ eg&~+3K[<v |>`?p_`+iϿ3=#aC3@YxB{ob1dD3r}r@;3ynyhM^S~ml-漞gk紷m{dӬA]U} mKO!(rIZ8b1$3zθghkYΛ{.#? ;':޿+>X3h}gϿ>׿?K| 9z@g̋G/>p|gBswgs~1xiWo/6` ڿw{=9MQ:$:'i: s\8p. F^p#=lzwx o>O^ߢzOz>1>oH P/F_?^cZU;IOI'?_r^鞠 >X!^เqy(ߎO9]Y(K5;ym濌1Q1{ƀ+9&/ 5ʿ$|:XlYD@:Z=&?[0ٱu.=>x<q ݫ~W` q.KuGd<"s .x{eS/{l-/sBs9]k\FHp]}t#PHc ڊGG"ODT*.6^7`O$<xqS$] YЮνwv 5*wסL9UbGl][nҹΝ*k6eo+;|L9M.ps|b1_OVRҝs asܖض+\7˹_l7p|#Dw8.,mg9X m܆z~3g/#]WaO5uO(^M㞗 R_RrU1E=l.^1˶?yrW,z{t;h{ʸNù|wB<@> rx3±(o/&jF眽R5Blw&sK:x{]j$ -nR0oA^#稈x;<+f (z-sh;:I/gCF˿3ϼ_91C{.497VL_ֿv|XT-=^ONu<3-?y;u ѵwg<ݳ`Y/(f__K%cn͹|Pu9ýΧ{Bts |9&kcc |`<#bQyוw oW+uD989sl;gĩ]WqU#}\uoZ fߜ̔gد!NԁGⱻkK#>E_փv_'O>n&g~lOe:;b[x526z5r'Ze)]4#rG~E'gOIOB D7ĩ3m0,ȱm@(:Vh|E'xk&Uo?5mo=:l_Wѵg{bAw#zWyhNmg?$ס|DW ?R^ۧ^!2/?sA<;Jx/t#.- Vq! i+"9WoiN$@]HJ]/)=[j[86{缪 RIv7( ڿ=OLĿ89hϱD¹u MəSN{Mp/eܷb@͹fǣY7x?柅( JG^P1}߃ct .w$v}]`[E5K":RztoϽڹ\QG7P73X_1?fsڿm.Fǧosy>R'&&?=؎rXmyռ_DQ $Yj:{elg9rY7~u"kXyHro, (9-6y}e::#W_ϯ`s+Tk-s1HLlA[0\˼P~>}>y?~ߕL$"socɏO5~vUyrUxE)LNNA3wwl򾦞**v1s?$w&]~|;ʏV&CvLOM4ۿĖ_wʽW??W=˺8\H<8?9*5:eG)K9Mt_o}&`[rFFN^V W;7EYn8vCr[D\Ӌ\yMYgV?J^Sq?r_@}G_9н^_(A>^?znou ey{Yߎ:Qxyppz{99߬+|eÿGt+Y!ӵcQĵb]g_߀%{39{^C_{m sCXRϳz:mZjKW=8?Z$^{9fQT 8sMKtڿ>ODZZ{@λݫ[g{L;}N:<2'yܳg'K k ?%y eF/BuٮĜ8YOʾ S}c:9S;BSߝYF3y^sݛJۀwي`hey59urcvR4ryŊ\QnGRqgu#^?V^#낅H8Bu;ڹ/vP̼Pznnd15ߞ;Qh;rykqwvy??dq=Yߧ%z $f oc ;ϵ?k||L_>s )%P~ |J?V]_5$s^3/ߦ7s}ZsSv{zKrA^G8;3Ei)XxwJ.χY޻k}x:_R;ޛ8ߍRvǙ%BA*?{?ǿ:DO8).?'o*A_sPR\U_K}?u\تc>|.~D9\ >/A n[w߯;<9x,N z,CVu8k\9~Ǟ:>1Kj<n27>sNaa_/κu=/NLNDFGG#(Weq4aj<}TqvELf>L;:6κ ?7I7ʇ&ߚ^V6n,3M(w`[52n%Tk꘠M[ [_- ym AsT֕"ܞzkj OG6u`+ v:fl zp{@/կ 1}1v es}Mˌ^EqN7 {A`QKk0㼇 ?={^_+Ռ ?5ʿb)/j eiG3Ab`h=;&Ow)%}svlJHgNkȋ[`/ܷ0v2Y5jW1 t?KR}RR1`8>/8>_@DlV1HKpޛcXxYпrO}3?wa8(A9O 8Ok:k.8fJ|ʼW)` 41}+vλcuR E}ƀ7T?m9g;?I˩`vz~@Pt+I ;Ž`^|)m3}{D~69>l{@Ƌs=/uuϥsNAz@Ec1㓂=>[r^#fz5ĄlkυF7  .+1K/|iN#kN=-Bw%^Rc6[z}hc{},޸7cc☮qcY_=vb|{ۼ="8:dfkS6{Ą?{u5}`)?cziäJw,˜kƒbE%>7w~?ώK)u;5dz=(acWʹlR)#JǞ_P3WFkAˣ݊$h.dH<&z~sSo?cYzO(_Lc/1:ARҥD|> 1mB8H};RGSG_.`{:|8򬓨y:QW6|Kw@0`"auWљ1?ܣ|.EljDJ)>O s }pP?R~hf8#3ho%u2K~y H#qAmPpJ;1Ozr[8 Oێs^ۉx(//$z#7M?mK#c8Ŷ$^±yP2dup.}7 Q)v{>,ҙPQ/{;WȮm1- _yߝvs'bB)(% jbBI7)`- 1 k=n bx>k?AMH<1@`nض= gA @4{s|fCA>qx}7\S6sw/;*љcĀ^y?˶wûc?ܳڽKu }% "S+qΪMϺ/8@{g?+ <g 4uk.88 zg.=sqޱrAWo)PjFy?sgv ;ɶv:uҜzG 8?DSSS+=^5e\k\o jH)c@b- OnƫR݃C2ѡF2A,HX[|u[TK>_얹=9GFҝoòVꖨ֣EX$g-M/0cw%?6g< C}gv%b@ӿRiqDž<*P-{A1}:Ȝ{:$ĀkĮAhyO1rp5*,c;J{BӿRmNݞb;,`[GByX/_sY3O^NK{YqW׻r @5}MJw5瘰lQ׆E7ly4xOW+5q?wWXq_m{W3[@m_~#c_R!wD@*/}V"b;kͱy HsFuokJ]<{fIn,`N?ݳ/+{8 \-|,Ẋ#s<9_E\C]pONXv;W]/c@忥K3U?SqF,4V΃C+Կ~W:U\{΁N&?rJZ{u9'/?bc81r5ꠕ3=rKϱ@z[[p.D{qņE¢̓hh-%}Qڽ`gy1ҩWuu@'3^30fkʽ3/xU|80?z~_^\s:g*W NϔpcYk[;7ʜ;[-M1_uj\>x Μ:HS@?6L~ <D9'2}I'jnZ9_~Qϣef뜷rMX!Bә0B2utˌFGǪG~ձ+yŁ KRc6Y(迈x߈g5*;X1P[5?׽NxLcεB}_ZỦڿlMKCf{O( kyѾ 9-baݿ׿_1&R9muߒ5}~Gp^1ݫh8#q:~Vp%j; p/A=?m?lĿCrܗ>gN %Kj?:[_ǀR<1pa,p&I8?"Zs \.r-B~~mU?WN}wfxv܁k=\2# &aMsf3 ލ?*;arrkߟuىl:6^:&!d4in<[McJ{o|bONnuxx |j7hs@[q1##/q|e;їGa1`~+tm *cFG^-a{mCx6G~opyι(˕{=?I韈sb>Aݏgm*^c@}opzD{J(VÌ{u,L{8hUc[9I\ʿ9_3rAp'޴992(Ɠc23{~S .g'hAYrne33zZEׄf'7axtJ7_[S':a299١@7Q})58Ts \T d`8r(՘nfa9CJhñ X3c>P|,xp9yn#+:Yr+。NWٮpݣJC?o_QKѦApk6D 7#'Y?ze/ʝt|UŀWvQ忍~4xG^c lF=@ >f h/RF^Ns"7:Cplo,?ܯGAi3&牿ľ=^Qn{Р.؊kGu#pWl9} ʻfw5;{1Nc=x?2?u%^ChR[E Ilr }o&zZj(lwUm~7ߩƜe#/D Q>xc=[m v\ǀ1[1ي ybi/ݏ.NT ࿢t%Y21s239}oMs,|+ʿwlW||s&_s5tTyވEnϦ&\=eB]WlNH" qC{< qWԼFcr\=Q^Eϩs:_yqD3tPFo- xUpcU^p _}>D[gךmث($@~yuo]?Ĺ.rNcpZ쪚SLv/H8'\{ϵ޿_B_)xe_ZXvY-=sʹV./?# U._a'OB0.H4* j ayۑ+Wj}μa~.J^ϕ̿v;0x1Rl\zS@7;9YS835x_[=n޳< kR}lwNڿ/&o(3odm7ro ʿ hmc84zGkY?`Ϋڿ׀5s"hKH1 EψE+dڽk-8t?Zg~pfK7,/_ {lCEnڀ_->?BX˿_ru J;?#XW˿R4X?ߛwP65_Η}mqW@}/K"၅رgQk^2K/WUK9 m7=}(c\?jٙ8v]EzBiUo!y/PN)"! sbpΓplR5rGt οb\Wn ԇ(ϵ,E!P4=3Y"FFd?.Xw>W̡;3nJ=}E9b]x~|Dvޭ~kX?3Т\ӿ_o5&'b jC@Ye4-.))T$Xq%@`h&DY”YŘ93  EډۉY$ssy{_Z~9ylZ=pvNeZ/{8q_cOhҼj!_~4[<=I Ͽx JZJ{Kw'?gZ@ c2-g]1ɟZS~.܇p'{+j0?#_"sG%cT쇗.-5 @I|ß,ɞ= `DoÓ3Py%{ĿX}~|lXGr@1 }nA{附d2w|$5_;rŗϺϖ^rX~? )@yn.rǟ_d/zOu /c j>H%z˶1#w<=_t_0w;/vbI+k-9?+1P E3kW췴1F ;yNr>w &O`McM/|bHڠXC _DjgOFgGY~+33f i9(Fg d}2Y؛PPPk 6#YV)kݬw(GV {oqq ߰1`{cLwB>}A[W9 ;ɟϖmeϥ9@eXrwzlKgO}{zʽ㯍Q/17޹T)U?0|;?³(Gi+#%ޅ=soI~Bu6dv1Bx /??}E-5Kv(mǖRc^襽8pkOpυ<'y@j_3/9 p*V[߭9+5 9D7QRܟf{ +k#{ xE3C~=`[ǀ"yse {?s@  oʿ`O٫s?2!?v_;Hw;^'F7Y{# [~&U21@o8^^+7&5/^Z6{狇("|WEfQk?Wuڍǿ1u?fC@1F>~g_n:,N_9vfL\`Ezv#y$\+SO5Ps?/OM?WE7>{e6͹Q?%ȱd2c$} {h%T.o|cC~D@ߧJzW"&q^w {/#!ދYszEs`O}|y9>ǿ@+]cLvWG`oMb7"z?E?3w_46u+þ?=>5"Y'~&u ah /߭*(qG_N^s>^{|H?{aܓᏯdhیC6[&OcϸWgn]uƿ}v`A)<~#>p?F!]ARNµimkWٓ /ƿĿb놿g:'wʗi3Gs?_۰-do,}`&{f3 .-՜?w6H&EkW{S:;j ~yU1!>btσP. m~yP[~1{( n}tUW_ڈ|q9GmވF-g3z\K8I{= N 0ߘ몳ӎǬx\Hڱ֠-1γqB-`]-ǻ:Wuށ;{`=aO{vl 6dݢ!B$)_:3A0w꟬sA2DSϞw[^//xVfmhz {m*>@t6b/.t`O)pgdO}"Źc؛.9~?{r>ioH{w` H(vhw; ͻ2__(g?RɟkO9>|=3Js;>=s9Of=-α [uQ ྡBޯ  xWM﫧M7ku@~ 1>;??'{ß}`߄Mi 9d/^3:K~#G׀"6qʾ _Qrv<+Gd{gn]dO?'{5s"/vDdpQ=mX_o#[bp~P3|6ݭEڋM܇Q; q^˿_,5@_7k —b<@ {hp%4ys*:|Dz*aL}pŽlo_acFKɞ72ͰUE#6O9cΎӓi~'0f z\Zɲk~a\p:[s>P_[s,H`,hӂyQ}v1F -jlaWmr]9|2 ~z ]/0uHuף{gCUѱjѧ^b=C;0^ّΦ'ߘOubzv Mբ&&'G_o}uerj%{&27?c~~d?e>.ewN΋`^=RfvC m])7nGx̙-欿 tAt6[F~ωkT _7ծ6ͽ=0l6ւ|-daf|Ͼ}t+tj`Gvz=3g2O&Z_caub`O|eї_/ ܥ?:ө'.k]TY=Ԕð?|aŋ , X-녆(UٳywX>33sRI"?858߇I4*}#3ԐgWH=]E:DɞgA-:d}5r&'&A{<\@>QpgM(w/G_)@5>O5 U6]EP]5ػzeL`Er=er[?LmQ{Zxo>Pc,b=66#VjʵPM}{N.mQ""ZfؒLMg25ү]M c-NgLoKaľVPDx[ b3of]ëZ/OE9R:>a[EH*M\>g'JNjn*pFCA`@T@?7wCH>g'JNjn*pF[C)C`@T@?%%u5E b>g'JNjn*p^CCb@T@y݀J}N Ԡ>KC~B?4W}@O{(XFҦV>g'JNjn*p^Cb@@\@y݀J}N Ԡ>C8C?)rޙG >g'JNjn*pFCA`@T@?$Q/G|]8>g'JNjn*pFC`B`@T@?QA@y:l1>g'JNjn*pFAC`@@@?.;]kI 忞@-1OSM n 럆L<_ї(qΤIGGIL{0nBg)`! Phong Lighting P)\Fvq3(:6~KAM:6~KAMDiffuseColorzDiffuseColor : RtFloat4 - The four component vector or color F 1+5?N>/xxXݰR]JĀ7R]JĀ7SpecularColor|SpecularColor : RtFloat4 - The four component vector or color F 1+5?N>/gxܰvJ ~~vJ ~~ShininessdShininess : RtFloat - Scalar floating point value F 1+5?N>/mxӰ$&*2HӁdń$&*2HӁdńNormalVectorjNormalVector : RtFloat3 - The three component vector F 1+5?N>/xPӰZ[G {/,Z[G {/,EyeDirectionjEyeDirection : RtFloat3 - The three component vector F 1+5?N>/x2xP zE%Sf zE%SfLightDirectionnLightDirection : RtFloat3 - The three component vector F 1+5?N>/`xw!XCLw!XCLLightColorvLightColor : RtFloat4 - The four component vector or color F 1+5?N>/xx B#A)[(d B#A)[(dResultColorxResultColor : RtFloat4 - The four component vector or color F 1+5?N>/8>4W}@O{%(%%u5E b'-1OSM n"&(XFҦVLE2Data, 1 %%u5E b>g'JNjn*pFCLb@d@?4W}@O{(XFҦV>g'JNjn*pFDPb@ b@?Z[G {/,:6~KAM B#A)[(dP)\Fvq3wk0.DX?_|X?dK;,w!XCL$&*2HӁdńvJ ~~-1OSM n 럆L<_ї( zE%SfR]JĀ7/|V FK|d=ShaderInput$?ڵfA'7(x2%dLrQn0PӰh!piDM7 ^@A툷p1M@o=.x}E[2CV)(`MOWIB"ѥӰ8HtO{/(p qQ@Rj`ҥY@e&PB_;OKFJ*rHRSEpFC~__um1CR¬5ٻzEuSSaI7֏b4W}@O{$%%u5E b-1OSM n"H(XFҦVLE2Data, 1y"WMB]h8)5FYP09x*yI9#h"mO('B_;OKFJ*rڳVܯ]FՃ尲+%tsxi_GetInputLightDistRtFloat qQ@RjڳVܯ]FՃ尲'!tsxi_GetInputAlphaRtFloatp1M@o=ڳVܯ]FՃ尲,&tsxi_GetInputTexCoordsRtFloat3^@A툷ڳVܯ]FՃ尲+%tsxi_GetInputPositionRtFloat4)5FYPڳVܯ]FՃ尲1+tsxi_GetInputObjectToClip RtFloat4x4%%u5E b>g'JNjn*pFC`@0@?HRSEpFCڳVܯ]FՃ尲-'tsxi_GetInputLightColorRtFloat4ٻzEuSڳVܯ]FՃ尲2,tsxi_GetInputWorldToObject RtFloat4x44W}@O{SaI7֏bڳVܯ]FՃ尲2,tsxi_GetInputObjectToWorld RtFloat4x4~__um1CR¬5ڳVܯ]FՃ尲3-tsxi_GetInputTangentToWorld RtFloat3x3x*yIڳVܯ]FՃ尲0*tsxi_GetInputWorldToClip RtFloat4x4(XFҦV>g'JNjn*pFC<b@t@?#h"mO('ڳVܯ]FՃ尲-'tsxi_GetInputTexCoords2RtFloat3ҥY@e&ڳVܯ]FՃ尲+%tsxi_GetInputLightDirRtFloat3`MOWIB"ѥڳVܯ]FՃ尲)#tsxi_GetInputNormalRtFloat3?ڵfA'7(ڳVܯ]FՃ尲)#tsxi_GetInputEyePosRtFloat4%dLrQn0ڳVܯ]FՃ尲)#tsxi_GetInputEyeDirRtFloat3y"WMB]ڳVܯ]FՃ尲93!tsxi_GetInputObjectToWorld_Normal RtFloat3x3}E[2CV)ڳVܯ]FՃ尲("tsxi_GetInputColorRtFloat4-1OSM n 럆L<_ї(HtO{/(ڳVܯ]FՃ尲*$tsxi_GetInputTangentRtFloat3piDM7ڳVܯ]FՃ尲)#tsxi_GetInputEyeDistRtFloatfC{o<+ShaderModelH<qΤIGGI8>C/-~CxrEC/-~CxrE Color$Input color brick F 1+5?N>/xH<?4W}@O{$P%%u5E b-1OSM n"(XFҦVLE2Data, 1%%u5E b>g'JNjn*pF DA`@P@?4W}@O{(XFҦV>g'JNjn*pF0Db@@T@?C/-~CxrE-1OSM n 럆L<_ї(qΤIGGIL{0nBg)`! YColor textureP)\Fvq3 1frHsOP5 1frHsOP5ColorSamplerrColorSampler : RtSampler2D - The two dimensional sampler (TpFޚ@' :PR3HBPPR3HBP&TextureCoordinatesvTextureCoordinates : RtFloat3 - The three component vector F 1+5?N>/::z(J.Ďz(J.Ď ColorlColor : RtFloat4 - The four component vector or color F 1+5?N>/>L4W}@O{$0(XFҦVz(J.Ď(XFҦV>g'JNjn*pF5CnCb@@P@?P)\Fvq3wk0.DX?_К~k,J6 PR3HBP 1frHsOP5nE,InputBitmap, 1L QNIM5G&P  5%Kլy|5%Kլy|SamplerBrickBitmap brick (TpFޚ@'p*d Q])JNЈQ])JNЈoBitmapOutput bitmap eSBgc?GqiFE0IN  A ?gŘrA ?gŘrMinFilterbMinification filter (Point, Linear, Anisotropic) 95 B%OK5 B%OKMagFilterdMagnification filter (Point, Linear, Anisotropic) `Muf2BޠQTMuf2BޠQTMipFilter^Mipmapping filter (Point, Linear, Anisotropic)  T?cCx%K T?cCx%KU_AddressModexU Addressing mode (Wrap, Mirror, Clamp, Border, MirrorOnce)  +QnfM9M$ QnfM9M$ V_AddressModexV Addressing mode (Wrap, Mirror, Clamp, Border, MirrorOnce)  b9QbJF}~b{9QbJF}~b{Border colorBorder color -n,Njlpg YTKAIzc(TKAIzc(MaxAnisotropy2Maximum anisotropy level X b/IG  b/IG MipMapLODBias"Mip map LOD Bias oЎeJf6KЎeJf6KMaxMipLevel*Maximum mipmap level 8ƵhdzCqIjAhdzCqIjA$EnableCompressionEnable the DirectX texture compression to save memory and increase speed (details of the texture might be decreased)  hеoC~Oܝ3 oC~Oܝ3  GenerateMipMapsPGenerate mip-maps to increase the speed  @4W}@O{$v(XFҦV9QbJF}~b{-n,Njlpg===?GqiFE0IN 5%Kլy|L QNIM5G&QnfM9M$  WrapQ])JNЈhdzCqIjA  b/IG ЎeJf6K(XFҦV>g'JNjn*pFb@t@?oC~Oܝ3 Muf2BޠQTLinear5 B%OKAnisotropicA ?gŘrAnisotropicTKAIzc( T?cCx%K WrapL{0nBg)`! "Color texture, 11P)\Fvq3p*d 1frHsOP5 g.PR3HBPggz(J.ĎXݰXj4W}@O{$<(XFҦVz(J.Ď(XFҦV>g'JNjn*pFCb@@P@?P)\Fvq3wk0.DX?_К~k,J6 PR3HBP 1frHsOP5L{0nBg)`! `Negate=P)\Fvq3>thE@ d0gthE@ d0g InputInput : RtNumeric - Any numerical value (scalar, vector or matrix) F 1+5?N>/:>>Ai\tDw Ai\tDw ResultResult : RtNumeric - Any numerical value (scalar, vector or matrix) F 1+5?N>/x(?4W}@O{$&(XFҦVthE@ d0gAi\tDw (XFҦV>g'JNjn*pFC{Cb@H@?P)\Fvq3wk0.DX?_%[ipAO9]&L{0nBg)`! JNegate, 1'P)\Fvq3x(thE@ d0gthE@ d0g InputInput : RtNumeric - Any numerical value (scalar, vector or matrix) F 1+5?N>/>((Ai\tDw Ai\tDw ResultResult : RtNumeric - Any numerical value (scalar, vector or matrix) F 1+5?N>/x)4W}@O{$)(XFҦVthE@ d0gAi\tDw (XFҦV>g'JNjn*pFD}Cb@H@?P)\Fvq3wk0.DX?_%[ipAO9]&z€ L& InputFloatx*+kCY5]BtO@nmmuM@n;LAܰ@n\/3Kf͈,nGqiFE0IN m@o4W}@O{$o(XFҦVGqiFE0IN +kCY5]BtO@(XFҦV>g'JNjn*pFCpBb@@T@?uM@n;LA\/3Kf͈,@܂dKu="SolidColorShader.;]kI 忞@"" 2 4W}@O{$Xù%%u5E b -1OSM n""uI̎4)]"uI̎4)] ColorInput color -n,Njlpg$ 5OD.GWf5!(XFҦVLE2Data, 1""uI̎4)]-n,Njlpg>>>?%%u5E b>g'JNjn*pFDC`@0@?5OD.GWf54W}@O{(XFҦV>g'JNjn*pFBxBb@@T@?.;]kI 忞@-1OSM n 럆L<_ї("YMڿ$ZߦʶShaderColor!5OD.GWf5 "C/-~CxrE0!"4W}@O{$#%%u5E b#-1OSM n"$(XFҦVLE2Data, 1%%u5E b>g'JNjn*pFChB`@P@?5OD.GWf54W}@O{(XFҦV>g'JNjn*pFChB`@P@?C/-~CxrE-1OSM n 럆L<_ї(]IDjdc!InputColor$"uI̎4)] 100\PtIL;I1\PtIL;I1ColorBrickColor brick F 1+5?N>/" 1q\W D ɭq\W D ɭoColorOutput color -n,Njlpg1GqiFE0IN 0 24W}@O{$2%%u5E b 3-1OSM n"x(XFҦVLE2Data, 1GqiFE0IN DIFFUSECOLOR\PtIL;I1"uI̎4)]%%u5E b>g'JNjn*pFBdBb@X@?4W}@O{(XFҦV>g'JNjn*pFBdBb@X@?q\W D ɭ-1OSM n 럆L<_ї(܂dKu=4ڵ NormalMapShader0{.;]kI 忞@" 08y{4W}@O{$Xù0|L QNIM5G&NormalMapP|%%u5E b%%u5E bLE2Data$LE2 Data for node >g'JNjn*p0}-1OSM n",S@vTV0(XFҦVLE2Data, 1",S@vTVL QNIM5G&eSBgc C:\Development\Caligari\cvs\tS7\Runtime\Common\Scripts\D3D\DefaultNormalMap.ddsA 9?xDwx[ו/ JKItKʻWg2'U؛#[vbYvlK;;%N)ɪrM2/_$Soƶ "s[н4~~+D [H,]1 w*?VD]rѝ"ZQXDY U"Z@Js$Tl%z+PjMw^`kGq惝#.򃼣0rF;z|`i_s闪Mo؊LuXQ2" q2aCb*l3i8~3QeF$!P?SB"Ukư߆yz+P$\a&OZ 2i3hIqVS`H" {{~v,`;%Av Ή˕HU"~c4b>aK<|.q*QU GiiC~ dY#([ *`3N{ Ga.fo T EY(% +,Y+qZ{b% syb`׀Pi˗eU ڑA9ӵ3gΕNm!gz{ĵHF;7'=UuGỲr^]Io֓K'Zϖyӹ np_k~qbIo]>=醈K8Ơ=t͂-OD,faђ>Rm2JPjE 41ΥFΝ]JgCm鷩MJeWIOcp=c`荔Um靬S%ZƑe]VDK X/!ܙ:66uԖ{*\XVxq.=K;$Wf{ؙ[K94RLCԑi9E6ѓɸVѡ6mj EikgA,W8":[io(M[m=Vk9Z}ughu6%vGm7zstVCp.z^Zg T/=J֤w[cL HZPg޲_=xƠSm]ڞ-;#[iyޝiV%O.\t`&sVH'ٶCoI8 Ԩ_c.zq;w3v!to,YQ~_bV]ZcХNQ?\Z= []Z+0sj- (ڳ{yu]C8v֡ڞ#{ ll];\Zx x}+V$Ӗ徳O||wwd[Xxf:֥ .VҦ5ZkȩJRyLdCVڕ%ٳZ$ܟf]\B/9Ҥd˭J=שՆmZ]p941.zyLku34{#Gӏ$Khf{pvdavjKݳyW%[i5GZ/`Qx2Wb]s1W==kmɏnn>[ wn~>=B!~ro|aRʎYp}m?Ol]ND ~΢S)=XNW}wҫb^V@.1U!Ooy138>:60CZ=5 96Z05Kx68^v?s.N7#_osVܦO8x0 3 Q[Kj|oz3R뿘n \j3؜LfPsjpQm&պ ~l}?f-J3N$?Cxɚ㧬*١pW^Fh0J hG[L!ox!xtPg[Σ-4 Yn|>m3sm,U߳~86%A!# W d8I!㔌>T ".2nx*A>|Gן}tB%6gNKeZdޥE )[&0Yb`$tu/eIuY.e C1R)'F%X9zoP Ƀ:o-וvޅ-9oݜ\@q- $X@`{:`,B`m'`? 5a@G%;?[^KN'# L`Ɠ%U)agLrwۙA O`_ c[?"y: S A`Sȝ U[ ߀e)534]_fdgrX~ nGq.e S<n8 `sFDB(ֆIq׀/&K%2dW6O>0]*By"^Ѕ1KLd@acca X V_}T+őyM?{W=:4E_h´CSiq<¼6r`sCLAv/2 }p~!C%DKVO1AZ;ԟUU++˝H3I8Pl w;p31">!\1>9txf^kTrC tm5GBG<0ԽKx7`>[wP2"`g  WF;3Rʋ8?u)8U0'0g.oU]=`) כ:[/Nn ^)a 'Jxa9etslҠJ17/Fl;ڻmJt% YT[;5avsFϗ=?2h<ؓp[;^`Ǽ&"[6ev*_*%6aשiJy&*z +O@bcIl X @e,puP;arkIx j*^x/G(i ̡K.Yo3hutp8*`^Tq6x/#pɬ%ʌ{dJ >bLØŹ8GD7y0BBiflj֍Dނ ,8uaBM@~@& -I}.: <+b  @up@҄h[yNs 6$*DU. .=2P9{GqbHże*!]4؜ a)GSfKJܟü0\DYJ#jśAދq bz C,?,r8ͻRCD,# n |(}j@m|[96E/OY2t2] ++{{2?p C] 9 pEm1/FK8Սef58/-ZkU ;r񸦇& "[G#pF_ͮү"0_yi)1mvS,p.eWA0 Eނs~k>;<oA\1*C*Î"ՏnJ@U6@TO)Dʭvwɭ~[`{Q*wbƊ Cl1{1d4 x~kLP&\=+ҁ*M*P?M۵]8n"͛ .a]p'anX\醚 R͇s cE|M @ PkZtvґl\bכ#Śߑ-9|t v8 +_?5 _zdӈB}# f;'$V5x Ћ*q|3׉#A,bdj4fo2T"8_J%67lƸQ!"%`[¾ɤ GAc>]~0RY#Yɪunp!CYtjʑ%Yrnu/~jK:Yc~ ip\`>0WA_^!?ӇV)1\df5TF"a֣2+Lz$5 K| WR_ԈŸ1" ) #:l[avWi]FZƒfE~jE>Q&pƘQ|'a b$wF}]Ti2}<~߶ʒ M8coh `SjabE>zw@A^vb _go Z=~),ݾ9˶JQ|ɣOGp˕ķT>t47>”x:'Q4΃e=ת v:T6^^S sy D)q2˥JQs`bK/wsSYnfX$F@bB0 Xa|732`dfPf7J[ ?6߯VZU~v!0ñ]w'}016pMH.;>5H!1זmw_J].G.Z1X ?l ]?yb`%AI Gj<̓%SA($Q!~!cM65\GBUH58 =Y_.qrJ^6O!#!C:~pL P30/Ρb'ggnp] W-6!3nUZ&0 `qޯ)O P&qo* tч@(wa`} ̇q^Y"Ҿr-˩Ě=(RK-: wx_ 4[{+}x }~sp|Vnٴ,쯂Z؉h VDU68kgm{1 ` { >8ێPjTd0prpR/ȗ)~F204ѩIm.,h,-_q =:q/!c؇w\V2=A2z1J@3 A @ |\.hH%YroN-9'V (Ԍ[1C?щR q|O"$[ 5o02 ~t?2bPn?d jNrV7 e W}ߦKu}́i)xޗ,"b6ĵ>AhKsF(FjmZJ38]X"#:Ubƥ*c`AG#ZFRW&M/~)e5Oj-<"ZH/n#Pw[H] R[9{.vfB Qa8p G}`C?>{?^h?hȀ A?Ak$V_89RM~(䣥H$$cxWڱn6=D` r|^া6e&:j_C?J(r6w"Q|=1H2u#J?pj/6/5-x醘=tq|,#9`@DWߏ/DFNj0ҙhg>ͫG5j%k:<7?͕8nq 9! U8ǏyB1dǝ(2> (ry9j.FOْ\NSU+Eit|{ ڏXqMG̗x qTcH hts2nZY ٕSv+;޶1ԗ 9`;^nt *q>ZRkǁ?7m C1y:?-2?CˑJ- ոE$mQ9wvMO^Ȍ1M~Am1b1TXA> c|yїZ( 8?82zֱOw^ ;_Nv/uq/A%B]ϋa.+ր|O'SyП3wJ )Dn4m=Nm zЂPWdz+CノK6$|S? ȉؘX} }ҵ^4<(sQ[˳.[:݉3Dpޖ&YfҪ.`|/$`8;Qme4.Bpٯ^y&U[hu/'.p7#61C7dcPǚdS5J-EJ|:N|=b?X o\ ;@~NgGOL9͞&_s^kFtfIwd:f / |sd}op.y}WD;?_gkdzuhL< EQ1dG4<6Ejp). E/9WȷTE F,F r`U19V @GE߁n#*t CC_{AMr-\TC݅SC?Nvd5 y9<`GDpQ< S | ϛs3H ZQ FDX@#ll]w2Dr-[~߼Q> [% x#ЋAQ 5)3wx ~·s)8xȴ~l_z٭vWjM\U칎k%uSRP|_G;'ٓe?7oP>Q/)s:Ō)W`|$|~o@[xo#5mǭ77|/co\y7>|B=jGo_~~d.Q =KC3O,,M&T:U =zu濽uΩ'/Ӏ४S{e5Ŏ*amSSãaL`ƕ >㙷F##KT,sc$w.H%a,{էz2G~+'>?[_1 G2_Y>:SokBy{KPo--t~ٛM"zTOg.r39erp>s{GC'G|v@&3geiMoִ^[*FÔ%;AU޼B;iRLľ4g7]ne˪OF*K:WbkÄsk9EU-']V΋`6KΚDC=eKw;QĺkKy2\{ܹsT+g}wg:GWy߽7\f/uoZ>W6LS~v&yov2Z鰪\Wf'r}(Oϟ+S~g>] 6?TޏԅC]MR:\o˝9j;c/UZu_!2 5`Ѷ}nYnߧ?s_K+эڴQԳQ?7;o̞Kܭ_6eύ/ݳ۠-3/2R*w>XII3EtD|m kNHZ4ѥT ףx])oa]ʬ}Wzpuf&Y|{O~ƟO˵ <_A״[, q)Wž̇sZZ_,&~>xPM:7ݗ#;g' 21T Wf&&j*L_꨾Q}Kkv>RҥC&etiSn|/௾zaחc6P]pǥR+w]ɓyӲK@9Kgf.YpԚeڕYTofa@f.QoKzWk;?ѧbsֳ4\VgՋ-{{%0c 4앎`K_)Ӵd:?sըs~_t&e:t)S!Of!Qդ ܘ~-Zp-ٺ8bé\ !Ҧ9U}̤er=%ƙg3Ӭ'}\aī\ 5Lzi:ѓ {ߣ.~n]zޚ{9ɭ̃?̳ՙ+Gyϣv{)FĹ2Nm/{>}?뿦\JlQY~+eiݢE@;3zY\`^{/c+Ӕg2]s_y@;.mz5KG!2 Š8}Bef0$,xAM jd=_(g0R [~qcfhx#{۰JE4P3nc*)m@|ɒEe^NePXf:252  .n`ːw0 6[=.m Asa=yǣ /7}]e/J]y{y9' -غR~')3#{֯ ov>oI>,fAjh [P'uh[Tɞ\(K^P{7#z@_ 8QND-e @?`s}-Ԇɯ?{-*թ{o'b_r#طnM( `0` ;6{ ~a=аl1kgA}dY DضpO2tb[\X2֛poJ-htȚgn#]dK~O>8v 4sw"e_< z:C"˷`z!<[/$@vzg!{ݹ2 2}y'L♧!=}xYnwiV/ձ[ t-[SnrKmܙ=Gm=zcܙi }}CO}3v5K-SibܙPu4ՙFf݉G·܈#!pk/\zp6_^OiJ]ؓ~ے ,>޳u'mw+M W+-^q/Q[mj} Gn1ȸ#mKۙ-J-V36,+/Ao8;L4 ˾S[ݣ#\bmhvr+ՙf֣Kt-`pChK1R.(Gm5zjϭ3j#\Jwk_4SX&oYzXrb,~w`kz+CCeGkt>x!׿}Cׯmxpi[l^T@5^ԊhK;$==nR>(:+#V8Ȃ_KCl6Tioݬav P6}}[|X@s=UJӐK \qĪAmg]nYp*4y7bc+]^v'Bwgszڡ`+\a\ev7~o/϶ s{nbeWbSw/c .^z9eܘUay&sPU++ulrir^^~vi-cLb}owdZ;o6w'kVھTRo =Tw_h %˭}޾So'F'+֕z5]Q oE]z=TZviu3ϭ1V Öe͞%9 :7,E^VށUkpZ%r;e[ǃɪ?٤MسϼV9blUJgvW* qc6{ώ"%#~ϓ!PCSN?xw{K{{|W-윲S<ɞN+ ң}S6bFOuR pmBm=B|L]Қ9xOeg՝ˋ{&? g>}gVȷYsz'Gt xu W|C#7,xkkSu+ TwnN2MCҋћS݋w{R?{Vfv`%C_֙?ުL-Tz;uh1񤺷ܾ3_}"xL/5wOeCJxHM?<=ts{LCmSw@ ˚Q2D,K_Ԥ+ ۧϜVRUm`ZGJg ]V!PmQoem8#o'Sk)}Vt˵?;TIMΥX E«>zU-;phO.  DH$*x)-@=Rq)0\ip Aˡ[XKa7ˌ#U/=:CzQ"G2/!HFpH+ZïJ O˨ _2{"pzzrA!^ITTF1ol^;NvdEǂYxޑ.unI~!;3HA??b##A|A|Q_RG4{ #?=urfr٦:Q4!sѥ Nqi@(  [[ҥ]@'( ǃ{ *tndGgvmģ[~f]̱շs5D7%EpBD7coJa@ b_ #|C * >/C4ή,nS&WF?4aQAYCga³6E0q؈6æ;la 6aawa@F(DȠ(v"~ 6wC;97Oٗ=.eaX!.*5jʖ OtnbMw^S)T3ȥwIz)T"P!1Yk_@6D8oНdiz4h_zmKɻi|2{֩^CZS2I7IFH7)7y7yq ؖ 1 uyNQ~X o"-6MhttXC zwe {+8MO `/|6`{_Ɂ}eؚ 3-6FFwؠa? )0 KG4@UkkcN:.Xf䟰 ʦ qLqf}<}xΟ()|cwbA?<1? =a4Q;RGz'JHW*<9[:9Czt0Oŵ_=n?ٍ wїҫ旃G g^s㵨 ނ⼑w\Єrm`S6^\ =5'Ҧ3e!X??]`zG(131$.3F5uDC#*FEc],{x!<[sAJ@w6`[`F4)k 'H``"pZrCeI~o&]pU'qcITӉL?v]|| 2BhzX"c|q`nʁv$TYNO83oRU/F^SccP2 g}4B2((IYLbkd}EijHkgdfm Y0Ux˭*-dp7CA_MB !~c>FFy38#;üAxC: >W?++흺2vǽ3.wd R7O~:t,RSvkĿ\RG < 0]\Ns rp!0qm.à C0 4~p!t#x8'#vj1Ͷ,'e~wBL6=""Ȑ11~.!#[oi/\ANjc V $KyXCy_=+O{Gy]yA e=N۶$&Q,٢}`'%"U/JȤd=cw;J"QHU$%ٞ3>NR y;HDU{)M޻7R^#G-]j7a0x͊,쵄2s9ވB"⹒(|X#σ ^UH9Og2W%M,Dq/ŇS#c/>\׼+K]'VLj,XVjܣ ߴ2G .z$VjIi?3 xqt/d/`H;G L4<&E;Tc"qCKω _l=&A xYgЗuЋ`ڕJzY[?^{ C$ow9>G_llA΀ݛy#` #<87Nk= 409#ykrI C]1b:or: JDj &Rx | W5KlLOZ1*mtۯ4x k .d/M% UܟܟJ l0F?{ň?z:}~)h-*^a`8 q+q_ Bk2퇑2Wȇ3)AalSOHЦdV^;~o|$ :nK>[\~ XOu,)oI#:'KbNąn~zR5 pGyxxp&bMVl7jnvm3n#6a1jHIظR=X^HR,cv ^{>c<xzq@ѥLY"BUJH,![+/ 6F!'R`ry`dKzab.}s 6bSKXle'yoiO~uSOV[o"^S_h̟A݇/&P4b`Sx.Ԅ[+HD + WW /H,1RǷj#4 ׹vCYB1pVA߭ XdW#^( =sgp}tZ"oʍQ/rtvګʀǽSntk!յ`啵ar=6fџ+T(wt`lzdkEJ Ȁr\s*`_KU/ha ! '*]: gtJCI ! H`* ܟl& `=ܟ xOH\+t';Z/utZf|ؔUa=H+ Ge1\=)~Gi,Xn_f@.9J'}:!8} gb16 BєvCZQWܑ~9qy+Zv֠`o 'N>f)75 )$x W{`B^^d_q{5 ir7K@/xo'^ւⷤE+$>3w?!M}7~]Wh0 Ẏp\c2~z^< #ropdr=5C5<`쿉?ޕ5ek J9/#]о!B>2md" ( /$}(N̾ ד@8N0GE_ LKcVo{bZZ:N}T<䬀e<yܕu#]@/b)?*-˃˃ ;#]So!ֿUgW_I3;A{pY_m:C}[5@ ,6Ґ`|ywwzN^dSLio3vkfi6#=]3$gkpm&!?Ma]J 0.NSbȿSג ]nc3q)CˣhԐxxE_ײS'f G-?v&>5.<Ў|ql!RJ=:5x/#tŽvN ^/'j/>`WA2]1{5YONטj'W2.ςEWݞ(챾?u/iWGz.ĄQM:/}\NQj俆?̵X'nͽH?z"Sq_b&ݛWA){LS 1%;I@>[ -;ɷox^CDNjϧi|\(@T *ܟ /#XWu!YF'G,BZO75JK%]~WzxW!䕺4;^> >\n >OiZ&`)O,`CtH)Lw.lRd[9k݉%;e2]i|!o;6GYiw!7@ \ZQ:⼯&Lfկ4@L5BH9? >y`}䭽<v"@x/IfSvxLp3S ט=Uag$|зVp't|Ox2vgPV܈Ƚ?O K]˹\wなb`/4EY02[EʡN~;gB0P{!(qڏ14X )~f~F%DɎMt0)V+qMڌAL1A OeGST/y'G"%}놨G*FyTafd϶7s*n00ҥ˸V=$kh&X4dUwϧs#p|]$ WԢ|N~Kܿء3o=찋|vN~[}1o a; 7'О^NH;LuBjȧ|#{29i+EO-uˇ<:Csꜻo蠓2ŧ0C)D)>cQsXnjeb}kz.`Jg.8[';M5&V3jCߏ=O(Ԟ,HtA.uk⅘/"LdSvLj臚Wv 7{[r)djIFTގ9%Mo!_`\ Bk0 Aqc`+&sr-d/=FVŒhw Ussso/r9yqBN#{IyYx-k sSX6ʩs+biEc]^VMc)RYo[eTެoZEn^Q[YW[B6Ze}(17EoKonfC͜jos/#\:3VEb"j!s-;lneGΛK;1׹s16a49b-<7d/CF1aF޽#\}'sZ?7U#$-rxW O Q}zg=N9yX/[˕--Yek-}~=]60ϘkMYcSlK̳[bOkK7=l9OsKiނ4m(meM~(qo[cޒjTʉ7?ToP-**geoyU+M_8#g}NNrdxFpgf~oPז w>;{-i2VIjvهβx8bgm=\]`۪<>X[t׆Ij9z"%J8u{yɤ[n}sS{#r6%O ,i\W=Ί9YG663ڊc>;Kc+7b' J+ڋ/z;;%ڠO!s=o2gN8AZvQ Ԋ#@UҾݹ6{C쬮$}%׳׸b 1fN LUvtg70 ypS"]8szCP:zjr<-*A;Bv#vrVSAg TW]d>Z^{/h%|.P*.t?-Mx\Q&|]z2`nAsS 9k$z ":js<nago.NvD‡b4,*5>`Ι:K#p*'Bf96'Cƺ6`7%~0GN߭k-ot|khm!s~k^a`.]xj` 7d'XS>si<ׇo|$&E[yM-7>U Hlfb!Owb. Ƕcwo%wE`f .675XE%d-!{I=XYNM˼}6na&F> P|rÕ[B7_-;A˙]NLvr6f;䰵%5>k'.l[ÿqw?lltݛd>ڌʇr>;ec %l/A{AZ0r1=:4J{Tx?S[N?s{쨵:l7&e.UYBR>;bYE1hY7ӊr%; a{EƜbxtlv±Ve.\` ~1TPc\nCdgH~BRȤ[HV}I_a񌻎 3)ׄ$"uc0N$p/|v$L[pJ"Ix_ ŞIxsV# STZWžX4$ȣߋ5!h3ZWv#Zk#7yp![ݳH";O '38f0IZK5Xˏs${QdK3cN}wº}Gh/O2MLt.c?1Enw>y1; ?cNRYcoCuEHky(#g3ҴW(+ 3wwyIRg==Hv-m~mLJF@g8[/ω5"Ĵ\>ŽQ=Z s3o>0w)l+?VyDVwsܡ⇚/F5} i>ȓp 2oeh14nt@I-؛sF๤Fu{ɁcfL=Db ; &LD\blqqhϨO[u}8=5Sqapv!9;sZ8Z9%to&wq q:e]g?-Hwo*n|р2'i>\9~ɧc;ţrwm+֣_ȿ~)Ω_J;d?8k{+OvuWFetB|Z>j`ˁ '`OI!\9=alLI|:1hw^bܾ`H|UBi5Oam _Ae1oG9zرlx&Ͻ.$y< ʙ1s`}ntoOl#C{OjVNfO>T=yLбI՟ T?T?iwsm 6vF;0'0nW=b/vF;Hl& @WZ-ֽώۜ B}V8lIYvC^HPTϧpSmvoq2aRڬ3v+ugF=:joUg}>M51K&5{kֹ';Ag,wQN縗l8]9TN3;Ԭ}6_>1'6{Oz&ibaG^F߹l>#0H;ǙVXXh pS|rvsdfobf>"Qh/-zk͉_k7ٙRsH.AR_"#lט^ 866)^d`9./s[l.{^9Ҫl!@z#%uhk87 s"&a :o&N9lOw-5s5O%YjFa@~O0G -S&R_!:e/.o: %VM:Y5SFa:[`H!ui| B`4)Z{sRg_%dq@1W={tdO}QK"K!BYV\6Iy))tF^;9'p/rco>B9jiʏg= h9?wo07{TWS{kxƗL3rqvU XL^vRGPy,Hd s+h%ׂ5 dB,!m#qѱbs|񌜸$cHY)W&Q$MiRlӻ¥97`R ܍,myA֑GdУd_ ʱ/<|@.fwgYi]\%!ЛH*^S i]99{/B:ȴT%qGQcUx&:u}-rYrOzoGaކ$R^$Jȅ;? ;?Qqm*Ѻx#~_1Ro][onP=rCkL.$y' Tqd~S{(8uzwc~b*WvfL/o;#߽>#On_?Dw\:ԫ?h)B"<ٳmUo\Gc:)l-u%P<9Kvԁ,3RFa4I9t'Y\ߐ/A l'&{ "Zln5\8l- 爮BS{C[%ɿ}l<k^TĀʗjvcIRˍ Cm\fb>3< JȔ26Ts J U,R5G:>Q@,/عb) G,u\n<5oy 㴯r%srC^ۘ8(. Fly `z[H*b7WrЊo^#rb}*RÔTxƊogSR,EaI?_ WgfLQMO`bk]luA)O!"I,îV糒 ѭ3yi쿢B-y 4 Uٵ~u\2:$G{A /qkh.D{D4~(Q><3dGkVpU˞NRHtVSu ,{*$rSO6.[ C0hh?7 l-{HxteZVӋmVjs`] ֛`M+ϿawkTZx6OW]ra5 ZL:֡3SY~Q8E\ )myk()KesccƘ!(El%iؘ1W`\MJsr\|xmuL_(4=C{>0)~(F*ՃJ'Xr";fw/wFN d'~ϞFGU\T[3x? Fvc|Wޑ!{./v 1W\,YkU&]Z_G+m_Zr?*km ^A%Ax(ing IB*ZCf?={7^t%,v3h2[/#Wx1q(ksk2yyxy z_vF儃<ɩt7b_Whݶ X_ls-/:\Dk3AOz+B@]Z <̀+"ۉK߶ߎv˛bǕL|3kS--}=6xҗWT3k`^>_r]NDV4EHɨ x^Þ:rz\ /\䯶ZzK3u'rغxGyn/S|~M~.ErnS2"@А8ŐA>fD}曐%< #sP M8)Z'@/уܯ)|r V_Gx=IvK\ ?0ePv-#%~&KPqpI*{?qGROl!UK^+}v9b _U_봳 QTSǞv"布(O["Vc#5[a}eW8w* x-AA[-b9FuƍC~!,]/ʠ! Wn/Dm1/G~g(5L*%Yl3[DroyZϢqX q1^8WZF&J&fhB8@޷YTe35p5 kcGS ܌Tk)(4#ǯ 2˜ ]b?;J}Ǽ%L>  H.?C smS .v~Hk5*q&3~{qQ!bZٹjpUfG5~WKaIk3DIܵ[u}11 ey/rn4^dfƌ$' \ـ>Dʹ.;bmnp$9vέ3jGk]8} 7f. b U rPb?l12]tr?jǡoSǓN|}&Ks{S C.ܵbͣ-iGk%Q~DXzr.co]1>^[d1ևa0 kqߨ0N쩳 {O>O W'acIs=:lak$ҥF |?b\%KyQ:U ۸yew}q-Q9㸊Ͽ\/yLk1.G]JdQv^\91$K#K]?h&}1P2Z:I N!{boN g#dV|m ) PDk` =1Z#Zl {[yte3Dy_$6r%3i{ WǺ/o YBo5Z!uqHcxڴWsN,@>l8I0$ܵ3bK_x* M;ySSoiDoMh\O@!i`-^ ]q|F6N41r=VD=s?3GCooUi˖{+ Vݍ)!]{ڞN׾uތGTHB̬Ѿ@%~=IX_vW#% yb}uON{;G UZ3&=c;߿vtTN'^Eo2kSd-C~SGu= \ny4'b}6I0*9s**?$3 W RlM>ہ?L7}nVCԕ#5wD:u]'}1.G`έwkQcDB:,_0SN %dܝq8mqWƘ^sG{2@9Xbl`_qw i)2b'A_7ai-j1䁏Qa]Z]z /3 x s3TǟZgdJ ~`7B_o&A.ؗQ`ӀDq@< >$q ׊%k} ^h%\ޙ]zo_ TᗏJiHה+ 4~ I<g\?sW#D!zb:mSm1Va-`g,Q')vF:(sq=>0sWFq_p$w0/%[Vy,L !7[iqp7-OgG龮'2Cȑd dgiḦϼY/vVK+?wwUuzc KKji?( 7&`.t\B[gz<БUx>Bqb#3Sl0Lde1, r-5fbtE氟ZלJ96?)bseu+f{"jwsq0oX2T̿a࿍mtܕTjjR5i 9-Lp<ߑӽO`8?_p{&LK_ox3\tCoLxiԱ7) >0OrgjU?RӰK#S2 GY,`X44E(Aix(H4oܙH2` 0bO.`@MYN-.`uĂL[L Zw×]v[x"Pw 뮰h] cyFq/9뎷}2H"`BĀxft 4b~&n:I$nq +Rio ^<㚐Nmc^>ĒY#k= \pn4alϏڅl\|S;?QUoM05ŽR+[H>e.eRS/g dS3$u|L$m[xj"|;:ǩ[jf[:߸|Q3}IjFr{<Io$1wp%\ȋu,tю;l ga5ԅ.;[!#+M 9Pɽ0ZLIjoHc%Q%"fJDa2 9k$CNK3?ӯV# @1E8k_+ W+-"$lpAnIǔyka.^@0363p7btVN_ F_.,ƍ[+[܌yKf^{wAWoV*?a ڵ\f❷Gx\I]3Ŏkurb) li7  o)n?kr3Yf;~63n3sVb(kֺl &he,72`׭M_27sKƝQ4o;ooRWnT6RP l7XIfZL̿3o1nlI3z⚵vr򝿕;LƼLԬ&^3n-+)\OMҔ)LX5L'tmyv'_n7'|OWung~ݷWﮥ9_3J܊\6 떸 kKX5Jy{ۀ9^4UT+oK7bzLi/f6͕ro<.w ~G8Ӂ=vovz \Ί[k uDލR|cxS^(ѹ}}GĎRcw^xAʗ﷘ BAsm:aܑ;gSos6Xta=G3ګ#zHg%u6'*1mfYi7 m{ä0}-;jiwC}{s{#ouvq,m֊,MS<\3/i:%MF[[=7*u5';}:h'"p-yӇ=X]H?XKTl7{먮Gj+‘ݹM!cͩû\Ίt*FR)m7?q[- ulUފw; -`n !(%هu*= Doj]J2P}[?9_cYP.F*d3k5Ye!׾YnsJw_W~ks&h W(]z!U!dux~{g9 37報J񐽕 ŇM%X-A91mYN> Qr]YqOo,^yA{y' 7_Qfn1٠`^R77?' 5+@49Wmis^l}KMww6o_{~w)} XCxCx#7duA"}5f?hͱ^ԫΆ=DثP^ܟ@<Ġ[OmJ .z0PҭA&D'-ٛ=4dAl.bָI < זs:Х0Ak˸W+yAL{=G!5Go\#4ĝ'zQ{քSkKCKoZ VB^0^eWěl7wo$ Ʃ{^sg'o8Q9 >0O5彸Avxkg?|ci!o"si/ѣ^ڣ7sn%VN!n5эw Al0`S~oGg;FuuJ> dYC|{3נ2^ߣyr{dwM\SAw7c$`>waF:dr.þoԿ!Րo8{K6.Ϸ Dg[]G7ky}giTv-"m+$脳DR:+D.~|x;}ԕ?v[(ߠK9-(Em=8qB/]ou'jy?7Ih#b0ܸ];.}kW[A֥f .{ a.?`Q8v /{fa,~HyWd(VU=6u[vh~0VюkQgb30?C,;CIw$vOKsܥs ցEpM6R?z*}6nh́mZ YoIo->{`mrXpK5-Boͷ ژ{CAȵK5ж;?Xnњ}[o[Q_*lPz+Aj)tQ%eۛf}p-}B|&'Ks۳w:]҄V7&^2JlsGijJخs-3J3ݮ T;3JԞön)8OhWvG!mvV-jk⨶W|[ǚ]:=i٤Xqn]tx[HNew` MKz4~n4#_)ڈ |HIG&cWs1Й9cj)4'숈dn_|]>6gFh0B#Bx-!!!4G4HqT Z|x^V&@0vnE<85d$y Kc7'Tۋy`ްx\ܹHsMq]qqڵSkq,>h )x]V$^'}Fb50*BkoP8*GxGGS)u3niyA? ehSLg{P˧h|6ėGuG햀Gwy#yp[< lcp:!Or]}Zɩy/x(UQD ;*\_Gu~$;*i|1{{W^3H;"QJWN=X;ҙ'\fo8R6*uw!6c:s_#uuH׼5~. <| "AԏJ?`dv!Ej֤ڼpĮ +zH&mWr񅺬49VX* D̚2|-ì}ޜJg % 0/ʠQ}x-~[ڳ%G.[kGfd#b'_ _yDsRɽNQ;REjWbGQ, yX|~4<cޔ| :0?wHbOl(&؊ԓvlUрן mJrtFFg%l=&(*I]֞HZ{C#xT}A>JxF)mvߍ⺿"9V*{\p j7ޏ[{q=.{Y,Z=ӍI^Qe~}:FV9`6hg=&?\WcN*G }/nYB`,/> D[ x]1@dƜZbk9}aw`C=?='~v$t4Dyb4Fkx_BRC6ݯA,Q<3nϑs%:q=bsg7F#އk0 Я3 だpa %O؏^kOoYNu=ͮ ^x_ޘ?^}L/dC8뜏)3AA: W`{-,w.n &<JJ9_A1MRBƎ$qvD&oy@>s`c NR럱7D,aȁW(H%(t.ԲBI60)EG.[+c`?3CFUSuX k> i0cr0wßj'w<~ϕ#AS[%)2q.@,DUK-n)+zxy&pO_ qI e&P)G7˺G[oY ),?Q.y?KH16n{C1F._;+# 3|{/}<-Y %o`N8f+HLAl@%5}_!Fv@ϛUk?90x:[X)?0&FDqs`>d–H]%(sC@-O.sO6)&i U E}[Vğ~g^B%eitwse4x \!rb1`REyi5gſj! 1]fzϸC_S˪1 vP鄈Kq̘O9f ZPp=34Y*/Rn+ﱗ3MMyqҙțW!Url_{u/s@ px12o/`w6d 11m}y^Z& Vcc<;jsNnG" ~0س0N:3 wewS%v,:O$kq牎K8f`lbl[}Q:dKBA@G,wjw?IWq<_{b&c?`|&̾OJQ*u~ >/%Q90}AVy6' R:0.$&k!h*sV^ߦͽ(IYd@ς7Y^5Х \tT a${sa f: |}0!,䭘1d@aS n D#|‰Ltզ ]j-=/Wg710ƌV] sg$ *>XDs Z,8llbwGaw9U2b6v{᧶~-<U$e_Fݘ7:q1Y1̗WI)kd}Y3#1/ >/%;Lߐ%m˓-jץnq FO ]g1юX%˯״y#= ę3G({5YX0pxtT ~>gVyO3WkUiqC{a cu>k/`{y a]2o >v*[>(b̞ij {0BD_/*;m)q"q?%_ p?* vrtEkd)TJ> R0@RF?ğ8 PV?9E CS"Z%pQ1_H;ǩ{Nܭb'ZW;ҷZE j:eT}޿>mC e~~Yl{F.ɝ G/W@GMN7\ 1@D3fX9 ?ܞEHȋ券Q.z̜ _ub;N?9ÖL9a0s>=(At`~hS!͇:iqh? |lQ .mɦ?Xܺ1gDf_r,c1ar72_O{A ATfLj;UIџQ[_ O}}*A]NN?͚{;1 yWtP嫀]u&Nؖv?lMoww”HN/1r>ȏyI`xDsG\q HOJ S/x%Ɍ=' ‘o=߅q.^rsl? o?ci`cqb̏sAJR朏|\G/^WfވDI,vG>vȡEM^S3<-^ٜyc|cЏ Yp?Χ!_==}ެ0!T_=52.& ~\l7V7W7Si"OVQ}ɸV,:UZ%>w !`<h>xRDe0* q\x>G#|ob@OAz9t|SX=7бROLك۔n"/7B13s(= ^w c``>sq;/ q1'g 4^n`"eQ}yA5mEs?NriaMnqȎb؏+ 0羔^yVXHo%)}[iY2/QA=CH$k+h5!^ykc{h1Z}ycHS?Zds/j0̆`ZI{?5~F[􅾯^:'+A+7["UN0pςq-}|С%8`tBR}>Uis0{Y&Zbq+=$:ygvG00m<sr1 q|,xabU*Y^SrG(I~r O{x%TZRlY&8*׉a.E_vp*?7;[V{] (F|+v|7{n$xNf9kƑyYEr4ֺӱ~-ʗO[Y{"kWuNgGMxt!W̔GQ~5z|6_Y%Y!~}l0m!AIq{4ɥZP֥)W5gP49_ 8oJe֚@'˟Y'\9f p?Dttgf{Q9Ob_>0G4 v P CLy>^ݜ\a\CFJOG 6\rRG:=F}w)B][Gjg|:ד#ۇu!&z?T t;+]%pO^g>qAwԩǛ]/?pg[:zx1X:KLg<'dD 9x1Kx 1!9b#.|H%-[ j٣xo\WyiQ'0ss82xdːb[~lCc`\4cd:ۑ' pX,g:5(Fk4A]cf߇$vއ%╕}||/'A4 r{/ڋ=c . -[ܣ Y'wE|z{JG%mz]0+4S1.]rWjuf-sA>)A3"Z:p ZQ9߉c` f :9Mc&+x|| ;J)R;C_]|~__~PzYsO|BgJ)7 7~2o:667oÐes&2?O;4?=A$38̀NH~C"jEFEq&rA/"Cxݺ0,6U34<9ʚAh0Ȝvmt 1!BY?X0"CIJbՖ[jbǬHUzOf̆5uQ;} OJDkdZ U5gFk'O]JV/a!+ko3ݒ)-6:hC]BTqh)ئ1r{E30ۭQQyc ;S^/F" .|7oHf5 9Y]?#WYnZ|6p dDA {,KR?<2^{C4` z_@bx}ā pҁ0I2h!]O9ݍ( 䬧@O/JT >BN5؃VyC\` 'qsNs7Z!߆xA١7 SuvAGuƜ^~T: , xIc@ |ȷ=X>n˅^_mG9HWktz]FC+`xO/2}9f@Vngx^{֚?bD^ 7 mp=BQٌ 7 x`Yd!c&9SvfO9{8{|`Р3m~nO*?sȑ[5rxJ9*[7B~TKU8Z<ph&_ zyA6'@&/ї?YAD+KيO"mukP,VӶ=2`2?nгhOBr:D = ctN>=^:FE#I?MW[nOW3]ӛwm5qơD>,e&dWաA$щlA @+#2 `@9Jܣ<r$?5.6"z lvυN/E= c"x y4 |0^yZ+oޣr<;M#>Xo=A~g ?G.A"{#q?daQ aΑZD55eBG~΅}>:fbcxtVLNܸ>Wfyb~>rMVn.hfU1uѮ Ya&%8^ _P/vg3gx>j[@i y_|t^jQ&1ާOz>CMnO& }ԭ. ?D:|6EI/8c?j/ 4rj ;n'G?t$=E]QgYhnm}+t{~|Z*4GUvuiWG{G92ϵ+ 3m)cOx^e9ןc?mbӮUiȨ:uxnӿo_/t^]~w~-{htbz=!| 9rx]c~sp-S7D+yYSrZiIU_Dpr.D-_"*+l)Vxz`Bx)u"{Cŷ-o/ [N=w.1UD|q{ UZ[%wx׈'<{~ћrkշîP_Mڊwj7R[iDݗ#/dƖpaGa:mOɎl/NPjɩϱ%W~w.1"ω~ۉ+LppIV)^#qҹ|I*^bvlGBڬ *;A YP:us'm{j>8b=v+ >n)̤5ƅͅiiKqoPw kV}ƮN?6F;sIϕsO6xm  ͷ{D@½Q^e<:Q{ ǭ]g\`c.u:V>b=KJKۗu3;lPf{sdܡOa{ʭ.m.~6>w>2ytu1}h 1WapsS鳼[?Y74!>wiK\1xtsAiȺYkcO?G-d3οM_z=D&oɏʇ]hƮsp a Z~_bk |Ǽ2|qWҠޡ S7rVRkZ8_λ7 8Mfs| s3lj{Sup& L2N.eAƝs-߳HO96o_!crWt_v󟄆[Ix1#Kyʮvm+EPfgv^߈rCֆn*j`eA3|2}¡W_gO|#鑥Et0U&BNe,P'y~O.f]Eҹ(s7XW^O9YɦNtm@Tf+ߨDµ(X ,@>9a8^$Id-bj gwtN:CLb"~`ۗ?^{|&i7F/m\ ;+i_jY!zk(!9 6cGq/e;uk/˯ڍ>ZIGm/\I:4 !}-2d]HWL=Hԡd$5{  kc&x5fTc ab0$Q8 ^ >yDz?i<:Dsʋmh=K>3Ψ`m(աQ@FA]3+Βp r`k-UzDٚJ$FZ %%u5E b>g'JNjn*pF:CCb@X@?4W}@O{(XFҦV>g'JNjn*pFCCb@@\@?.;]kI 忞@-1OSM n 럆L<_ї(`# JS5̿=ShaderNormal,S@vTV  T"\E  T"\E Normal&Input Normal brick F 1+5?N>/=0G-|00r=0G-|00rTangent(Input Tangent brick F 1+5?N>/ 4W}@O{$0{%%u5E b-1OSM n"(XFҦVLE2Data, 1=0G-|00r,S@vTV%%u5E b>g'JNjn*pF@DC`@T@?4W}@O{ T"\E (XFҦV>g'JNjn*pF@DC`@T@?-1OSM n 럆L<_ї(/|V FK|4ShaderInputp?ڵfA'7(%dLrQn0ppiDM70a^@A툷ap1M@o=0a}E[2CV)a`MOWIB"ѥ0aHtO{/(a qQ@Rj0aҥY@e&aB_;OKFJ*r0aHRSEpFCa~__um1CR¬50ٻzEuSSaI7֏b04W}@O{$0{%%u5E b0-1OSM n"(XFҦVLE2Data, 10y"WMB])5FYP0x*yI#h"mO('B_;OKFJ*rڳVܯ]FՃ尲+%tsxi_GetInputLightDistRtFloat qQ@RjڳVܯ]FՃ尲'!tsxi_GetInputAlphaRtFloatp1M@o=ڳVܯ]FՃ尲,&tsxi_GetInputTexCoordsRtFloat3^@A툷ڳVܯ]FՃ尲+%tsxi_GetInputPositionRtFloat4)5FYP%%u5E b>g'JNjn*pFBC`@0@?HRSEpFCڳVܯ]FՃ尲-'tsxi_GetInputLightColorRtFloat4ٻzEuSڳVܯ]FՃ尲2,tsxi_GetInputWorldToObject RtFloat4x44W}@O{SaI7֏bڳVܯ]FՃ尲2,tsxi_GetInputObjectToWorld RtFloat4x4~__um1CR¬5ڳVܯ]FՃ尲3-tsxi_GetInputTangentToWorld RtFloat3x3x*yI(XFҦV>g'JNjn*pFBC`@0@?#h"mO('ҥY@e&ڳVܯ]FՃ尲+%tsxi_GetInputLightDirRtFloat3`MOWIB"ѥڳVܯ]FՃ尲)#tsxi_GetInputNormalRtFloat3?ڵfA'7(ڳVܯ]FՃ尲)#tsxi_GetInputEyePosRtFloat4%dLrQn0ڳVܯ]FՃ尲)#tsxi_GetInputEyeDirRtFloat3y"WMB]}E[2CV)ڳVܯ]FՃ尲("tsxi_GetInputColorRtFloat4-1OSM n 럆L<_ї(HtO{/(ڳVܯ]FՃ尲*$tsxi_GetInputTangentRtFloat3piDM7ڳVܯ]FՃ尲)#tsxi_GetInputEyeDistRtFloatL{0nBg)`! Normal-Map, 1 P)\Fvq3{O:r{O:rNormalMaplNormalMap : RtSampler2D - The two dimensional sampler (TpFޚ@'Pf F?f F?TextureCoordslTextureCoords : RtFloat3 - The three component vector F 1+5?N>/ajn.Fd7ajn.Fd7aTangentToWorldZTangentToWorld : RtFloat3x3 - The 3x3 matrix F 1+5?N>/a5p˚FudTQ95p˚FudTQ9NormalVectorjNormalVector : RtFloat3 - The three component vector F 1+5?N>/ 4W}@O{%0{L%%u5E bM-1OSM n"M(XFҦVLE2Data, 1 %%u5E b>g'JNjn*pFCB`@T@?jn.Fd7a4W}@O{(XFҦV>g'JNjn*pFCB`@T@?P)\Fvq3wk0.DX?_^CCU {O:r-1OSM n 럆L<_ї(5p˚FudTQ9f F?nExInputBitmapPL QNIM5G&0|QPP5%Kլy|QQ])JNЈQ])JNЈoBitmapoBitmap eSBgctGqiFE0IN P8uA ?gŘrPu5 B%OKP8vMuf2BޠQTPv T?cCx%KP8wQnfM9M$ P 9QbJF}~b{P TKAIzc(P  b/IG PwЎeJf6KP8xhdzCqIjAPxoC~Oܝ3 P8y4W}@O{$0{H%%u5E bȒ-1OSM n"H(XFҦVLE2Data, 19QbJF}~b{-n,Njlpg????GqiFE0IN NORMALMAP5%Kլy|L QNIM5G&%%u5E b>g'JNjn*pFBHBb@u@?QnfM9M$  WrapQ])JNЈhdzCqIjA  b/IG 4W}@O{ЎeJf6K(XFҦV>g'JNjn*pFBHBb@u@?oC~Oܝ3 Muf2BޠQTAnisotropic5 B%OKAnisotropicA ?gŘrAnisotropicTKAIzc(-1OSM n 럆L<_ї( T?cCx%K Wrap܂dKu=pTextureShader.;]kI 忞@"eyDl84W}@O{$XùL QNIM5G& *0%%u5E b-1OSM n#05OD.GWf5p@x(XFҦVLE2Data, 1#L QNIM5G&eSBgcp rC:\Development\Caligari\IconImages\mid-res_leaf_logo.jpgA 9UoJFIFXXC    $.' ",#(7),01444'9=82<.342C  2!!22222222222222222222222222222222222222222222222222"K!1AQa"2Bq#6RtTbr$3CSUc45*1!"AQ2B3Raq# ?PjK=0 뀎SEi.M$ 4$hI4Bh@$&Bh@$&M$ I4i B Є@I4$BIhI4@$& !4hBHM=T<2M&3K=z+.m oc{i $Z _־TN"Ps1.jx_56n}}g6|SA.hI& !&hB!4 BB0OԀI)nG6z)gMB6z\ۻ`JEH: !4@ВhBI hBB@ nzA7YEU) V=s[n9FJ#vn-5}P9)jewHt=Dv =hpt+;pf/ut|۩ ,caj-?{"!T:.l<)a@G–0x@G–p- &&0<"8GDewgvyR^B 9Fݝ&ВHE+C_BNE0xe8mW}-R!B*4W{t/]ʮMe.WD6ZqýZkQ}^@*&o{@> = c~q2BHْ7zQ*Ny[˼٠cw6Q(`Ҹ7R4w'P6v7s{uױp\0A .TnjSe|':;ryPh!$ В~ 'tH>7|@/;3C/ګfrk)~^?7[zS!4)!$9z_u_X,wQhG+rs g`y/Dߢ+KKR!7'GߍkH扲7湧 W+aZj7maAhY-ө2\iX뭎]0}gz/rFɢ|r49i;*|WyN:ĕktEޜ SFyWeg1!4/LA$&HM M4 tI]<ίVԿjŬUxlV-oOIHВ !BcF܎=!ccwlȾ1#K\H{Z+fnF!+6OqQODSяC8tc $n 'O5!a6=9<(#aIRB8F$ #aI@G’0 #aI{lFިO;$ tA+ȅ?>FM%{Cܴۧǹf9-H]k3ܷ; f)X{:z›gÐ/Mlۄٚ[\(j%+ȷrKGMZ.p^m4 ss;t㐵T4Җqˎ83>Ps53X.eC7l{Ǵ9 !aiI|# ?.Ӻ8ݼw,ܞ*Mm0Ӥp7tF=OF! S6v<DZyՉ6M+_[I8dt.i W%۪oVҧu]dǶF59kA!bש3gԙ0ٜٛ۴OVW4~U[h**$'1`KjJ5MsRG*y'68Mf=`8wZ71Km<=['+&6Iv昌AkhjKlO[^h;رL shBTM@oܐ}o.\ۦOu_urUxlV-e5/ګfrK|J4IHM$B 64% 2p758wx(!BqqW HUghz =c\0B̯E8Ku_h|Y;?=ݪB e`:{QOLƑM'`wVC㱚$-&8Fhp aVY|MiWSbWPhte5=no|A\斸G+F:\*n6QN2A qK>$ogZ6w .h]nDۍ]Fz%VlX^O;2湮iuGZuU)el!3H+zkUn|d<NoJ+厎 vYS~szGq]Ɋ4p3uMfִskǢbMY(hzx%CO -B} 'tH>7|@/;3C/ګfrk)~^?7[zSI4BI4 $sF>TH n©78F.#aKClxX :5̬aS%5|*v<Raa8CSv0*0!8S gCۃXI )Z 7=)$#tm%^-7mԢ*(>g ɕAV\<{:SO{-~kW᧮W[!gs29{K^摂*?:~QF9>daSRnp,V-jѮ2+[Dp)# DRF0a,aS\#hwX!:rxJ8t2 V g"K}Wwzy,U[4̴|9cwpWdĔ4e*=>:"fj3,XG0yQD͚Z8 oq YΚFkK XFY# XF4ƆCpoK;% K## :pA 9ku pń;୽3WbQS8 yihu=N=MsN|CVL"FHVUwkFԱдW} >tzy'Z:s?(?G뻼@ar28*/cSlb^GֲkSI =0B߹ tI]M4 3mK鿜R_Wb(hBHB֗84 p^l;sސoHC&t<)aT$a# H@G–$a(6 SNyvNDr:7cRM xVl^4hn#_l, : :v[-[ b{[FKh,# R7&5~Q$蓮;{yACB].d<|5^'Q5{  ˪TS2X;F;de/D ;A/PΩIi{]a9t.?wOɂOP{~m )%wX'.H?dyFt`tQٰC+̟F_ySNkBH^i!rA鿆s#ni> ~g!ڗU9XԿj-=)P& &r.j>vvGv[",# (R0 ",#K(R0UR#hWjk=W^ y3%eμԯRg3k0MΏcwkJ墇y4jOpai"uO9=wU[L WD#ArK]jʺblۗg"M6=t^}ɪ\]ox͟>!\cl=sNA,u/x0\*9h$G,n-s\0A VGYc-cI>O&1{_]hw*Ǘ=fJÚA+Y$Ҝk f(*&{q,o?.x`d"{NAsI4W8q'Cjg c֫:^ rmH6Jk(&[OoQSc{ C B5>nCFgo__œ^s]zh&,# 6٭+i݉ax{{{=mn9;:ǴR&vܡngў>>$Y߹ٖ e=7F14 oxx&ZA /_j(yܱ Z{[=IK 펞ǽCWO[Cd*WK3MYݞ ~Y-vWIxh GQb*jn)3 ޵^]hXFB!at%ˬYɒ~7s⹹9%dv̩μlԯJf];`WAǷЩҜ~0 & ٰ wJ.+xe4wњY6;C>]T ue==nLѽџ+gSP>64|6Ur[hy= {sEJ+=FhI\\oܐ}o.\ۦOu_urUxlV)eu7ګfrk|JI GFh@l6lGr|W L͚X/gC,#p,# XK XF0at>]ffwz@UZ4ZF#v9F#dcr4yAl7Gpwcjϖ"#wҎ/wR_{ 8 -gTh=@O=xs:}W#.Q YS\uRo_zBh6'8F.$#r\(M;q_dac HvkLIk7~UGҷX'RK&7z'dkpZҤXҤm8[GUO8G?|{GTʸvIEz0i\*]\k^mޕLMl|}k頵:>yҸCޯrqуՊm0uK|~6zt- TҥnT@ '|i\x~{.J&l`R8zhx2>/L6H-Cg?xvu~UH{Ǵ9 =t&wNܥ&, Ѩa,)aWHR0\UӻfX^jvS@|ɘzGq\arg|%2\O#o*ӵ7;^s[V_.ˎ8?Xwq \ֽxSd6+aǜpQ_v 2 y ؾ!L_W877 iw/͆Wb<Sާ{4wOn zP>߬0<4v?\tU_]Ewh*X˩ ȅv`[\ɚ=5]ԭ.xmPv2Cfofˁ>\FۅލD/Grk=pÚpA*#CKDPKY߹ tI]M4 3mK鿜Zj_Wb(i!5#6ַ ',qaOaOaOaOaOlުYKWQA79tح[#*lع +cX*I<yڪIF|Uy\=C|4ձmQszUҕzlp7{QVRmwlN8Օa|3"xØBm(aoz@C[ik8?gXZ.Kh6m xFI)d:9Z|WJIz iRQS)5Cf3uʘDV<0GP:l1jOr,ߔl9A ^)kk>޿zc{ea}Zi 9igZ2kLibd>)XZdz9t;\|Ǜ?tDZfBWD>?CY:{Q!.i|ViXL)G#ᕲ2F湧ҳZNTi뉅}<0ˏHuаZMmMm.lknop}[M45SF!.kYU,9v\צu%nSg=c1F<ػ_r^N06G)&O]s]%fR;Bo*Եi|Rf<%r->LV+KŅ*,Oi!| /E+FVdrX=\Z&wÞwdy+sgue@O9 =mmn7`;50}Tdxzu-x6'˽U"5ئR>e[Fs|nG1-{I*8[(? ,{ݎzK[6w-a{u^C}sٝ Ä.'_-*jIsIezjnˮ2F1g޴+ܓs$pjG WO}Ƒ\wG$#]ArPT͵*gru"IN+!ZT$ {FI_4.F9s$2d#v架//|R\%ĒI'y'$]&nڒvXxY p)a@G–p)a@G–p)a@G–Җz*TSJa^ӂ];l {?# 5 !xկ'D3TX.u+8)גlQ]i2~.gxU TBɡF񖽧 cjQϵ4>'E3 8WMP }۱;G7;EzWXjܭ^;hXaK™i㮡md8 \#|2:9CpBܰ+xi 7d^2ȭxf&p4srq`Fxaiic\ 6E4>GbϺ;s_SkBɣ9u666V,c]EQY+%qe]1D+6HF\]{M-%Srok;Il6;uM7BWJkž:WF-= &` 0ˍ?#ҩrز8z|fucviؾU5i*,37xhlk幕w= ߬tkg/ w_*N4O_ Mw=1Ю{Ut HjrrC[Erk士f̱; :jCA첲 L2=SURTIOEa<# XF0XBxF O# @,# @$a<#ӺOeqqoQX,# 'i5^TQ=fa!})nT-w:m*M[j188uu%1p'sZz}V{156TTPǝvv[ ;+AI[f`kp?SY>Q[ oѽ{K^ӂ Tp4T47xa͠q{GOj/ٖE{1.\ i9-qr&hC.5 yFצuz L c+ XiC#v?m:?TU..Ï6~#~Q6.+yպ^;9kkVCRH&|Ȓp.c$mcZrZb ,⡏&29ueS-O%2g?x^ ABXW5TZgA4uh^4Vt.Ԏf+nH֎oWkPO\D.hQq?VQxkUPߩ`6@pNJajOkf,)+Dqp*8FAݵ4NJHÄ$;>嬝'xFK*|!# ]$$'a'qW9nu7>ل 2^6@zf2+b7#4O` bYQ8%HiX} F)k EA$ziGT6 Ph;|zljXQ+E8E=,gz{uUG[#k#||np M$O 9~KpfDWD=bl&}3K}3BeҜr}hwTno_Tڕ Fʎeo֊vp6Fz:ݥRF6Zvm-p qC9Ÿw:ZXG  -4y.cfD#|׶5{THs/MpzBh]M 6==&,Y|-sO˱ZU֨Q# HP GG救F'Nh%M㑧k@|)!# H@G 4 #aIЀ$ ":7qkrӂ 4ƼlQ^ ?[!Ax!s4ֲTOCg>tة^ϓɻM#I}a ҁݎ>**Un `xWS\iYSI3e4 nsX*1φW+K =teb-#;Fa+&kT5ů&{=^bG#ᑲF4Ҽ.;?%|^2fj\3HMׅTK;eã: szAPג7:7FZdqϪk-7 >nWH}Բtb͋G\i=roQGcUB,Nfrv KL N MkWK%e;^q79“x0K'R۟Q tIc`r4*aR0H,#R0a# XF0a_+lu\,iw>*ױj*+>؝!qMIPtRi  bW41BF5 [m %e{:NJk b[ _d-PC3'XQ{# F=*Ժ* ]l5\ {UiSK=CਉJÇ5-j5Ek-i08 l5FoiK '8` 윺'z{ViZfbvZpGk:l;&9]m{ec^5 ]k+fe6qF@p;z=Nv|2|# YEa.F},|֎'hW+eެLdyBa]S)3# XF0 #altZ.]nuc"k2;.x]=<Գ:|R4x ER~yM=LS7ldu+fZZ**"{Hzr%i GBBH5|FՒzQQhpT<8 jӫ$VWԲ9r7sHNw\_inW|QJrCzOfT1mm2=rVe5vKKa9s!8`q=*Bewh:c^#٬k Ucgw;>/=N?x-Ϭm]&?wR3V:(ԯj[{cܵ'Y#Ǵ+cnuᘫi~7J볕~E(^4uԴ.F1 -Q7=ikW*OLҮ!K(RX]BPa)a\V禵[wG:Z~ +N0? J_D-$okrX枢݉>f91ثKMv/wuiڮwQ=$CazfKbTUL+}ϒTEUiЯ*{3骢l?]X=Qh.ڞqGVM_6>JJ ku4f9Ǐ?%Q[Nb{ִIh xz[&3lҵoMkK6[IP0cGglTԹz*rE XFHBEfjz6Fa}igu-\5 {^=q\!SDaxp'8qoԭ+Ks>pa/c}̌lLK\25h.IяYMao׵51Gkk)xV9ʩ<|țiɶ{",# K(R0 Fj]Ec-u f׻iJO~.$Э,hB!@B $ЀhIiz>|[՚(*EYҷcl9kA!f:{(:{ # HU0p)a V\1yq8hˮfO'?JqxSa  ^)X˭xaqctޫFڶc<)ahՖ˶A S\T3:(njZ#phwOwjc X^|%Y㿧Nr)# j{Ԕta7Gj4M*h]$G–AWzye1O⑼Zh?S#s.sT|{p]!)('qo ȓMSZ)# v 6Iϳ4ǰ> O itSn׌> &p|pT eSji%1ޮu.K_Oj[2b 7Nvxx{Zr8 -w^<7n1tHT?-<: e=[[Go>+T[S߹{ҽėI$䔰wC+pwCi*Ѹ݇dv0`Ჷ-2hw5hКXX-V0A3;Fm6KK78+#szEzy#hVުyFno#5 ,g1V,AlkƸmݧ}mnJY S>QS)'1ykioV_=[4ˤ{i`z֖=9W*OLڮ M(ES#|qI#H=%sI=i#\ <0.#aK8Fp)!>r}fU8= Z||¡Gcٕv-ݴ]ݵ%8>|p3V*(׮ j[lQi=ZhZ;# / Cub`n7Wg+%_^ۥ=5-΢ I$v2qLJjIHM EZqilk ɡiij0v7w;=1Ńh_;͝ȀmCFQZrMGR/+4wD`8 XKYM@9cdxAT-eD1TA!{OX[%R^Yk7:Ū0V WWU[{=̌<&bIp^KHHM DЀHMЀHMC7wk]ᏂĴcKOvFI&BI$&HBh$!!@MmuXdw=aoQJl9*fW!xPY#~Q^Hߔn(R rHFc9)a@ER0 #aK)0-:mَWyTՐv;畽Z-b&wu*!B24^+uv۸.nc,{޴N۶cTv̇|V]l3lLx&wu*(qQ.6nڒT֌yv啮y=LnH=}SI-.6ݩ#o=x;[Ҷ/, 3;[ܵޕbI>ĝxջ-Sv*#O7 {fWJ^zyWuawـBGR0A 'po- eEզI\2!n8t, |Ӱ˃r9[>V[s38J n9UmvIvz bGϽSZJ n<n¶]mumW=5l#V&dڒ`ma#:U6jz ,yd8-==`_˜K}+ji@sG>kYV$9:ȶ74-K_:<.OQ^,Pa)a@E XFF ")a@G -\7{ynPyE,d=B4+Ԑ4!4 $BH@ NܙkMld~ ɖ %l>7[}dzڬ/S1f`V=wmekNU&KD0zK]*ZrR̋CI^;vXǸ^ɖd)}jgcz筟̖;}^ضŕ#mFu20|)4>7!2h%CW*yxp騠8/a υф000HxF pGHObk+uʠ>xר-f&rp%8BBeuhW:xaG^Z jZξf:P|޷kevhy1?swOrFzRyu];n8YUnkS~H;0Eqva]h=,# LXF0i[vd+Low>a 8piT*ڸY TѰk$ {oeWUGa0#588UH|8%q%I$䔰3J!HbVqœӗZW˔ʭ|MQ];gLpذUҷFz`Y-u\||Gjȶ-iZp(C4uX  aO ЀXF0XFlM]<8@gr,֨殼`wx Kٲ^Ƅ!HBHhBHVƪPH3H:7{X Rk<gZXoSQ۩j42cq$x+QqXߓ5OɪUh: 2i&<|TKY0M ;'w u u9Nf223z8*:ҏ< X7h{ǐAWbTۨXes>%gE9+.E'ɍߑ9Xj3rikX%YenU:ZKh#GLD;oXaK7M4Oa<#tXF –  GRxF xF O NdZc,2vˢdɍ҇sӖj2*$3ܾ.PǹsÛ5M[ʺ5RA|O-$tTkDcypC/.Ҹ,# C0XZχVR7x1vղa<)M9{GfAlbLo=ao1Hɢl9t~6}o=nڱV;3d8,=a[IZJr7a sdcG XBxF RX@,# @,# XK wVmP߃?ՑrmDsϴo*Zp΍qh! M$r>)Y$n-{s\88 :oE}UahT8xTftx> ;;w: rrvllU&n 0\/@r uwʿ8ts{ol~ E5'=޵-KҾ-Kw9췿-ɪ% ٢{GW4Jb{4&oR֋қZa8`af)3*hPuLs_%]0@ ,OMo \Ҧ֊1=ydѽiiTv2*x.5 avlK$oSU6S`yW:+Cx6`UQ4'c\4VTk=VIln=1at.ɥ{:#CFNXZ*0+'F|FV^f)q+ڝv&6G8~q[)YspFՑY߹Ka ٩[*QBIݓ S4О*K",YWFJk"ҙ4;h7F? {j{[Dp)a]:G ΍{Ii#alqoV 8{G :;2f A<҉`89V> k |=P(z*[c2lp.Xl)ėOIK k-KKDp)a]:G–p)a@G [j[[vӗvi4[=A&Ǿ3[\װ9kAq _)n&ǯ;5]ox$ӓO[RwImJ&a6 :S¤,# XF0a*Kwjv;ՑL:ոhhIj4I&i&B I/m lv }M1&[ݭj *`j"Ÿ+krnVwcTu)rr.HgV2[E%}||\ <$3KO 15O)Vuҋd,{0ZW5[BVbQvO-ܶ\bn6iKy~Jq䢺L%qZ^=> Zf˭*g F۹`UxmWQ;i[eRY.$>e_;${c)#.qvTs[jVHIu5R%Qv%͙LH=(ݹ{:=g/!cXk}W=~ԑjU {KOb*tڛ%opU&M\sZr t7Z)at料)1Vˁ=etxC0ix-gȸ7mmoxhxoYzkնl$ .>UxF^4VϱT]Pr9{,~)h,# G TLba|;-h+f൞OP7f}4Ez׷"&0[]5\*i|XĎ*~ rdiS0qin7,cxZj*5H8_$zNVVT:j)Ml_q0aL,#R0,#R0°:T `[&٧/hӗhy%Yw1ݚZ58׵46 〓V}/V38o+]kJt5{C摐GII# XF0a,}m537OOgSR&/!a;lܱr{[6I B@4! !MBI4 hIВhI2U~`Q]hproQqV={ہ(V8Q .w-vۅ։VK ӱ՜X\̒X|x(בXi*K(uS;K?"w*zլ`jc>*kٔWGKgCMO Cvf9U:ZQӏLN#Âmܷpm}4wmT~H[27<Ӑ/=UE#'u*lmvʏ9xk~zN:ﯻV\*泲p{ R#)aR$G–p)a@ER0,# XFߴ.l3*8?{ꦞM=DTBn{dc^1!w Whۈ<n6P18-/2PiOrZ8FCpr=ltw:*j?w8p;U2P<q!hZ*\/L2\JٍR)uX내MH;& iBQj{kǏy9KHCXcY_q\ܭGuE40Mlr:C-1q~Gn쎼ƻ6ǸFVmAz%<Ji]OQ܌GN4nWV긯QCT4nqvt)4̩P<6F գQ۬~}$Z $@doRR3΀Puc+.$$It%H#,6`G[)h^v&|S0*ibuSk;\nGUP)eMrǓ!= xϻaS+MyQ㘭pivGU e*[b(gx>b\ɁQO4'p[Hm_Ux櫢y>+ pzBMrAa4. ЀXHAd !^t̴#f.d;F&q/}RrV [~\I"#py=JR6 # SYg6;-oT*\$*\DF 軴4b'5ն/nf8r*x &ľ'f>77W4Yk[)k9&ayN5 kCZZb'8siZ&:+8KOviwx4>s\װ=kA R7y55&tҺ)qů>:; z_GQ'|}ouwuNJ>:>NN.B}z_GQ'|}ouwuNJ>:>NN.B}z_GQ'|}ouwuNJ>:;䏣SKPv޿rW $}[G]j>SNN#?T'ݿ}ouwGQ'|Z>^jOEm{p^X.zz=1ixF89tkqQhdd>*f r笾4j<]AZǶgi1=-\uu@ )<@q;t-]loq!4+UZ:Wz3NϰCج2Dʇ6A%GyĪ>wEQA]AK=YiHQEYی:sS^MxQ\lc+$ KpFzrrhAANx$d6 w+æm:bXd;R=.s$Ar{iO ÃxNW1[ᷓ3hB 4BH4kOYUJsOQ,GB& 6:fL++/MFUCtOғPxxe6` D#d,=]5P=DRx?- G˧©ZLsU`t=CrA0ix* \x+ذp-Z]IQM4'p,6Uc!>*En)r1͑psOBH0a)/lNݙ%oߘZ5*Grc'%|ji`TD#p)iY7!"psJ7-6{eKT:TP!vo-yANH&jTN Qڍ$mn!ϋz;!Z΍/UՊՊI%a`-ŭ`N?mZO8R,ը@uǯg5/VB9?V?Mz g~jB}c,^B9?A?V'>?5-Ók[?'$8Y_ArZ?Mz gZG 'ը?POGP~l֫d'>?5-Ój[?'48Y?ArZ?Mz gZG 'ר?POGP~l֫TCdh5j-Ól8Xͩ%:{t$ď{ZeuN&KR5ƍø,jPBjd$@5jΙζU{A &46)FI;vlmwvej)2BfejP&$!MIM$!!@ !4i!zwmA4;#YjmYy+GDⰉOq|6T176́/=dxeVɨ<0<0~m1[v>{U&4*OhS^@*OOˍk]1Q<8n?%Sk;9Tr7 kV;y')iԜAu+-F]L{1W|WU;{C{ܥ{mo+󠩍 tw)G޴Jg'JNjn*pFC\Bb@X@?5OD.GWf54W}@O{(XFҦV>g'JNjn*pFCtBb@ `@?.;]kI 忞@-1OSM n 럆L<_ї(/|V FK|XShaderInput ?ڵfA'7(%dLrQn0@ piDM7 ^@A툷@ p1M@o=XQ }E[2CV)@ `MOWIB"ѥ HtO{/(@  qQ@Rj ҥY@e& B_;OKFJ*rXbHRSEpFC c~__um1CR¬50dٻzEuSdSaI7֏be4W}@O{$@f%%u5E bڷ-1OSM n#H۷(XFҦVLE2Data, 1ܷy"WMB]ܷ)5FYPݷx*yIh޷#h"mO('B_;OKFJ*rڳVܯ]FՃ尲+%tsxi_GetInputLightDistRtFloat qQ@RjڳVܯ]FՃ尲'!tsxi_GetInputAlphaRtFloatp1M@o=ڳVܯ]FՃ尲,&tsxi_GetInputTexCoordsRtFloat3^@A툷ڳVܯ]FՃ尲+%tsxi_GetInputPositionRtFloat4)5FYP%%u5E b>g'JNjn*pFCC`@0@?HRSEpFCڳVܯ]FՃ尲-'tsxi_GetInputLightColorRtFloat4ٻzEuSڳVܯ]FՃ尲2,tsxi_GetInputWorldToObject RtFloat4x44W}@O{SaI7֏bڳVܯ]FՃ尲2,tsxi_GetInputObjectToWorld RtFloat4x4~__um1CR¬5ڳVܯ]FՃ尲3-tsxi_GetInputTangentToWorld RtFloat3x3x*yI(XFҦV>g'JNjn*pF:DLCb@t@?#h"mO('ҥY@e&ڳVܯ]FՃ尲+%tsxi_GetInputLightDirRtFloat3`MOWIB"ѥڳVܯ]FՃ尲)#tsxi_GetInputNormalRtFloat3?ڵfA'7(ڳVܯ]FՃ尲)#tsxi_GetInputEyePosRtFloat4%dLrQn0ڳVܯ]FՃ尲)#tsxi_GetInputEyeDirRtFloat3y"WMB]}E[2CV)ڳVܯ]FՃ尲("tsxi_GetInputColorRtFloat4-1OSM n 럆L<_ї(HtO{/(ڳVܯ]FՃ尲*$tsxi_GetInputTangentRtFloat3piDM7ڳVܯ]FՃ尲)#tsxi_GetInputEyeDistRtFloat"YMڿ$ZߦShaderColor@x5OD.GWf50yC/-~CxrE R@xy4W}@O{$Pz%%u5E b{-1OSM n#{(XFҦVLE2Data, 1%%u5E b>g'JNjn*pFDB`@P@?5OD.GWf54W}@O{(XFҦV>g'JNjn*pFDBb@@T@?C/-~CxrE-1OSM n 럆L<_ї(L{0nBg)`! L2"Color texture, 1OP)\Fvq3P 1frHsOP50+ RXQPR3HBP@  R Rz(J.ĎyD4W}@O{%XE%%u5E bE-1OSM n#F(XFҦVLE2Data, 1%%u5E b>g'JNjn*pFCB`@T@?z(J.Ď4W}@O{(XFҦV>g'JNjn*pFCBb@@T@?P)\Fvq3wk0.DX?_К~k,J6 PR3HBP 1frHsOP5-1OSM n 럆L<_ї(nEDInputBitmap *L QNIM5G&+0+0+5%Kլy|P+Q])JNЈ,GqiFE0IN 0+-A ?gŘr0+.5 B%OK0+.Muf2BޠQT0+8 T?cCx%K0+QnfM9M$ 0+9QbJF}~b{0+HTKAIzc(0+ b/IG 0+ЎeJf6K0+hdzCqIjA0+@loC~Oܝ3 0+l4W}@O{$@m%%u5E bn-1OSM n#n(XFҦVLE2Data, 19QbJF}~b{-n,Njlpg????GqiFE0IN DIFFUSEMAP5%Kլy|L QNIM5G&%%u5E b>g'JNjn*pFB`Bb@u@?QnfM9M$  WrapQ])JNЈhdzCqIjA  b/IG 4W}@O{ЎeJf6K(XFҦV>g'JNjn*pFB`Bb@t@?oC~Oܝ3 Muf2BޠQTAnisotropic5 B%OKAnisotropicA ?gŘrAnisotropicTKAIzc(-1OSM n 럆L<_ї( T?cCx%K Wrap܂dKu=tdoom3jointgeo x.;]kI 忞@"0~|~4W}@O{$x G?ŋ G?ŋ tSObjLtrueSpace object synchronization data W5f@(䐈ZhQP|`׊;Jf|ڢZ%0R{偢jD%~`8ZzWAG0zp<ĠF姁J]\hy8-V?XM%-V?XM%Material ListMaterial List +N⩊~z(XFҦV"-V?XM%偢jD%~`8(XFҦV>g'JNjn*pFBb@ b@?׊;Jf|ڢWAG`^02eE{|@B???? G?ŋl罸[Hq2>$?>^?>$"?>#!??UnitObRQOLayOLayeMat1Z)pa ?fff?ShBxZZplaincolourW5f@(䐈|0~4W}@O{$xVIQGіF͡T>W5f@(䐈ZpߘHXOlxRƾz>dL?PSƾs>dLPSƾCд®?ٸ*ćIC7lq2l=>l=[H=q2> h* 6H?BJ8{EE%D7[LjUb)R ʽt Aqry'HNű_,lLo '89Ig"$?&?^?{?$"??#!??ZpߘHXO YW?Yx>YW?Yx>YW?Yx>B[x?cnB[x>B[x?cnB[x>B[x?cnB[x>YWYx>YWYx>YWYx>qwB]zJ4 >]zJ4 (VertexColorStrength(VertexColorStrength" J.HE /*gJ.HE /*gShininessShininess"p 8VnZN:W p8VnZN:W p DiffuseStrength DiffuseStrength" ll-#Ez k^ll-#Ez k^"SpecularStrength"SpecularStrength" 4W}@O{$8K#uiL$K#uiL$AlphaTestAlphaTest :KrbSx",L?D},L?D}AlphaTestValueAlphaTestValue"J.HE /*g@@>]zJ4 n%⟀A}aJ-n,NjlpgL'޽lL]>L NameShader name 4W}@O{$!agNc +A!agNc +Acolour0colour : Shader - Color -n,Njlpg {[f(@-L*;'޽lL]>L plain!agNc +A-n,NjlpgL1@34W}@O{$3oF5SO/oF5SO/ambient factor@ambient factor : Shader - Model14{a>% AGJXs>{{a>% AGJXs>{diffuse factor@diffuse factor : Shader - Model16f`e'O@f`e'O@ specular factorBspecular factor : Shader - Model1 7A퉠C i 8A퉠C i 8exponent4exponent : Shader - Model1@8Kj=N1RKj=N1R specular colourBspecular colour : Shader - Model -n,Njlpg1oF5SO/f`e'O@='޽lL]>L phongA퉠C i 8@@Kj=N1R-n,Njlpg????r鷅wOq=0{a>% AGJXs>{fff? 7G5f2PureLWDisplacementShader9I˕XMӍJS9I˕XMӍJS9,LWDisplacement_shader2Pure Displacement shader yᮍGM޴" p:'޽lL]>L9]4W}@O{$'޽lL]>LI˕XMӍJS9 EvmE|Kc\2PureLWTransparencyShader`^fO*EI,SfO*EI,S,LWTransparency_shader2Pure Transparency shader yᮍGM޴"X (_'޽lL]>L`^_4W}@O{$fO*EI,S'޽lL]>Ln':hF% IdoomShape ϕ~ÁM{ 9_[~ÁM{ 9_[$"Reference matrix `^02eE{|@$ѕ& mG[ & mG[ $Local space `^02eE{|@$ҕҕVIQGіF͡Tԕҕ׊;Jf|ڢB [ӕWAGҕӕ<ĠF姁J]Dԕԕ偢jD%~`8BԕtveDCE`"IWJB[Օ/nkUCEHLj/nkUCEHLjSelection.Mesh selected elements >`g4RJLUDԕՕ4W}@O{$֕(XFҦV" /nkUCEHLj偢jD%~`8`^02eE{|@BN dlW?dlWN ?@Ҋ>?(XFҦV>g'JNjn*pFCBb@ `@?VIQGіF͡T>W5f@(䐈Vٸ*ćIC7 =@ۅ>@Vw>.@/N=>^@=~@#^@̽.@/N=@Vw=@ۅL@Vw@/N=Ә@̽v@{]Ә@=@/N=>L@Vw>O@iub?ۅ>+@:v]?Vw>)@9Y?/N=>Ϻ@0eV?=@fU?#Ϻ@0eV?̽)@9Y?/N=+@:v]?VwO@iub?ۅ]s@tg?Vw@ k?/N=3@n?̽@o?{]3@n?=@ k?/N=>]s@tg?Vw> @x?ۅ>@4?Vw>@C ?/N=>C}@F?=|@M?#C}@F?̽@C ?/N=@4?Vw @x?ۅ@?Vwㄋ@)?/N=1@[?̽qȍ@?{]1@[?=ㄋ@)?/N=>@?Vw>FJq@9!@ۅ>Pk@@Vw>sg@Ѧ@/N=>od@@=`c@@#od@@̽sg@Ѧ@/N=Pk@@VwFJq@9!@ۅ=v@H$@Vw {@V'@/N=$~@5)@̽3@\*@{]$~@5)@= {@V'@/N=>=v@H$@Vw>M3M@M3M@ۅ>2H@2H@Vw>D@D@/N=>DB@DB@=j^A@j^A@#DB@DB@̽D@D@/N=2H@2H@VwM3M@M3M@ۅhQ@hQ@Vw U@ U@/N=!X@!X@̽0Y@0Y@{]!X@!X@= U@ U@/N=>hQ@hQ@Vw>9!@FJq@ۅ>@Pk@Vw>Ѧ@sg@/N=>@od@=@`c@#@od@̽Ѧ@sg@/N=@Pk@Vw9!@FJq@ۅH$@=v@VwV'@ {@/N=5)@$~@̽\*@3@{]5)@$~@=V'@ {@/N=>H$@=v@Vw>x? @ۅ>4?@Vw>C ?@/N=>F?C}@=M?|@#F?C}@̽C ?@/N=4?@Vwx? @ۅ?@Vw)?ㄋ@/N=[?1@̽?qȍ@{][?1@=)?ㄋ@/N=>?@Vw>iub?O@ۅ>:v]?+@Vw>9Y?)@/N=>0eV?Ϻ@=fU?@#0eV?Ϻ@̽9Y?)@/N=:v]?+@Vwiub?O@ۅtg?]s@Vw k?@/N=n?3@̽o?@{]n?3@= k?@/N=>tg?]s@Vw> %=@ۅ>|%@Vw> %.@/N=>놗%^@=Ӗ%~@#놗%^@̽ %.@/N=|%@Vw %=@ۅ%L@Vw%@/N=7%Ә@̽ H%v@{]7%Ә@=%@/N=>%L@Vw>iubO@ۅ>:v]+@Vw>9Y)@/N=>0eVϺ@=fU@#0eVϺ@̽9Y)@/N=:v]+@VwiubO@ۅtg]s@Vw k@/N=n3@̽o@{]n3@= k@/N=>tg]s@Vw>x޿ @ۅ>4ٿ@Vw>C տ@/N=>FҿC}@=Mѿ|@#FҿC}@̽C տ@/N=4ٿ@Vwx޿ @ۅ@Vw)ㄋ@/N=[1@̽qȍ@{][1@=)ㄋ@/N=>@Vw>9!FJq@ۅ>Pk@Vw>Ѧsg@/N=>od@=`c@#od@̽Ѧsg@/N=Pk@Vw9!FJq@ۅH$=v@VwV' {@/N=5)$~@̽\*3@{]5)$~@=V' {@/N=>H$=v@Vw>M3MM3M@ۅ>2H2H@Vw>DD@/N=>DBDB@=j^Aj^A@#DBDB@̽DD@/N=2H2H@VwM3MM3M@ۅhQhQ@Vw U U@/N=!X!X@̽0Y0Y@{]!X!X@= U U@/N=>hQhQ@Vw>FJq9!@ۅ>Pk@Vw>sgѦ@/N=>od@=`c@#od@̽sgѦ@/N=Pk@VwFJq9!@ۅ=vH$@Vw {V'@/N=$~5)@̽3\*@{]$~5)@= {V'@/N=>=vH$@Vw> x?ۅ>4?Vw>C ?/N=>C}F?=|M?#C}F?̽C ?/N=4?Vw x?ۅ?Vwㄋ)?/N=1[?̽qȍ?{]1[?=ㄋ)?/N=>?Vw>Oiub?ۅ>+:v]?Vw>)9Y?/N=>Ϻ0eV?=fU?#Ϻ0eV?̽)9Y?/N=+:v]?VwOiub?ۅ]stg?Vw k?/N=3n?̽o?{]3n?= k?/N=>]stg?Vw>= &ۅ>|&Vw>. &/N=>^&=~&#^&̽. &/N=|&Vw= &ۅL#&Vw&&/N=Ә7(&̽v H)&{]Ә7(&=&&/N=>L#&Vw>Oiubۅ>+:v]Vw>)9Y/N=>Ϻ0eV=fU#Ϻ0eV̽)9Y/N=+:v]VwOiubۅ]stgVw k/N=3n̽o{]3n= k/N=>]stgVw> x޿ۅ>4ٿVw>C տ/N=>C}Fҿ=|Mѿ#C}Fҿ̽C տ/N=4ٿVw x޿ۅVwㄋ)/N=1[̽qȍ꿕{]1[=ㄋ)/N=>Vw>FJq9!ۅ>PkVw>sgѦ/N=>od=`c#od̽sgѦ/N=PkVwFJq9!ۅ=vH$Vw {V'/N=$~5)̽3\*{]$~5)= {V'/N=>=vH$Vw>M3MM3Mۅ>2H2HVw>DD/N=>DBDB=j^Aj^A#DBDB̽DD/N=2H2HVwM3MM3MۅhQhQVw U U/N=!X!X̽0Y0Y{]!X!X= U U/N=>hQhQVw>9!FJqۅ>PkVw>Ѧsg/N=>od=`c#od̽Ѧsg/N=PkVw9!FJqۅH$=vVwV' {/N=5)$~̽\*3{]5)$~=V' {/N=>H$=vVw>x޿ ۅ>4ٿVw>C տ/N=>FҿC}=Mѿ|#FҿC}̽C տ/N=4ٿVwx޿ ۅVw)ㄋ/N=[1̽qȍ{][1=)ㄋ/N=>Vw>iubOۅ>:v]+Vw>9Y)/N=>0eVϺ=fU#0eVϺ̽9Y)/N=:v]+VwiubOۅtg]sVw k/N=n3̽o{]n3= k/N=>tg]sVw>Zp=ۅ>:jVw>Jf./N=>`Jc^=y`uLVw>iub?Oۅ>:v]?+Vw>9Y?)/N=>0eV?Ϻ=fU?#0eV?Ϻ̽9Y?)/N=:v]?+Vwiub?Oۅtg?]sVw k?/N=n?3̽o?{]n?3= k?/N=>tg?]sVw>x? ۅ>4?Vw>C ?/N=>F?C}=M?|#F?C}̽C ?/N=4?Vwx? ۅ?Vw)?ㄋ/N=[?1̽?qȍ{][?1=)?ㄋ/N=>?Vw>9!@FJqۅ>@PkVw>Ѧ@sg/N=>@od=@`c#@od̽Ѧ@sg/N=@PkVw9!@FJqۅH$@=vVwV'@ {/N=5)@$~̽\*@3{]5)@$~=V'@ {/N=>H$@=vVw>M3M@M3Mۅ>2H@2HVw>D@D/N=>DB@DB=j^A@j^A#DB@DB̽D@D/N=2H@2HVwM3M@M3MۅhQ@hQVw U@ U/N=!X@!X̽0Y@0Y{]!X@!X= U@ U/N=>hQ@hQVw>FJq@9!ۅ>Pk@Vw>sg@Ѧ/N=>od@=`c@#od@̽sg@Ѧ/N=Pk@VwFJq@9!ۅ=v@H$Vw {@V'/N=$~@5)̽3@\*{]$~@5)= {@V'/N=>=v@H$Vw> @x޿ۅ>@4ٿVw>@C տ/N=>C}@Fҿ=|@Mѿ#C}@Fҿ̽@C տ/N=@4ٿVw @x޿ۅ@Vwㄋ@)/N=1@[̽qȍ@꿕{]1@[=ㄋ@)/N=>@Vw>O@iubۅ>+@:v]Vw>)@9Y/N=>Ϻ@0eV=@fU#Ϻ@0eV̽)@9Y/N=+@:v]VwO@iubۅ]s@tgVw@ k/N=3@n̽@o{]3@n=@ k/N=>]s@tgVw> h* 6H?BJ             !!!"""###$$$%%%&&&'''((()))***+++,,,---...///  0!01!!1"12""2#23##3$34$$4%45%%5&56&&6'67''7(78((8)89))9*9:**:+:;++;,;<,,<-<=--=.=>..>/>?//? ?0 0@1@A11A2AB22B3BC33C4CD44D5DE55E6EF66F7FG77G8GH88H9HI99I:IJ::J;JK;;K<KL<<L=LM==M>MN>>N?NO??O0O@0@PAPQAAQBQRBBRCRSCCSDSTDDTETUEEUFUVFFVGVWGGWHWXHHXIXYIIYJYZJJZKZ[KK[L[\LL\M\]MM]N]^NN^O^_OO_@_P@P`Q`aQQaRabRRbSbcSScTcdTTdUdeUUeVefVVfWfgWWgXghXXhYhiYYiZijZZj[jk[[k\kl\\l]lm]]m^mn^^n_no__oPo`P`papqaaqbqrbbrcrsccsdstddtetueeufuvffvgvwggwhwxhhxixyiiyjyzjjzkz{kk{l{|ll|m|}mm}n}~nn~o~oo`p`pqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~pp                                !!!"""###$$$%%%&&&'''((()))***+++,,,---...///  0!01!!1"12""2#23##3$34$$4%45%%5&56&&6'67''7(78((8)89))9*9:**:+:;++;,;<,,<-<=--=.=>..>/>?//? ?0 0@1@A11A2AB22B3BC33C4CD44D5DE55E6EF66F7FG77G8GH88H9HI99I:IJ::J;JK;;K<KL<<L=LM==M>MN>>N?NO??O0O@0@PAPQAAQBQRBBRCRSCCSDSTDDTETUEEUFUVFFVGVWGGWHWXHHXIXYIIYJYZJJZKZ[KK[L[\LL\M\]MM]N]^NN^O^_OO_@_P@P`Q`aQQaRabRRbSbcSScTcdTTdUdeUUeVefVVfWfgWWgXghXXhYhiYYiZijZZj[jk[[k\kl\\l]lm]]m^mn^^n_no__oPo`P`papqaaqbqrbbrcrsccsdstddtetueeufuvffvgvwggwhwxhhxixyiiyjyzjjzkz{kk{l{|ll|m|}mm}n}~nn~o~oo`p`pqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~pp           8{EE%D7[              !""###$$$%%%&&&'''((()))***+++,,,---...///00 01 1!12!"3#34##4$45$$5%56%%6&67&&7'78''8(89((9)9:)):*:;**;+;<++<,<=,,=-=>-->.>?..?/?@//@0@A00A1AB11B2BC23D4DE44E5EF55F6FG66G7GH77H8HI88I9IJ99J:JK::K;KL;;L<LM<<M=MN==N>NO>>O?OP??P@PQ@@QAQRAARBRSBBSCSTCDUEUVEEVFVWFFWGWXGGXHXYHHYIYZIIZJZ[JJ[K[\KK\L\]LL]M]^MM^N^_NN_O_`OO`P`aPPaQabQQbRbcRRcScdSSdTdeTUfVfgVVgWghWWhXhiXXiYijYYjZjkZZk[kl[[l\lm\\m]mn]]n^no^^o_op__p`pq``qaqraarbrsbbscstcctdtuddueuvefwgwxggxhxyhhyiyziizjz{jj{k{|kk|l|}ll}m}~mm~n~nnooopppqqqrrrssstttuuuvvwxxxyyyzzz{{{|||}}}~~~                               !!"""###$$$%%%&&&'''((()))***+++,,,---...///00 01 !2"23""3#34##4$45$$5%56%%6&67&&7'78''8(89((9)9:)):*:;**;+;<++<,<=,,=-=>-->.>?..?/?@//@0@A00A1AB12C3CD33D4DE44E5EF55F6FG66G7GH77H8HI88I9IJ99J:JK::K;KL;;L<LM<<M=MN==N>NO>>O?OP??P@PQ@@QAQRAARBRSBCTDTUDDUEUVEEVFVWFFWGWXGGXHXYHHYIYZIIZJZ[JJ[K[\KK\L\]LL]M]^MM^N^_NN_O_`OO`P`aPPaQabQQbRbcRRcScdSTeUefUUfVfgVVgWghWWhXhiXXiYijYYjZjkZZk[kl[[l\lm\\m]mn]]n^no^^o_op__p`pq``qaqraarbrsbbscstcctdtudevfvwffwgwxggxhxyhhyiyziizjz{jj{k{|kk|l|}ll}m}~mm~n~nnooopppqqqrrrssstttuuvwwwxxxyyyzzz{{{|||}}}~~~                                !!!"""###$$$%%%&&&'''((()))***+++,,,---...///0y'HNLjUb)R  !!!!!!""""""######$$$$$$%%%%%%&&&&&&''''''(((((())))))******++++++,,,,,,------......//////000000111111222222333333444444555555666666777777888888999999::::::;;;;;;<<<<<<======>>>>>>??????@@@@@@AAAAAABBBBBBCCCCCCDDDDDDEEEEEEFFFFFFGGGGGGHHHHHHIIIIIIJJJJJJKKKKKKLLLLLLMMMMMMNNNNNNOOOOOOPPPPPPQQQQQQRRRRRRSSSSSSTTTTTTUUUUUUVVVVVVWWWWWWXXXXXXYYYYYYZZZZZZ[[[[[[\\\\\\]]]]]]^^^^^^______``````aaaaaabbbbbbccccccddddddeeeeeeffffffgggggghhhhhhiiiiiijjjjjjkkkkkkllllllmmmmmmnnnnnnooooooppppppqqqqqqrrrrrrssssssttttttuuuuuuvvvvvvwwwwwwxxxxxxyyyyyyzzzzzz{{{{{{||||||}}}}}}~~~~~~                                    !!!!!!""""""######$$$$$$%%%%%%&&&&&&''''''(((((())))))******++++++,,,,,,------......//////000000111111222222333333444444555555666666777777888888999999::::::;;;;;;<<<<<<======>>>>>>??????@@@@@@AAAAAABBBBBBCCCCCCDDDDDDEEEEEEFFFFFFGGGGGGHHHHHHIIIIIIJJJJJJKKKKKKLLLLLLMMMMMMNNNNNNOOOOOOPPPPPPQQQQQQRRRRRRSSSSSSTTTTTTUUUUUUVVVVVVWWWWWWXXXXXXYYYYYYZZZZZZ[[[[[[\\\\\\]]]]]]^^^^^^______``````aaaaaabbbbbbccccccddddddeeeeeeffffffgggggghhhhhhiiiiiijjjjjjkkkkkkllllllmmmmmmnnnnnnooooooppppppqqqqqqrrrrrrssssssttttttuuuuuuvvvvvvwwwwwwxxxxxxyyyyyyzzzzzz{{{{{{||||||}}}}}}~~~~~~89Ig"1=>@>>>>>?? ?0?@?P?`?p??====>=@>=>=>=>=>=?=?= ?=0?=@?=P?=`?=p?=?====>=@>=>=>=>=>=?=?= ?=0?=@?=P?=`?=p?=?====>=@>=>=>=>=>=?=?= ?=0?=@?=P?=`?=p?=?>>=>>>@>>>>>>>>>>?>?> ?>0?>@?>P?>`?>p?>? > >= >> >@> >> >> >> >> >? >? > ? >0? >@? >P? >`? >p? >?@>@>=@>>@>@>@>>@>>@>>@>>@>?@>?@> ?@>0?@>@?@>P?@>`?@>p?@>?`>`>=`>>`>@>`>>`>>`>>`>>`>?`>?`> ?`>0?`>@?`>P?`>`?`>p?`>?>>=>>>@>>>>>>>>>>?>?> ?>0?>@?>P?>`?>p?>?>>=>>>@>>>>>>>>>>?>?> ?>0?>@?>P?>`?>p?>?>>=>>>@>>>>>>>>>>?>?> ?>0?>@?>P?>`?>p?>?>>=>>>@>>>>>>>>>>?>?> ?>0?>@?>P?>`?>p?>?>>=>>>@>>>>>>>>>>?>?> ?>0?>@?>P?>`?>p?>?>>=>>>@>>>>>>>>>>?>?> ?>0?>@?>P?>`?>p?>?>>=>>>@>>>>>>>>>>?>?> ?>0?>@?>P?>`?>p?>?>>=>>>@>>>>>>>>>>?>?> ?>0?>@?>P?>`?>p?>???=?>?@>?>?>?>?>????? ??0??@??P??`??p?????=?>?@>?>?>?>?>????? ??0??@??P??`??p?????=?>?@>?>?>?>?>????? ??0??@??P??`??p?????=?>?@>?>?>?>?>????? ??0??@??P??`??p??? ? ?= ?> ?@> ?> ?> ?> ?> ?? ?? ? ? ?0? ?@? ?P? ?`? ?p? ??(?(?=(?>(?@>(?>(?>(?>(?>(??(??(? ?(?0?(?@?(?P?(?`?(?p?(??0?0?=0?>0?@>0?>0?>0?>0?>0??0??0? ?0?0?0?@?0?P?0?`?0?p?0??8?8?=8?>8?@>8?>8?>8?>8?>8??8??8? ?8?0?8?@?8?P?8?`?8?p?8??@?@?=@?>@?@>@?>@?>@?>@?>@??@??@? ?@?0?@?@?@?P?@?`?@?p?@??H?H?=H?>H?@>H?>H?>H?>H?>H??H??H? ?H?0?H?@?H?P?H?`?H?p?H??P?P?=P?>P?@>P?>P?>P?>P?>P??P??P? ?P?0?P?@?P?P?P?`?P?p?P??X?X?=X?>X?@>X?>X?>X?>X?>X??X??X? ?X?0?X?@?X?P?X?`?X?p?X??`?`?=`?>`?@>`?>`?>`?>`?>`??`??`? ?`?0?`?@?`?P?`?`?`?p?`??h?h?=h?>h?@>h?>h?>h?>h?>h??h??h? ?h?0?h?@?h?P?h?`?h?p?h??p?p?=p?>p?@>p?>p?>p?>p?>p??p??p? ?p?0?p?@?p?P?p?`?p?p?p??x?x?=x?>x?@>x?>x?>x?>x?>x??x??x? ?x?0?x?@?x?P?x?`?x?p?x????=?>?@>?>?>?>?>????? ??0??@??P??`??p???ZpߘHXOXG`{?{X_ɉT?^%T(h ?yĽF>yĽF^%T(h {W_ɉTZG`{vG>`<{j?_=ՉT^%T?'=i y?=Fy?=F>^%T?'=i ?j?_=։T?tG>`<{?J@ i{?[%ʉT?NK߅wb ?BPpˑF>BPpˑFOK߅wa ]%ʉTJ@ i{@>2 i={J?%>׉TGK?߅w>l @Pp?ˑ>F@Pp?ˑ>F>FK?w>l ?I?%>׉T?@>/ i={?1{8{?ΉT?Vfy]쾯FV8={>>ȉTQp dy]?>Fdy]?>F>Qo ?>>ljT?1>8={?%{?Dܾ͉T?$0<o ?B2PF>B3PF$0<n BܾΉT%{ %>ߥ={N>>ˉT$?<<?U B?-P?/FB?/P?$F>$?<<?U ?R>>ljT?%>ߥ={?%{?DܾΉT?1<$m ?3PB{F>4PBzF0<$m @ܾΉT%{ۥ= %>{>W>ƉT9<?$?Z .P?B?F/P?B?*F>9<?$?Z ?>T>ƉT?ޥ= %>{?z81{?ωT?FȾVfy]FFȾV{>>ȉT>>Rcy]?F>dy]?F>?>S>ɉT?8=1>{? iK@{?%\ʉT?wPK` ?ˑ@PpF>ˑBPpF߅wNKb %[ʉT iK@{/ i=@>{%>J?؉Tޅw>DK?n ˑ>@Pp?Fˑ>@Pp?F>߅w>FK?m ?%>K?։T?0 i=@>{?`WG{?Z_|ʉT?(^%Th ?ĽyF>ĽyF(]%Th Z_|ʉT`WG{`{ _=j?։T'=^%T?i =y?F=y?F>'=^%T?i ? _=j?։T?`{?`=yF(=^%Th W_={ɉT`{ _k?։T'^%T?i Ľy?FĽy?F>'^%T?i ?_j?։T?`tG>{? i=J@{?%>[ʉT?߅w>NKb ?ˑ>@PpF>ˑ>APpF߅w>OKa %>]ʉT i=J@{2 i@>{%J?։TޅwFK?j ˑ@Pp?Fˑ@Pp?F>wFK?l ?%I?׉T?1 i@>{?y8=1{?>ΉT?F>Vdy]F>>fy]FF>VωTx8=1{81>{>ȉT>ȾQ>ȾQʉT?81>{?=%{?>BܾΉT?2<?$m ?3P?BF>3P?BF0<?$n >BܾΉT=%{ߥ %>{V>ƉT:<$?Y .PB?#F/PB?F>:<$?Z ?V>ƉT?ߥ %>{?%>{?D>ΉT?$?1<m ?B?4PF>B?4PzF$?0<m @>ΉT%>{ %ޥ={Tܾ>ƉT$9<?Z B.P?FB/P?*F>$9<?Z ?Tܾ>ƉT? %ޥ={?1>z8{?>ωT?Vfy]?쾶FVЉT1>{8{18={>ȉTR<>>o cy]>Fdy]>F>R<=>n ?>ɉT?18={?K@> i{?\?%ʉT?NK?ޅw_ ?BPp?ˑF>BPp?ˑFNK?߅wb [?%ʉTK@> i{@. i={I%>։TDKޅw>n @Ppˑ>F@Ppˑ>F>FK߅w>m ?K%>։T?@0 i={?WG>`{?|?Z_ʉT?^%T?(h ?y?ĽF>y?ĽF]%T?(h |?Z_ʉTWG>`{tG`<{j _=։T^%T'=i y=Fy=F>^%T'=i ?j _=։T?vG`<{?XG>`<{?{?X_=ɉT?^%T?(=h ?y?=F>y?=F^%T?(=h {?W_=ɉTZG>`<{vG`{j_ՉT^%T'i yĽFyĽF>^%T'i ?j_։T?tG`{?J@> i={?[?%>ʉT?NK?߅w>b ?BPp?ˑ>F>BPp?ˑ>FOK?߅w>a ]?%>ʉTJ@> i={@2 i{J%׉TGK߅wl @PpˑF@PpˑF>FKwl ?I%׉T?@/ i{?1>{8={?>>ΉT?Vh ?fy]?>F>fy]?>FVg >>ωT1>x8={18{ȉTQQ={?B>>ΉT?$?2<?m ?B?3P?F>B?3P?F$?0<?n B>>ΉT%>={ %ߥ{VܾƉT$:<Y B.P#FB/PF>$:<Z ?VܾƉT? %ߥ{?=%>{?>D>ΉT?1<?$?m ?4P?B?F>4P?B?zF0<?$?m >@>ΉT=%>{ޥ %{TܾƉT9<$Z .PBF/PB*F>9<$Z ?TܾƉT?ޥ %{?z8=1>{?>>ωT?F>Vfy]?F>>fy]?FF>V>ЉT{8=1>{81{ȉT>ȾR=ȾR{?%>\?ʉT?ޅw>NK?_ ?ˑ>BPp?F>ˑ>BPp?F߅w>NK?b %>[?ʉT i=K@>{. i@{%I։TޅwDKn ˑ@PpFˑ@PpF>߅wFKm ?%K։T?0 i@{?`{?Z_=|?ʉT?(=^%T?h ?=y?F>=y?F(=]%T?h Z_=|?ʉT`{`tG{ _j։T'^%Ti ĽyFĽyF>'^%Ti ? _j։T?`vG{?`XG>{?X_{?ɉT?(^%T?h ?Ľy?F>Ľy?F(^%T?h W_{?ɉT`ZG>{`'=^%Ti ?_=j։T?`{?%[?ʉT?߅wNK?b ?ˑBPp?F>ˑBPp?F߅wOK?a %]?ʉT iJ@>{2 i=@{%>J׉T߅w>GKl ˑ>@PpFˑ>@PpF>w>FKl ?%>I׉T?/ i=@{?{81>{?>ΉT?FȾVfy]?FFȾVωTx81>{8=1{>ȉT?>Q

dy]F>dy]F>?>QljT?8=1{?%>{?B>ΉT?2<$?m ?3PB?F>3PB?F0<$?n B>ΉT%>{ߥ= %{>VܾƉT:<?$Y .P?B#F/P?BF>:<?$Z ?>VܾƉT?ߥ= %{?%={?Dܾ>ΉT?$1<?m ?B4P?F>B4P?zF$0<?m @ܾ>ΉT%={ %>ޥ{T>ƉT$?9<Z B?.PFB?/P*F>$?9<Z ?T>ƉT? %>ޥ{?1z8={?>ωT?Vg ?fy]>F>fy]>FVh >ЉT1{8={1>8{>ȉTRȾo cy]?Fdy]?F>RɉT?1>8{?K@ i={?\%>ʉT?NKޅw>_ ?BPpˑ>F>BPpˑ>FNK߅w>b [%>ʉTK@ i={@>. i{I?%։TDK?ޅwn @Pp?ˑF@Pp?ˑF>FK?߅wm ?K?%։T?@>0 i{?WG`<{?|Z_=ʉT?^%T(=h ?y=F>y=F]%T(=h |Z_=ʉTWG`<{tG>`{j? _։T^%T?'i y?ĽFy?ĽF>^%T?'i ?j? _։T?vG>`{?׊;Jf|ڢWAG~ÁM{ 9_[`^02eE{|@B????<ĠF姁J]tveDCE`"IWJ& mG[ `^02eE{|@BN dlW?dlWN ?@Ҋ>?HFh-F׵Ԃ(d Joint%x".;]kI 忞@"4W}@O{$ݫK^BUݫK^BU Joint"Joint parameters jh/L/VV`rcAۏOrcAۏOTag(Joint semantics tag8uֱMQ uֱMQ Symmetry2Joint semantics symmetry O ,LJO ,LJ Bone4Parent bone for the joint DZ5 O*\t-1OSM n"-5bACuۚ-5bACuۚ Size$Joint size factorWAG$=Y `CG%S;>Y `CG%S;>AngSprZ*Z angle limit spread7.*ÿ@;f.*ÿ@;fAngCntX*X angle limit center׾JBoͰw׾JBoͰwAngCntY*Y angle limit center 6gIR"q3gIR"q3AngCntZ*Z angle limit center<xf?Iq -xf?Iq -AngSprX*X angle limit spread@:WvZD,@:WvZD,AngSprY*Y angle limit spreadx}ITBK}ITBKAngStiX$X angle stiffnessyr<|ݔK .ǻKr<|ݔK .ǻKAngStiY$Y angle stiffness0te6N'te6N'AngStiZ$Z angle stiffnessUBI zzBI zzAngDamX X angle damping0Y'7=B;;'7=B;;AngDamY Y angle dampingX /6zsMf6 /6zsMf6 AngDamZ Z angle dampingT6[v!D6[v!DMovMinX2X movement limit minimumS @N1vx @N1vxMovMinY2Y movement limit minimumRﶌWMS'ﶌWMS'MovMinZ2Z movement limit minimum avE/b+ avE/b+ MovMaxX2X movement limit maximumȯu'eDguu'eDguMovMaxY2Y movement limit maximum R<&d@ d|R<&d@ d|MovMaxZ2Z movement limit maximumO!lMp[msd!lMp[msdMovStiX*X movement stiffnessM~Nc>I=ܯ~Nc>I=ܯMovStiY*Y movement stiffnessXгh@jгh@jMovStiZ*Z movement stiffnessbb Bu4Ǫ/bb Bu4Ǫ/MovDamX&X movement dampingH g^0A p Yg^0A p YMovDamY&Y movement damping y(roACp"G,1(roACp"G,1MovDamZ&Z movement damping<0_BEP1@0_BEP1@"SklMatrix@Skeleton space transform matrix `^02eE{|@"<ĠF姁J]D=׊;Jf|ڢB`(XFҦV"#bb Bu4Ǫ/? @N1vxg^0A p Y?6[v!DrcAۏO'7=B;;?gIR"q3.*ÿ@;fO ,LJ(XFҦV>g'JNjn*pFD(k@ j@?avE/b+ @:WvZD,4C׾JBoͰw׊;Jf|ڢ(roACp"G,1?BI zz?Y `CG%S;>4C0_BEP1@`^02eE{|@Bx99]"'?@*RQ??@>')x%@i@>?xf?Iq -4CWAG`^02eE{|@B????-5bACuۚ>te6N'?}ITBK?<ĠF姁J]`^02eE{|@B????~Nc>I=ܯ?uֱMQ !lMp[msd?-1OSM n 럆L<_ї</ GFʠN=00@G$}}MinZ`Ez]UO GFʠN=@0PG$}}MaxZ`Ez]UO GFʠN=`0pG*}} StiffnessZ`Ez]UO GFʠN= 00G)}}PositionZ`Ez]UO GFʠN=P0`G(}}DampingZ`Ez]UO GFʠN=PG1 }}rcAۏOZ`Ez]UO1釥GP>aPG,PZ`Ez]UO GFʠN=@ G1 }}uֱMQ Z`Ez]UOͽ>fdN*5Ւh@P G(Z`Ez]UO GFʠN=Ph G1 }}-5bACuۚZ`Ez]UO1釥GP>ah G<8-5bACuۚZ`Ez]UO GFʠN= G!}}Z`Ez]UO GFʠN=p0G)}}RotationZ`Ez]UO GFʠN=0 h0G"}}XZ`Ez]UO GFʠN=h 0G"}}YZ`Ez]UO GFʠN= 0G"}}ZZ`Ez]UO GFʠN=0phG"}}XZ`Ez]UO GFʠN=hpG"}}YZ`Ez]UO GFʠN=pG"}}ZZ`Ez]UO GFʠN=0G'}}CenterZ`Ez]UO GFʠN=0G'}}SpreadZ`Ez]UO GFʠN=0G(}}DampingZ`Ez]UO GFʠN=0G*}} StiffnessZ`Ez]UO1釥GP>a00h@G<86[v!DZ`Ez]UO1釥GP>ah0@G<8 @N1vxZ`Ez]UO1釥GP>a0@G<8ﶌWMS'Z`Ez]UO1釥GP>a0@hPG<8avE/b+ Z`Ez]UO1釥GP>ah@PG<8u'eDguZ`Ez]UO1釥GP>a@PG<8R<&d@ d|Z`Ez]UO1釥GP>a0Ph`G<8bb Bu4Ǫ/Z`Ez]UO1釥GP>ahP`G<8g^0A p YZ`Ez]UO1釥GP>aP`G<8(roACp"G,1Z`Ez]UO1釥GP>a0`hpG<8!lMp[msdZ`Ez]UO1釥GP>ah`pG<8~Nc>I=ܯZ`Ez]UO1釥GP>a`pG<8гh@jZ`Ez]UO1釥GP>a0hG<8.*ÿ@;fZ`Ez]UO1釥GP>ahG<8׾JBoͰwZ`Ez]UO1釥GP>aG<8gIR"q3Z`Ez]UO1釥GP>a0hG<8xf?Iq -Z`Ez]UO1釥GP>ahG<8@:WvZD,Z`Ez]UO1釥GP>aG<8Y `CG%S;>Z`Ez]UO1釥GP>a0hG<8BI zzZ`Ez]UO1釥GP>ahG<8'7=B;;Z`Ez]UO1釥GP>aG<8/6zsMf6 Z`Ez]UO1釥GP>a0hG<8}ITBKZ`Ez]UO1釥GP>ahG<8r<|ݔK .ǻKZ`Ez]UO1釥GP>aG<8te6N'Z`Ez]UOR<&d@ d|^@ﶌWMS'^@/6zsMf6 ?ݫK^BUгh@j?u'eDgur<|ݔK .ǻK?oQbKl&.ʹ܂dKu=Skeleton.;]kI 忞@"$@474W}@O{$@9(XFҦV"h-1OSM n"׊;Jf|ڢZtH7偢jD%~`8Z(H8<ĠF姁J]\ؔWAG G?ŋptveDCE`"IWJZ0r0S $hKnPSVmS $hKnPSVm"RenderAttributes"RenderAttributes HEoq5vg(pd_@ cB8Ed_@ cB8ESkeleton*Skeleton data object [}Nj2`# 2"IM6 Ex>"IM6 ExRot color(Rotation lock color -n,Njlpg ЮƒsF2ƒsF2Dynamic LocksLSet of active locks for dynamic tools u|H '$P(IДl/(IДl/Show locksShow IK locks 'a#G @=^V("'a#G @=^V("Show handlesShow handles xw`ZL. 5w`ZL. 5Show structure>Show skeleton joints and bones h>"IM6 Ex-n,Njlpg%?>h>? 6Jѳ( S $hKnPSVmw`ZL. 5 'a#G @=^V(" 偢jD%~`8m6EfH-n,Njlpg???~?JmCb4IP}K^:KrbSxSolid defaultSolid diamondWire diamondWire thinSolid diamondd_@ cB8E(XFҦV>g'JNjn*pF@aDICk@ a@5CC?n1LH_r-n,Njlpg!? ?>~? 2>'??WAG`^02eE{|@B????(IДl/  G?ŋfdN*5Ւh GF8 v[IL'KIZ`Ez]UOͽ>fdN*5Ւh 0GF8 (IДl/Z`Ez]UO GFʠN= p0GF1 }}(IДl/Z`Ez]UOͽ>fdN*5Ւhp 0GF8 'a#G @=^V("Z`Ez]UO GFʠN= 0GF1 }}'a#G @=^V("Z`Ez]UO GFʠN= GF.}} Show SkeletonZ`Ez]UOͽ>fdN*5Ւhp GF8 w`ZL. 5Z`Ez]UOͽ>fdN*5Ւh8HGF8  6Jѳ(Z`Ez]UO GFʠN=8HGFT }}#Use Character Editor color settings 6Jѳ(Z`Ez]UO B>IHHpXGF5(\VVn1LH_rZ`Ez]UO GFʠN=HHXGF1 }}n1LH_rZ`Ez]UO B>IHXGF5(\VVm6EfHZ`Ez]UO GFʠN=pHXGF1 }}m6EfHZ`Ez]UO B>IHXphGF5(\VVq\7LO#Z`Ez]UO GFʠN=XHhGF> }} Position lockq\7LO#Z`Ez]UO GFʠN=hHxGF> }} Rotation lock>"IM6 ExZ`Ez]UO B>IHhpxGF5(\VV>"IM6 ExZ`Ez]UO GFʠN=pXhGF: }} Full lock졉E/~ݾZ`Ez]UO B>IXhGF5(\VV졉E/~ݾñZ`Ez]UO GFʠN=phxGF!}}Z`Ez]UO GFʠN=08GF!}}Z`Ez]UOv[IL'KI q\7LO#-n,Njlpg>"?I??dk47m2O d[Transformؔ<ĠF姁J]DH8(WAG(偢jD%~`8B7׊;Jf|ڢBP!4W}@O{$(XFҦV"-1OSM n"偢jD%~`8(XFҦV>g'JNjn*pFX@1@?׊;Jf|ڢWAG<ĠF姁J]-1OSM n 럆L<_ї(qU F3fl2Object Render Attributes(S $hKnPSVm88Ns2]8Ns2] Surface Opacity Surface Opacity(^mګA~Ksi[^mګA~Ksi[Points opacityPoints opacity(h(lrsGr(lrsGrPoints Size>Point Size in Point rendering.(0\Eh{5\Eh{5Points ColorLColor of points during the rendering. -n,Njlpg("PbEGDߗr"PbEGDߗr0Ignore mesh point color0Ignore mesh point color (F?N dF?N d.Ignore mesh point size.Ignore mesh point size (]*qBCx]*qBCxEdges opacityEdges opacity(H\J:I%7u\J:I%7uEdges ColorEdges Color -n,Njlpg(iA޲1rIK>XiA޲1rIK>X0Ignore mesh edges color0Ignore mesh edges color (؄,ot"AaY,ot"AaY$Show hidden lines`Do not use ZBuffer in point and wireframe modes (^RI8ÿR^RI8ÿRShow backfaceslEnable two-sided rendering when Color mode is enabled (çwH5#VçwH5#V0Ignore layer attributesvDo not combine render attributes with layer defined values (4W}@O{%`J@#QL(-1OSM n#(XFҦV"pW0@zdW0@zd%VersionVersion%8ȅ8vDCxZȅ8vDCxZInvisibleInvisible flag (,F+2MGF+2MGCast shadows$Cast shadows flag (-I2GWM:).$I2GWM:).$ Receive shadows Receive shadows (.mBޖw pmBޖw pLayer index(Modeler layer index(H/o[nfFo[nfF Overlay opacity Overlay opacity(0zgGFohN)zgGFohN)Overlay ColorOverlay Color. -n,Njlpg(0vhD zʔvhD zʔ4Ignore mesh overlay color6Ignore mesh overlay color. (1fB #^fB #^$Transparency Mode@Quality of transparency solving :KrbSx(h2|$}mK;)|$}mK;) OverlayEnable*Enable color overlay  (rg@*oHrg@*oH OverlayColor*Color of the overlay -n,Njlpg (x!eLZE^N!eLZE^N OverlayStrengthJStrength (visibility) of the overlay (zgGFohN)I2GWM:).$ vhD zʔ]*qBCx?S $hKnPSVmrg@*oHçwH5#V 4W}@O{fB #^:KrbSxv No Hidden FacesNo SortTriangle SortNo Sort\J:I%7u-n,Njlpg?\Eh{5-n,Njlpg?(XFҦV>g'JNjn*pF X@>@?F?N d ȅ8vDCxZ 8Ns2]?F+2MG "PbEGDߗr J@#QL>g'JNjn*pFCBb@ h@?(lrsGr?^mګA~Ksi[o[nfFW0@zdmBޖw p-1OSM n 럆L<_ї+ DefaultAdvanced GFʠN=0(@6 }}Color\J:I%7uZ`Ez]UO B>I(0h@5@\VV\J:I%7uZ`Ez]UO GFʠN=@(P8 }}Opacity]*qBCxZ`Ez]UON\q+nN-K^(@hPH?}}?]*qBCxZ`Ez]UO GFʠN=h@P@ }}Enable Obj ModeçwH5#VZ`Ez]UOͽ>fdN*5Ւh@P8 çwH5#VZ`Ez]UO GFʠN=h 6 }}Color\Eh{5Z`Ez]UO B>I 5H\VV\Eh{5Z`Ez]UO GFʠN=h 08 }}Opacity^mګA~Ksi[Z`Ez]UON\q+nN-K^ 0HG}}?^mګA~Ksi[Z`Ez]UO GFʠN=h0@5 }}Size(lrsGrZ`Ez]UON\q+nN-K^0@HG}}?$@(lrsGrZ`Ez]UO GFʠN=( 8 }}Opacity8Ns2]Z`Ez]UON\q+nN-K^(h H?}}?8Ns2]Z`Ez]UO GFʠN=h(}}SurfaceZ`Ez]UO GFʠN= h0&}}EdgesZ`Ez]UO GFʠN=h'}}PointsZ`Ez]UO GFʠN=Ph`1 }}fB #^Z`Ez]UOnevG4'hP`̖pfB #^VNo hidden faces No solving Triangle sortZ`Ez]UO GFʠN=1 }}^RI8ÿRZ`Ez]UOͽ>fdN*5Ւh8 ^RI8ÿRϱZ`Ez]UO GFʠN= 1 }},ot"AaYZ`Ez]UOͽ>fdN*5Ւh 8 ,ot"AaYZ`Ez]UO GFʠN= 01 }}ȅ8vDCxZZ`Ez]UOͽ>fdN*5Ւh 08 ȅ8vDCxZZ`Ez]UO GFʠN=0@1 }}F+2MGZ`Ez]UOͽ>fdN*5Ւh0@8 F+2MGZ`Ez]UO GFʠN=@P1 }}I2GWM:).$Z`Ez]UOͽ>fdN*5Ւh@P8 I2GWM:).$Z`Ez]UO GFʠN=P`1 }}mBޖw pZ`Ez]UO1釥GP>aP`<mBޖw pZ`Ez]UO,ot"AaY !eLZE^N|$}mK;)^RI8ÿR iA޲1rIK>X qNoJi:dkSkeleton root `BL=ew!4BL=ew!4TagSkeleton tag"`# .0F $1LӤ.0F $1LӤSymmetry$Skeleton symmetry "`# 0_BEP1@"P!WAG"׊;Jf|ڢB"ݫK^BU`#d_@ cB8Ep($<ĠF姁J]D$4W}@O{$p%(XFҦV"`,-1OSM n" d_@ cB8E(XFҦV>g'JNjn*pFX@1@?BL=ew!4׊;Jf|ڢ`^02eE{|@Bx69]'?>*PQ??>>%)x.8D$o;?0_BEP1@`^02eE{|@Bx99]"'?@*RQ??@>')x%@i@>?WAG.0F $1LӤ <ĠF姁J]`^02eE{|@Bx99]"'?@*RQ??@>')x%@i@>?-1OSM n 럆L<_ї  GFʠN=? }}Root transform<ĠF姁J]Z`Ez]UO GFʠN= C }}Skeleton transformWAGZ`Ez]UO GFʠN= 01 }}.0F $1LӤZ`Ez]UOͽ>fdN*5Ւh 08 .0F $1LӤZ`Ez]UO GFʠN=0F@1 }}BL=ew!4Z`Ez]UO1釥GP>aF0@<PBL=ew!4Z`Ez]UO GFʠN=@P: }} Root boneݫK^BUZ`Ez]UO GFʠN=P`1 }}d_@ cB8EZ`Ez]UO GFʠN=`p1 }}׊;Jf|ڢZ`Ez]UOݫK^BU܂dKu=$Skeleton material3.;]kI 忞@"зxavX@44W}@O{$4.F_P#.F_P#Material Output material __W8E#(8h6U@Ra.U@Ra.LE2Data$LE2 Data for node >g'JNjn*p6՞'fA5-_h7-1OSM n"7(XFҦVLE2Data, 1"h8J@#QLLE2Data, 24W}@O{(XFҦV>g'JNjn*pF@X@>@BA?՞'fA5-_.F_P#J@#QL>g'JNjn*pF4CtCd@@@?.;]kI 忞@-1OSM n 럆L<_ї(U@Ra.>g'JNjn*pFjCCd@T@?Pc|B;]2ĻMaterial8.F_P#.F_P#Material Output material __W8E#(40S^M~b P85OD.GWf58qΤIGGI8,S@vTV8зVJil8з4W}@O{$3PU@Ra.-1OSM n"(XFҦVLE2Data, 1"pkF_VertexShader88t@*Nt@*N Constant_shader Constant shader QVO Pk@8(<;vHw88 0S̤@+R8,S@vTV 0S̤@+R #<5OD.GWf54W}@O{зVJil(XFҦV>g'JNjn*pFDCX@@@?<;vHw:KrbSxdDisabledEnabledAs OpaqueAs OpaqueS^M~b .F_P#t@*NkF_-1OSM n 럆L<_ї(U@Ra.>g'JNjn*pFDnC`@\@?qΤIGGI/|V FK|ShaderInput S?ڵfA'7(`U%dLrQn0(VpiDM7V^@A툷Wp1M@o=8X}E[2CV) Y`MOWIB"ѥxYHtO{/(Z qQ@RjX[ҥY@e& \B_;OKFJ*r^HRSEpFC^~__um1CR¬5_ٻzEuS`SaI7֏bxa4W}@O{$3a%%u5E bxb-1OSM n"@c(XFҦVLE2Data, 1"dy"WMB]d)5FYPex*yIg#h"mO('B_;OKFJ*rڳVܯ]FՃ尲+%tsxi_GetInputLightDistRtFloat qQ@RjڳVܯ]FՃ尲'!tsxi_GetInputAlphaRtFloatp1M@o=ڳVܯ]FՃ尲,&tsxi_GetInputTexCoordsRtFloat3^@A툷ڳVܯ]FՃ尲+%tsxi_GetInputPositionRtFloat4)5FYPڳVܯ]FՃ尲1+tsxi_GetInputObjectToClip RtFloat4x4%%u5E b>g'JNjn*pFC`@0@?HRSEpFCڳVܯ]FՃ尲-'tsxi_GetInputLightColorRtFloat4ٻzEuSڳVܯ]FՃ尲2,tsxi_GetInputWorldToObject RtFloat4x44W}@O{SaI7֏bڳVܯ]FՃ尲2,tsxi_GetInputObjectToWorld RtFloat4x4~__um1CR¬5ڳVܯ]FՃ尲3-tsxi_GetInputTangentToWorld RtFloat3x3x*yIڳVܯ]FՃ尲0*tsxi_GetInputWorldToClip RtFloat4x4(XFҦV>g'JNjn*pFCAX@1@?#h"mO('ڳVܯ]FՃ尲-'tsxi_GetInputTexCoords2RtFloat3ҥY@e&ڳVܯ]FՃ尲+%tsxi_GetInputLightDirRtFloat3`MOWIB"ѥڳVܯ]FՃ尲)#tsxi_GetInputNormalRtFloat3?ڵfA'7(ڳVܯ]FՃ尲)#tsxi_GetInputEyePosRtFloat4%dLrQn0ڳVܯ]FՃ尲)#tsxi_GetInputEyeDirRtFloat3y"WMB]ڳVܯ]FՃ尲93!tsxi_GetInputObjectToWorld_Normal RtFloat3x3}E[2CV)ڳVܯ]FՃ尲("tsxi_GetInputColorRtFloat4-1OSM n 럆L<_ї(HtO{/(ڳVܯ]FՃ尲*$tsxi_GetInputTangentRtFloat3piDM7ڳVܯ]FՃ尲)#tsxi_GetInputEyeDistRtFloatz€ L& InputFloatq+kCY5]BtOt(t(tuM@n;LAt\/3Kf͈,uGqiFE0IN (tv4W}@O{$3w%%u5E bw-1OSM n"Hx(XFҦVLE2Data, 1"GqiFE0IN SHININESS%%u5E b>g'JNjn*pFPb@X@?4W}@O{+kCY5]BtOA(XFҦV>g'JNjn*pFCCX@1@?uM@n;LA\/3Kf͈,?-1OSM n 럆L<_ї(]IDjdc4InputColor}"uI̎4)]X\PtIL;I1Xq\W D ɭ GqiFE0IN 4W}@O{$3h%%u5E b-1OSM n"(XFҦVLE2Data, 1"GqiFE0IN SPECULARCOLOR\PtIL;I1"uI̎4)]-n,Njlpg>>>?%%u5E b>g'JNjn*pFX@@b@X@?4W}@O{(XFҦV>g'JNjn*pFCCX@1@?q\W D ɭ-1OSM n 럆L<_ї(L{0nBg)`! \^Phong Lighting (P)\Fvq3 :6~KAM8XPR]JĀ7PvJ ~~(tPx$&*2HӁdńYPZ[G {/,`UP zE%SfX[Pw!XCL^PP B#A)[(d(4W}@O{%3%%u5E b`-1OSM n"P(XFҦVLE2Data, 1" %%u5E b>g'JNjn*pFCLb@d@?4W}@O{(XFҦV>g'JNjn*pFCCX@1@?Z[G {/,:6~KAM B#A)[(dP)\Fvq3wk0.DX?_|X?dK;,w!XCL$&*2HӁdńvJ ~~-1OSM n 럆L<_ї( zE%SfR]JĀ7fC{ouShaderModelqΤIGGI(C/-~CxrEP4W}@O{$3p%%u5E b8-1OSM n"(XFҦVLE2Data, 1"%%u5E b>g'JNjn*pF DA`@P@?4W}@O{(XFҦV>g'JNjn*pFCCX@1@?C/-~CxrE-1OSM n 럆L<_ї(qΤIGGIWG.3;W ShaderAlphaPS^M~b 0;MF~B;MF~B Alpha$Input alpha brick F 1+5?N>/ZPX4W}@O{$3ذ%%u5E b-1OSM n" (XFҦVLE2Data, 1"%%u5E b>g'JNjn*pFLD`B`@P@?4W}@O{(XFҦV>g'JNjn*pFCAX@1@?S^M~b ;MF~B-1OSM n 럆L<_ї(MYMJJ>zV4"Skeleton display:D x&:D x&SkeletonSkeleton [}Nj2`#00v[IL'KIp0 6Jѳ(0@JmCb4IP}K^0@n1LH_rP0@m6EfH0@Xq\7LO#Э0@ >"IM6 ExP0@졉E/~ݾ0@(IДl/P0x'a#G @=^V("0hw`ZL. 500tveDCE`"IWJBp@ 2"IM6 Ex 6Jѳ( w`ZL. 5 'a#G @=^V(" m6EfHJmCb4IP}K^(XFҦV>g'JNjn*pFX@>@? 2g'JNjn*pFB|CX@1@?g!J׊;Jf|ڢ`^02eE{|@Bx69]'?>*PQ??%i~.8D$o;?IbEM K1g?0_BEP1@`^02eE{|@Bx99]"'?@*RQ??@>')x%@i@>?ۻJfHkG/.(ѻD3Ϳ"Ydg'JNjn*pF2DCb@@\@?g!J׊;Jf|ڢ`^02eE{|@B??o:?IbEM K1g?0_BEP1@`^02eE{|@Bx99]"'?@*RQ??@>')x%@i@>?ۻJfHkG/.(ѻD3Ϳ"Yd