$ 8M4w)=Lߴ=80Ġ| =4= =] HgA /235150131/$R$`aqYIObf =%lF0Dr* $ <ʹ  !"#$%&'()*+,\=w 8-./G01tA23456789:;<=>?@ABCDhԳXEFGHIJKLMNO8ӰK:.o89fg;<`ab<Դ,69$W.$W$/k3ҧ46ͧ7U9;$|lqmp@;BUǴ̴ʴӴ´Ldȴִ״@̴EҴFPG܊HkIѴJةKѴL(ʹM0δNxUOʹ@HиxK%Q7DҴdz "PQTRZdz(įįz=\{ z [MEMO 10/3/99 GW????? fns fileed in the TAKEOFF ucmd file 12/4/99 working on SetupButtonHnd and the OK button exit. 12/5/99 TO DO: Print TObjectDOC 12/6/99 Created FONT VISIBLE CHILDREN WHERE 12/8/99 WORKING ON Gfoo 12/9/99 Fix formatingof keywords form matrix to vectors revising GFoo NumButtonHnd GWTake to work with each class frame 12/9/99 Debugging misc. input routine. TO DO; Add dual wall duct 12/11/99 WORKING ON SetupButtonHnd; display matching class box 'duct, air dist,misc, equip' 12/12/99 Woring on re-directing 'DUCT' action from a keyword action to le SetupButtonHnd' Need work!! 12/13/99 Finish check GNewSetup with handle the top setup button when called in SetupbuttonHnd and keyword mouse down clicks 12/15/99 created GEdFocus GNewSetup needs work!! SetupButtonHnd[110] GNewSetup'EQUIP' 12/18/99 working selecting and showing key words TO DO: paint all items with toattrs[1] during initialization. 12/18/99 16:30 MakeKw bbugg. Check tab and enter of char. TAB AND ARROW KEYS BUGGY IF A VALID CHAR IS IN THE EDIT OBJECT. 12/19/99 GWSize and GWData: GChkInput TabHnd 12/21/99 Exit when enter is pressed with a hilited keyword 12/23/99 Working on MoveKw using new wi'params' 12/25/99 Write a stand alone routine for keyword enter key exit. 12/26/99 TO DO: Merge FOOKWENTER and GKeywordMouseHnd 12/27/99 Check possible re-write of Equip items when clicking on the top equipment button the the misc button. Cleanup Switch and have all writing to theh screen don the GWSize'Focus' ShowClass 12/31/99 Add wi'*Show' to distplay frame after it is opened' 12/29/99 AIRDIS MISC AND EQUIP CLASS NAME OVER WRITING IN THE TYOE OF CLASS LABLE. Clue. The display clears up after the second click on the save class button 12/29/99 11:50 CHECKING GEscHnd. it's buggy 12/30/99 16:00 WORKING ON MOVENT FROM SIZE1 TO DATA IN ROUND 12/31/99 12:00 Working on movement out of the DATA edit box 12/31/99 Combine, if possible, SetupButtonHnd, GKeywordMouseHnd, GNewSetup and GKwExit 1/1/2000 DONE: Change how toattrs is intialized 1/3/2000 Reset keyword whern 1st size box is cleared in the NumButtonHnd routine. 1/4/00 New(F) GDefaults 1/5/00 TO DO: 1. Have DUCTSElECT display currect duct setup or display default 2. Make sure that toc is always has the correct value. 1/7/00 WORKING ON PLACEMENT OF SCROLL BAR 1/9/99 3:07 WORKING ON FOOVALUE and SCROLL BAR TO DO: attach paras to ? TO DO: What to do with idparams or params BOTH ARE BLOCKED IN GWData 1/9/00 !!! CHANGE 2 TO 2 IN ALL param reads. 1/10/00 TO DO: Turnoff labels with a blank caption. 1/11/99 Moved GEquipInpHnd for "onKeyUp' crated in GForms to :case 'KeyUp' in GWEqip. Move not tested! ;1/12/4:40 WORKING ON ItemsScrollHnd 1/13/00 WORKING ON GEquipScrollIds[94] 1/21/00 WORKING ON GMarkIes and CAPS 1/22/00 NumButtonHnd: limit needs work if 0 hander should be black 1/23/00 WHEN EDIT BOX IT CU1 123 RTU3 T4 T5 an backspze is entered the wrong ids are hilighted. 1/23/00 Needs work: tab when items are selected. Selecting Keyword 1/24/00 fix ItemsScrollHnd to scroll with lighted items 1/26/00 Do: CU1 then backspace to CU1. The wrong item is hilighted. 2/1/00 Create GTurnOffIds check left arrow ccc and ccc chek right arrow cccc block onKeyUp 0 1 37 warg[2 5 7] 2/4 Fix right move for the end of an invalid text string 2/5/ Working on GCloseMatch Modifing GWMouseDown and MouseFldno to work with objects 2/13/00 Right move bug: RIGHT MOVE AX 123 123 123 RESET CURSOR TO ORGINAL POSITION Done. GMarkIds preceed ID with a space before writing to edit box 2/14/00 Added 0 0dl 1 to GErrorMsg to stop system lockup 2/17/99 FIX: delete of 1s object buggy 2/17/00 This is the last version that has spelling checking in the GEditMode. The desige approch has changed to on limit spell checking when the cursor exits the text string by entering space, right arror or enter. 2/18 FIXTED DELETE A BEGINNING OF TEXT Added space after placing full id into text box 2/21/00 WORKING ON LEFT CURSOR MOVE FOR CU1 2/22/00 working on GMoveUntaggedIdLight 2/22/00 WORKING ON GMoveUntaggedIdLight in EditMode 1. left, right and space. Turnoff FV lignt 2. Tag, up, down, pgup and pgdn O.K. 2/25/00 Install count in GW.... class functions. 2/25/00 GRoom 1 Add check to the space routine 2 On char entry drop last char when a message show. 2/26/98 Copied 3.5 Object functions from Eric's new objects ws 2/29/00 working on GEquipKeyDown end(35) key exit 3/3/00 WHY THE NO ROOM MESSAGE (ONE TIME) IN THE ROUND DATA FIELD WITH ONLY ON ITEM AND A COUNT? 3/3/00 9:14 Believe I fixed it by opening GErrorMsg 3/7/00 Delete references to KeyboadHnd in GSETUP 3/23/00 Changed toindices to a nested array. Each class to may have unique toindices. 3/26/00 Bug when move the cursor to the end of a valid string of text 100 12 L Should not be an error message; The Lx items should be light 4/5/00 Working on GWRenameJob 7/02/01 Revising GWfns, TObject, Common for 3.6 Rel. 2 objects 1. Added GWfns to TObject and Common 2. Removed wherelc and attach properties from GWfns 3. commented wi ':.mEscHide.*onClick' in GWfns use the forms "escape' property 4. will have to adjust/position edit objects in (Done 7/03/01) the top part of the opening GUI 7/03/01 1. Revised GWEdit for 3.6 Rel 2 objects 2. Added Classes to GClasses functions 07/04/01 1. FOO Tabkey handler. must install is new hanler for GSETUP edit/combo objext. 2. Revisions to SetupButtonnHnd V(CA(topFrames)wi'..*children')WI 'class' V(CA(topFrames)wi'..*children')WI '*class' 7/04/01 CAchildren of top frame; Vclass of top objects. BV(/V ss 'GWButton')/CA button objects BV(/V ss 'Button')/CA 7/04/01 button objects 3. added cot and toc to GInfo 5. Install tab_Handler in GSETUP HUCMD']WSLOC 07/04' EdObjects[9] wi':*toc' 0 added 07/04/01 Only duct class, for the pr esent, (toc) has type of class GEquipKeyPress[121] :if 12wi'..*kwparams' 07/04/01 GEquipKeyPress[122] :andif 0wi'.*text' 07/04/01 must be empty GEquipKeyPress[123] GMarkKws'' Turn off key word hilights 07/04/01 GEquipKeyPress[124] :end 07/04/01 GInfo[44] "wi ':*cot'" (wi ':*cot') 07/04/01 GInfo[45] "wi ':*toc='" (wi':*toc') 07/04/01 GKwExit[6] GKwsMouseHnd 07/04/01 GKwExit[9] Commented out the ask before erase routine 07/04/01 GKwsMouseHnd[31] :return Comment added 07/04/01 GWToData[116] Commented out default to '0' 07/04/01 GWToData[124] :if (wi'aplname')(2wi'..*kwparams')/3wi'..*kwpar ams' 07/04/01 GWToData[125] Matching keyword selected. 07/04/01 GWToData[126] SOUND 07/04/01 GWToData[127] :return 07/04/01 GWToData[128] :end 07/04/01 GWToData[132] :if ~0R R is 0 or a vector of data 07/04/01 TO DO: Install history area TO DO: (done 07/05/01 )INSTALL ESC KEY HANDLER FOR GWSize )dpme 07/05/01 )BLOCK Esc Closs for GWName esc handler Correct clicking of numer input for TYPICAL. SHOP AND FIELD TO DO: add descriptione (size,data etc) under enter data line on GUI TO DO: Alt+F4 handler requies a message before closing 07/05/01 TO DO: Install G or GWPopulate Added GKwsOff: called when a SETUP edit objects received the Focus TempFileData new function to file data 07/08/01 1. Revised data_Handlers to exit on a KeyPress char and let the KeyPress event to call data_Handler. Moved all the Enter Key actions from KeyDown to KeyPress area. 2. Revised data_Handlers for Equipment Class 3. Modified GMoveKwsLight for use in Equipment class 4. Installed GDataKeyDown 5. Install GMoveLightOnly to handle left arrow the same as right arrow. GMoveLightOnly called by GDataMoveCursor 07/09/01 1. Revised and data_Handlers using case statement 07/10/01 1. Added GMarkID GDataMoveCursor 2. GEquipScrollIds added movement block of single bright item 07/11/01 2:45am Minor changes to the following data_Handlers[10] :goto KeyUp 07/11/01 GWToData[29] DROP MENU? Really! - Check this.07/11/0 GWToData[31] wi'*onMouseDrag' "wres1" 07/11/01 sel of text d ata_Handlers[10] :goto KeyUp 07/11/01 TO DO: ALLOW CURSOR MOVES OF ONE SPACE LEFT OR RIGHT WHEN WITHIN THE TEXT STRING O.K DONE 07/13/01 7/13/01 FIX: Rt move from CU1 C1 does not hi-light C1 items GEditMode[3] 07/13/01 Only used in GWID NonEditKeyPress[1] new Called by GDataPressKey 07/13/01 NonEditKeyPress[33] wi'*text' T 07/13/01 NonEditKeyPress[76] :andif (SEL)=texta~' ' 07/13/01 NonEditKeyPress[77] :andif (SEL)=texta 07/13/01 NonEditKeyPress[87] :if (SEL)=texta 07/13/01 data_Handlers[81] 07/13/01 KeyPress will handle EditKeyPress new 07/13/01 Installed NonEditKeyPress and EditKeyPress in GDataKeyPress which is called data_Handlers 07/15/01 GMoveIdLight[103] wi'*selection' (01 0+SEL) 07/15/0 1 Move caret to the left GMoveIdLight[140] :if 0=+/^\texta=' ' 07/15/01 GMoveIdLight[141] :andif 0=textb~' ' 07/15/01 GMoveIdLight[147] :orif 2=+/SV 07/15/01 GMoveIdLight[166] :goto skip224 07/15/01 GMoveIdLight[207] :goto skip224 07/15/01 GMoveIdLight[232] skip224: 07/15/01 data_Handlers[90] :if 1=+/^\' '=T 07/15/0 1 data_Handlers[91] :orif 0=+/^\' '=T 07/15/0 1 data_Handlers[98] wi'*text' (T,' ') space f or the caret 07/15/01 6:05 GDataMouseHnd need work. Must block drop of menu on right button click 07/16/01 4.30AM TO DO: (Move GDataMouseHnd to the MouseUp event suppress the MouseDown event Done 07/16/01 07/16/01 4.45 PM Finish checking all cursor and number button actions Looking good 07/17/01 Problem: slow keyword hi-light movement Rev:GMoveKwLight Error in check the repeat flag warg[6] Problem: keyword turned off when scroll items with an empty edit box Rev GEquipScrollIds 07/17/01 10:45 pm Problem: caret moves to the left ( c) instead of moving item hi-light what more that one item is marked. 07/18/01 Working on "NumButtonHnd" clicking on num buttons when caret is in the edit box in any position FULL[3] ID1(-1+(texta)' ')texta 07/18/01 FULL[4] IDID1,ID2(1+textb' ')textb 07/18/01 FULL[8] ID'' 07/18/01 not inside of item stringNSIDE' FULL[13] :if 1=( ID)3wi'..*idparams' 07/18/01 GCaretInside[5] ID1(-1+(texta)' ')texta 07/18/01 GCaretInside[6] IDID1,ID2(1+textb' ')textb 07/18/ 01 GCaretInside[9] RID caret inside of an item string 07/1 8/01 GDataMouseHnd[2] 07/18/01 wres1 suppress default mouse up a ction GDataMouseHnd[25] :if (text)=SEL  07/18/01 GDataMouseHnd[30] ID(-1+(text)' ')text 07/18/01 GDataMouseHnd[37] :end  07/18/01 GDataMouseHnd[64] ID(-1+(texta)' ')texta 07/18/01 GDataMouseHnd[65] IDID,(1+textb' ')textb 07/18/01 GDataMouseHnd[67] :if 0=( ID)3wi'..*idparams' 07/18/01 GDataMouseHnd[97] ID(-1+(texta)' ')texta 07/18/01 GDataMouseHnd[98] IDID,(1+textb' ')textb 07/18/01 GDataMouseHnd[100] :if 0=( ID)3wi'..*idparams' 07/18/01 GKwsMouseHnd[53] wi'..ed1.*selection' 0 0 move caret to 1 space 07/18 /01 GMoveIdLight[95] :orif 0=( ID)(ID)IDV 07/18/0 1 User might haave created GTurnOffIds[7] I5+wi':*cot' 07/18/01 class other than duc t GTurnOffIds[16] 07/18/01 :if 1V GTurnOffIds[23] 07/18/01 :end GWSize[74] wi'*selection' 0 0 place caret to the first posti on 07/18/01 NonEditKeyPress[131] GTurnOffIds 07/18/01 NumButtonHnd[31] ID(-1+(texta)' ')texta 07/18/01 NumButtonHnd[32] IDID,(1+textb' ')textb 07/18/01 NumButtonHnd[38] ID1(-1+(texta)' ')texta 07/18/01 NumButtonHnd[39] IDID1,ID2(1+textb' ')textb 07/18/ 01 NumButtonHnd[43] 07/18/01 not inside of item stringNSIDE' NumButtonHnd[50] :if 0=vi ID 07/18/ 01 NumButtonHnd[52] :if 0=( ID)3wi'..*idparams' 0 7/18/01 NumButtonHnd[132] 07/18/01 Suppress action if ID is and itme and wself is a number button NumButtonHnd[133] :if ( ID)IDV 07/18/01 NumButtonHnd[134] :andif /'123456789'wi'*caption' 07/18/01 NumButtonHnd[135] wres0  BEEP 07/18 /01 NumButtonHnd[136] :return 07/18/01 NumButtonHnd[137] :end 07/18/01 NumButtonHnd[172] wres0  07/18/01 SOUND signal er ror 07/19/01 GDataSpaceKey[2] Called by NumsButtonHnd 07/19/01 GDataSpaceKey[4] (SV IDV)2 3 wi'..*idparams' 07/19/01 NumButtonHnd[23] :if (texta)SEL  07/19/01 NumButtonHnd[41] :end  07/19/01 07/19/01 12:OO PM CARET NEXT TO AN ITEM CCC BELIEVE IT SHOULD EXIT IF NOT A NUMBER 07/21/01 GMarkIds[121+-] Changed insertion of a space within texta GDataMouseHnd[60] GTurnOffIds added 07/23/01 Revised GWSize and created size_Handlers 07/25/01 TO DO: ADD size check IN NumButtonHnd when moving from a size object by clicking on SPACE 07/26/01 TO DO: finish adding the size check plus checking NumButtonHnd 07/27/01 4:15AM Change CLEAR to clear all edit objects TO DO: check enabling NEXT under all condtions 07/27/01 4:22pm State: in first size object of square class action: click on a number button BUG: system give error message "Caret must be positioned...." 07/28/01 3:00am To make sure caret started in the 1st position in the size1 edit box I did the following. TRY-deleted Show on last line GSize - added :return to 'NewClass' and wi'selection' 0 0 before exiting 'Shade' GDataMouseHnd - added BEEP to signal success TO DO: Action: repetitive mouse click on the same lighted item. BUG: Does not sound a BEEP when count is changed. 07/28/01 13:42 GDataMouseHnd[123] BEEP Signal success 07/28/01 GDataMoveCursor[10] 7/28/01 R1 Default exit 07/10/01 GDataMoveCursor[11] R0 Default exit changed from 0 to 1 07/28/01 GDataMoveCursor[347] UCSTOP 07/28/01 GWSize[68] 07/28/01 wi'*selection' 0 0 place caret to the first p ostion 07/18/01 GWSize[69] :return 07/28/01 GWSize[155] 07/28/01 no caret position set in size_Handers GWSize[156] or data_Handlers wi'*selection' 0 0 07/28/01 IdsHnd[100] UCSTOP 07/28/01 sound an error IdsHnd[101] wi'*Focus' 07/28/01 Note: insure that the edit object has the focus NonEditKeyPress[212] UCSTOP 07/2 NonEditKeyPress[256] :if ( ID)(ID)IDV chedk added 07/28/01 NumButtonHnd[356] ID(-1+(T)' ')T added 07/28/01 NumButtonHnd[357] :if ( ID)(ID)IDV 07/28/01 NumButtonHnd[360] GMarkID ID 07/28/01 NumButtonHnd[361] :end 07/28/01 Switch[124] :return 07/28/01 UCSTOP[2] 07/28/01 data_Handlers[318] :if warg[7]>110  UCSTOP  :end sound an error 07/28/01 07/29/01 2:00 am Revised the GFrames miscellaneous class to eliminate initializeing the edit objects with the objects name. Remove 'misc'. Use EdObjects instead. 07/29/01 7:15 am size_Handlers - adding check for maximum count Added '.' and 'ENTER' to the NumButtonHnd Needs debugging. 07/30/01 Working on GMat and GLabor for the misc. class 07/31/01 10:40 am GMoveKws made partial but only keywor bright hilight 4:30 pm. Working on Misc. class. GWID, GWLabor and GWMat plue GValidateMiscData 08/01/01 4:40 am GWQty - new procedure to hand key word exit from edit box 08/02/01 GWDesc TO DO: Limit the the number of chars 08/03/01 4:00 AM 1. GWID fix tab key 2. Misc/GWMat if field is empty default to '0' when Enter is pressed 3. GValidateMiscData is buggy 08/03/01 4:4O PM 1. REFINING (debugging that is) SizeTabHnd 08/05/01 9:30 PM Back tabing from Material to ID needs work. ID does not hilight Note: Added MouseUP chedk to EdObjects. replace GWQty with GWSizein GWID 08/08/01 3:30 am Working on tabing in misc class SizeTabHnd modified but need more checking Enter key not consistant in all edit objects 08/19/01 Working on GHelp. BUG - Help not being displayed in misc. class neet to ajust positon of size, desc etc 08/29/01 Working on saving and filing takeoff data 08/30/01 GFileData GLPI GValidateData 08/31/01 3:30AM Renamed tab_Handler fac_Handler and added Enter key handler 08/31/01 3:45pm Create Cjobfile which will create a new empty jobfile and each time Greggway is initialed. 09/03/01 Modified... GKwExit[37] 09/03/01 :if Iwi':*toindices' GKwExit[48] 09/03/01 T((wi':*FMV')[I]) wi'.fIds.sc.*value' GNewSetup[20] 09/03/01 ductobjs probable should be change to Gjobfile[68] (sections subsections factors cot)A 09/03/01 08/31/01 Working on initalization and installing of job parameters during startup. 09/03/01 WORKING ONF GPopulate ; installing Gjobfile Changed GPopulate. Split into two functions GInitalize Greggway and GPopulate revised defintions of setup and jobindices 09/06/01 Check DUCTSELECT 09/07/01 TO DO: Must save default ductobjs How to start up as Round when Air Dist is changed as the default setup? 1. Renamed GWTake to GWClass. Displays name in top right frame 10/19/01 Cleaning up... GInitialize, GJobfile and GCreateJobfile TO DO: Create funcitons to allow user to scroll thru a jobfile and select a line of takeoff to be edited. See GHISTORY and GHistory function used in the first version of Greggway 10/21/01 Working on GOpenJobfile. Display name in name field 10/22/01 GInitailize GSaveJobFile 10/23/01 Checking GFileData rountine. Must file reserve four components 10/24/01 Cleaning up... DUCTSELECTION GFmtPrompt JWG-10/27/01 Revisions GOpenJobfile[48] ASELF wi':f1.cbName.*list' JWG 10/27/01 GOpenJobfile[49] SELF wi':f1.cbName.*value' (AR[2]) JWG 10/27/01 JWG-10/29/01 GDataMoveCursor[103] :if 4=wi':*cot' added ':' JWG-10/29/01 GMarkKws[3] IDUPPERCASE ID added UPPERCASE JWG-10/29/01 size_Handlers[138] wselfEdObjects JWG-10/29/01 size_Handlers[330] JWG-10/29/01 Some how the text was set to R1 size_Handlers[334] wi'*text' '' JWG-10/29/01 size_Handlers[335] wi'*selection' 0 0 JWG-10/29/01 size_Handlers[336] GWSize'Shade' JWG-10/29/01 size_Handlers[457] TUPPERCASE text,T,'.' added UPPERCASE JWG-10/29/01 size_Handlers[468] added UPPERCASE JWG-10/29/01 size_Handlers[471] wi'*text' (UPPERCASE text,T) added UPPERCASE JWG-10/29/01 fac_Handler Major re-write to limit user to adjustment factors for the Section or SubSection but both may not be adjusted TO DO: If user changes the factors AFTER some data has been filed all prior factors must be changed. The user must be advised and agree. JWG-10/30/01 TO DO: Need a function to rename the Jobfile, Section and Subsection h T3  vVALUE ERROR TFMS ^pTT WI':ed2.Create' 'TEdit' ('wherelc' '>' '=fRname.ed1'  200 ) ('caption' 'NEW JOB NAME: ')tp@tT wi '*Set' ('*style' 4096 16384) ('*edge' 0)@txTT wi'ed1.Create' 'TEdit' ('wherelc' 5 5  200 0 '> CURRENT JOB:') ('caption' 'CURRENT JOB: ')t,:endselect( T wi'suffix' '.JOB'T(4T wi'onKeyDown' 'GRenameJob "ONE"'4P:case 'New'SOUND HXCT wi'*onMouseDown' ("wres1") block move to write only edit boxX/:case 'TWO'BOO0  WI'.b1.*onKeyUp' 'BOO'420$'enter key pressed'$\  \)xdP@( < :endselectd 4:else$:select 1warger$$:if 'Focus'wevent$:case 13l:end|0S:case 'ONE'@4TT wi'Create' 'TForm' ('where' 10 10 5 20)@D@)LXEp욵P ̖  E  D\К̜ԗ\@엵D8̺wselfT 'fRname' 'oo' wi'appname'3 8$'RENAME'  SOUND'$0FSOUND  SOUNDD4 43 2";:8  / 4+9DDD )3,, , 48䉴D(  4, 8(   4" $SI E""=$ GWSDOCO $w  u+ 9$   P 4 $  u,$(zpositiveinteger(D +0䠵"6 9D TFfloatjec ( positivefloatW(4 $(H24$ ̡"6 P$ integer D{ .8\lĠ2{D$ TComboTree$$Su TEditList$$ģ TRichEdit$ SeTEdit $ TComboDrive$ SuTCombo Ltype($ TCancelButton.bn( TCheck $ TOKButton1$$ TComboFilter$؀Z  "6' *text~ $ `"6 u$0n @"6 Y+ 90 *check $} *aplnamep$$  r,9$   r9 wE iҵ/|a (  "6u($ ..*edobject$$ ݵ"6 $( b,( , t1 ԣ1 1(`jbnSaveDefaultsl'(<"" Is an onClose event required? - <@f  T1 ,onClose @kbnOK bnRecall 0  ॵ"600L  "60  1MS S 1$ t Y86 $, Աԭ@ Y86, hbnCancel (,eOp.onMouseDown($\ :*toindices$$@f W_Subclass$,  "7 ,  "69 xxClose w:*cot ispied D &  "7 D(W_CreateFilter($j  $D[ G+ ,ԧ,, ,  hD,k'SystemMenu'Click',&'DDl )x "7 `lDDl )t Ԩ"7 llD "&Topmost SP@$ MF_STRINGutt$$ AppendMenuk$4m $ԩT x"7 4( WM_SYSCOMMAND($e MF_SEPARATOR$$ AppendMenu$ &Events 0@$ a MF_STRING$$Ob AppendMenu$(D  MS Sans Serif(( etٵ@"6(LsizeD ,b U4 U, UD |1(  MS Sans Serifow'(   T', ܵ Y86, 9,$ 4ܵ"6 $ Delete 0/    "7 0$ 0"6 $0 4д Y8686 0D 1 ,h,"Ȳ Y86t1DD" ,P," Y86"1D(2 @"6(, 輵 86,D 1  V R , 86,D0\4  Y R讵 86&00"  T R 860 Lgvalue $D .fObs1.op1$ *Wait2 07  貵("6 860\ $  9 $ t8enabled $  9$ 8enabled eenabled $D :*toindices$S 0 8ǵ1 1 Resize   KAT D: ,  V R, x 86:D(,  86 R T(Јhwnd, U Id 89;,     $TG 2K  $ MorderP (  Y86 r (  |1(xD GetSystemMenuTG(  Q'5 *Focus $ԣ MF_SEPARATOR$, d Y,86,0ay E |/ $D AppendMenu$Dbo r)ĵӵ dӵ"7 G1D4 D$˵  "7 4 I:*cot G*new *Focus L ;   :8  + / CL$  $ Rvalue+ S 0M  ǵ :86 0(  S86 1 (W.bnD 1 Q V Q, / YD7 D D1 Q V Q, / TD$R *defaultss1$$S *children$ e Rchildren $ TT T V6 , w9P( 4," Q(,|.op( ȶ," T( W  R Y0 f  [   V 0     ,90$  / V T $ e (L 0 R"6( [ \;4FA !," R4 ]P ]where +astyle ^caption H$_ 7$T< u,,+ ,3м, vH   R $n :*toindices$_20, " uC00 8 Xõ"6, R̹, 90 `caption D)d &ػl Y,86 3aD( X@"6((a Tx"6(0 Ⱥ U,躵"60 ,'bnOK' onClick D 0  , , , ,8"6 72XD caption $q .bnCancelc$ wherec ( |@"6(xNew onClick D, 0X , , , ,p"6dDERP whereHU  stylee 4 Cancel _/ G:*Open ,K "6 R9-,U(0  R,, 9( "  v $H_ :*toindices$D ' , , ,"6Th V R R, + Ƶ:Ƶ, ǵ,3 AMP  K  HS Rchildren ;Show(T'bnSaveDefaults'(4[~ "͵ :86  \40 ʵ :86 04 $ \ȵ ,"; :86 4 "where D\ )x˵ \ R, ̵.\PD( hѵ R(xNew@(;  ̵ Y86 (hDraw0 Dӵ :86 W04` #P͵ R,.R4(   w(P@ CH E W $  R .V$ hwhere = $  w\ V$ where $  .wR$ wherer ( ɵ , R( where ?Text 8rD / ʵȵ"6 R$, RDD .0ѵ,":̵ 'UD(re  ~  ($Ta l  ,9e$ ,children D S u-  , / DuctboaD0) ϵ U,h͵"60$ ͵ K9$ Pdd  value  $  onMouseDown$ where@M@ 0 ڵ ڵε "60(0 $еHѵ@"6(fontl" Z εϵ"6H  ,,, ,`ϵ u, , ,ε"6l( 0͵@"6( ?Text where    + 9( 'Op.onMouseDown'((  |ϵ"6(? caption ( ѵ@"6(̴DrawDBu t-еXܵ ҵ, S,86 3DF     ڵ u $  е+ 9$ 0OptionU2 ,   ,/ ,F-,AH 0 TU6,< pscale a@  style@]@ l \ ҵ ֵ"6 , \۵,lԵ,t۵,,׵"6lL.op    t ۵   ص  0   K,/ 0 ?Text `ShadeWRD D -  , / D Lcaption $ AppendMenus2$$  MF_STRINGbs3$(| @ٵ," (New4 " (ٵ K,$Ե"64 caption (gw fԵ@"6(T?  styleQ.f (( Xٵ," ( ?  Frame 0 Եdյ "60( صյ@"6(fontD( 1Եӵ Kص, Y,86 S 3D scale1 (  Yܵ"6(LDraw0 xص U,Xֵ"60 onClosef 0( ֵ U,ֵ"660 Id'Resize' gwonResize 0 ׵8@׵ "60(t |"6(font( ۵ݵ@"6(?0 <۵ U,۵"60(  Q<ص"6(,size(:* cpٵ۵@"6(Tsize | ܵ/ $ 'onClose'$$ K $ h.fObs p$Ա4 $ ۵ݵTݵ Y86 34$  Y86$ border units ( MS Sans Serifop1(D 0ڵ۵86 Q, T,ڵ, YwD( tܵ86 T(L? ̴?iNewLHide 'Show'  @X  onShow" scalen" #h Dwhere $й :*toindices$̴Newض# self 0ffDUCT @l ( L޵"6L, 9(Form( ݵ"6, 9( New$  , 9$ :*cot  style $ :*toattrs$4D !" ^ߵ, 94    $ :toindices$$ |/ r$  :*cot  ܵ Y ,h  d , 3/ .f,30 "6޵"6 0ذ   1.fD@ %p@ M:86 ܽDD / wt w:8  / MTD  /J D (8"6"6, 3´´D$ "6 w$  .f1.f   1(P :f1.*children=( P:FMVE $ :*toindices$0 L M86 R0$  *childrenabe$  *visible  ',Duct Section Matrix,$ :*toindices$DUCTdDUCTh[P. ĸcaption $$(U @"6(DUCT  :*cot $  :*toindices$ :*cotp  /2 ,< $"6,T, 9,(  Qh"6(,8& ," YTQ,D0  w"60()  T"6(,lk:f1.cbSubSec.*value@,,k:f1.cbSubSec.*list,L(R :L0 , /%, L, "6, V,(,  Y"6((To  3/ Y (D ,8,"\"68"60oD() { , 9($ "6 w$D &"6 (: 3hLD,  VH"6 3,n    Y+9  (`m :*jobindices(0ܒ  w Y,/00x  wx"60  /, ( H@"6(DUCT class ع?Я EQ  ADh MI,:f1.cbSection.*list,(.lDesc.*caption(,k:f1.cbSection.*value,D, .D"6 "6,,d"6 ȴD 4 ..*self :*cot :*FMV $17 "6 V$,  V, N R,( "6, 9(( "6 3(( \@"6(( (@"6( 1(:fEQ.*children( 1   ' :*cot uD f 14e " 86T4,  8+ 9, (:*cot |:*cot T 1$H :*toindices$$@ :*toindices$(  V, V($  h"6 V$ *Closep $ *kwparams$ MouseUp (La e"6, 9((8m @"6(.f1$ :*toindices$," "6+ 9,L$$ x \:*FMVp :*cot :*cot :*cot :*cot D\ (|"6~ wD :*cot  gw.fEQs gw.fMI d  pgw.fADce |:*cotp ( @"6( (t < @"6( $ /2 TButton |TOption $P :*toindices$HDUCT D ) R,, R,(,0-8ѴD( , R(INFO4Must ask whether to rename 4t s to,@Need routine for <,0b. T860 b.TForm *Create  1 1 1EQUIPĴ  1 1 l1 |1    R' 8JOB NAME, SECTION or SUBSECTION80 4 V 86 R̴0$    V$ *caption (t  R~ Rf( OKto D:FMVUp \EQUIPn *class D e/ p< w:8  /  D Button DR 0 X 86 p:86 w D 1 hRENAME  1 SAVE AS AIR DIST ap i T1 MouseUp   ' MouseUp D! %@ :86 D(  , 9(TLOAD ,  9 $D ..*children$   4 ffMISC>t& *visible l4pDUCT:endselecte SOUNDs, :returnwnd0  T(BV[I])wi'*caption' 4404 wi'..*edobject' wself4 8 PMV3OrRw23LNpW {!!!!"#&&((**2224456:;<D>?@DDDDFFGHMNOPUVWX]^_`bbefgijkwxy{| PD .3!!.!K2?:SM[Uo]je8  BVB(l SOUND  wres2(0C1 T wi'*Focus'00  :if ~0Twi'down' 00hes T wi'*Focus'00es :if ~0Twi'up'lt 0(L :if 38=1warg(,  :if /38 40=1wargt,L:i 'FIRE ' (WSELF) (OV[I]) 'Enter exit button' nL,ls :if 13=1warg,  seldg (BV[1+BV wself]) wi'*Focus' JWG-10/30/01 go to a the selected buttond(to BVBV,BVle((ocs :if warg[3]ݴ(ݴ  (Xi'F (BV[1+BV wself]) wi'*Focus' go to a the selected buttonXL wres2 suppress default key actionsLPon BVBV,BV prior button else the last item'*P(ke :if 37=1warg(X BVBV,BV next button else the 1st first buttonerX(\p :select 1warg (])w'*cP4 BVBV,BV next button else the 1st first buttonP8d Handle enter and focus movement keys8ndebut4n h (WI'next') wi'*Focus'4d  wres2 suppress default action else new focus will not be persistantd8 move focus the the 'next' button8 Inosg \e o KV1BV wi '*caption' key chars for each of the buttons,'\L<  LV[I] Go to the selected handler<P4  T(BV[I])wi'*caption' 4d IBV wself index to the current buttonOpd(( KC1wi'*caption'(8  Handle button selection charactersren8tes@  LV[I] Go to the selected handlerhi@etr 8:*t :return End of MouseUp handler8D 'INFO' GInfoMsg 'Need routine for <',T,'>'D\jet T'Must ask whether to rename','JOB NAME, SECTION or SUBSECTION't \4 'ff'wi'*Create' 'TForm' 440/1/0( GSaveJobfile' ((eyM GOpenJobfile(Txi GPopulate Display current job parameters T`ot wi':*toindices' ((wi':*cot')fread HIDS,11) 09/07/01 2`TD GPopulate Display matching job parametersi'T\'], wi':*jobindices' (2frad HJOB CNO) secno subsecno facnop\@ Use setup from the last takeoff line@( :if 1t"h?"@  A 袵B)ȢCDEx*8F*G+G`H,IJ,KT LpM+N+N(O'PpQR@ ST U pU ,V WXp YH Z&[ \$]^X_<`*abcdefghhTi<j,klmTno,Pp q,rsDtLu vwxyz{|}X~0x)`%@*LH4) *@+x$*\)-D0((\8l\*Dp( x@,8X((dlx48T(1(h-(|.  ( (F) GKwExit $H :case 'DUCT'mer$ l (V) topFrames $ GInfo 'DUCT'mer$ :select wevent $П :elseer$ :case 'MouseUp' $ :endmer$ 8 MouseUp:_ $X :case 'MISC'mer$ | :select T $ :case 'EQUIP'er$  :case 'OK' $ :case 'LOAD'mer$  :return $$ :case 'SAVE AS'$ H :end $h :case 'RENAME'r$  :return $ UCSTOPmer$ С POP_ $ 'wres=' wres$  :return $4 MouseUpmer$ X POP_ $x wres2er$  :return $ :if 32=1warg$  POP:_ $ :returnmer$ $ :else $D :caselist 37 39$ h :end_ $ tab shift$  :return $̣ :returnmer$  UCSTOP $ :caselist 38 40r$ 4 :endselect $T :return$ x wres0_ $ :endmer$ :case 'KeyDown' $ܤ :return$  :if TKV_ $  :endmer$ D UCSTOP $d'wevent' weventer$ :case 'KeyUp' ̥ :end_  :return T :end_  :case 13_  LV[I] D  wi':*toindices' 0 changed 3 to 2 07/31/01egD TMgoxT GPopulate Display current job parametersTXeco wi':*toindices' (1fread HIDS,11) 09/07/01XX GPopulate Display matching job parametersXD  Use setup from the last takeoff lineD@  wi':*cot' 1 07/31/01@ey@  wi':*cot' 1 Top DUCT button exit@@u Note: A takeoff of class other than duct@BrwerL   SOUND 8 :end | :else  :end_ D :end 3/24/00 default to round. insuranceDH An error will occur if more that one of theH_ dsetup_Handlers;case;CFS;BV;I;KC;KV;LN;LV;OV;R;T;V;WEVENT;WSELF;t;CV;U;FMV;CA;CNOed\ FMVwi':FMV' list of takeoff class object names\LX 'INFO' GInfoMsg 'Need routine for <',T,'>',TCNL,TLT:if 'MouseUp'wevent added JWG-10/30/01ntT$ :if 0=+/V r$ 0 :endselect L wself((wi':FMV')[wi':*toindices']),'.ed1'LT topFrames wi '*visible' 1 Frames must be set to visibleT$:andif 1warg[3] r$P (BV[KVT]) wi'*Focus' go to a the selected buttonPLX VFMV WI 'opened' flag active objectLT even if the frames are closed.T TT~'&'(8 GWSize'Shade'(P set wself and edobject for GWSize 'Shade' routinesP V[1]1 (d  GKwExit 'DUCT'( e ("6 T T(V/FMV),'.ed1' name of 1st edit object TX :if 7,wi':*toindices' "if" statement added 09/07/01XL takeoff class frames are open. If this happens'EQLT V(CA(topFrames)wi'..*children')WI '*class' 7/04/01TP wi':*toindices' (4fread HJOB CNO) 09/07/01PT wi':*toindices' (4fread HJOB CNO) 09/07/01 T :return ( Setup button handler(4  Use default toindice4< :andif 0<1fread CNO50+LN-1rs<L JWG-10/30/01wres2 suppress keyup actionsѴL` wi':*jobindices' (2frad HJOB CNO) secno subsecno facno`` IBV wself index to the current button01`  L'/- 8 :andif 0<1fread CNO50+LN-18H topFrames: Class frames..fDUCT ..fAD ..fMI ..fEQ?H@X button order: OK DUCT AIRDIST MISC EQUIPsr@LX11Click the LOAD Button to load or create a new jobL@ additional check will be required. 1 @( GKwExit 'MISC'(( wi':*toindices' 0(, :if /9 37 39=1warg, :elsent :else` :ende1 , ..cbSection.*Focus,  wres2p  :returnT BV(/V ss 'Button')/CA 7/04/01 button objectsT0 :if KC=Tav[io+1warg]0 wres1@  :endw(  GWSize'Shade'b( UCSTOP ` :elseH  TT~'&'w| :case 9(  :case 'AIR DIST'l(p  :return0L Use default toindice0(  GKeysMouseHndn(,  :end left button only,  :endONE,L  === Button handlers,(  wi':*cot' 2 (($  GKeysouseHndld(( wi':*cot' 3 (,2 wi':edobject' T,,L may be active,8L (but it should not happen!)8,x :if 1 . V R86,1:return( 4 , 9( *Focus (l 4 4, 9(D 12/863 T0 , w/ RD gw.f1ck $ a d 3$ pgw.f1Ӵ (t e0@"6( @:*ERR *class Comboд D *40 1/86:86 wiabsD 3(..cbSubSec.*text(  $31$( *childrenԴ$(  4, 9(( `35 9(, 1"604"69,t ,..cbSection.*text,4 # V V V,/, Vt4,h   R, V, *style D| , R4\2 R:86 , / Rд״D$ *childrename$ KeyDown $KeyPress @KeyUp]  51 @ WARG= $( case Keyup$ 31 21Edit$\ :cdsectione$0 \5"64"60$ :cdsubsec$  tFocus] w   '(..cbSubSec.*text(Exit$0 :cdsection$0 5"65"6 =0,..cbSection.*text,   51@ wi':cdsubsec' (wi'..cbSubSec.*text')@4 ===============================40 wi'*text' ''04 :if 0=(wi'*text')~' '4DM DM, egPVRw5f  fffffffff"#%%'ff++-./f12ffff8:=ff@ffCDEFHHILLLNPVRSVVVffffffff`abcdff f2/f:@=VNefRN0 wi'*selection' ((T),0) S 08 6 wi'*style' 0 left adjust text8AITOL  ,)J<7\I=$>@5(7h> 6 A5<6T4>D3 E H1 ? dH 윸М@@.?GK(H7I>34?-A-M<-TBT|Tx?-H@0F3 tF<!dJ"tG#E$DH%>&HJ'K(0J)E*G+E,K-A.K/T0I1H20K3pE4|65F06J07Ld18L9XL<1:6;8E<D=PA>D>?6@>ALBICxA/D,B/EDt0FBGhDD/HL@|2IKJTDKF/L@GMG.NDOCP>QC02RDC1S?THKUL.VHWCXT?Y?ZhK[9\PF.]J^t9_F`La@bD9c(@dI)/1),I JWG-10/30/01DD̻ I1+T wself JWG-10/30/01DD I((I=0)/T),I JWG-10/30/01DDjet I1+T wself JWG-10/30/01DƴH T(V( 'Combo'), 'Edit')/'gw.f1'wi'*children'HDTFl V('gw.f1' wi'*children') wi '*class'۴DD BEEP wi'..*Close' 07/05/01D8 SOUND wi'..*Close'8D Allow windows default action to handle characterD@d Check Section and Subsection for and change@ :case'KeyPress' $:case 'MouseDown'er$ d'case KeyPress' $$J Twi'*text'mer$( :if 9=warg[7]l( :case 'KeyUp' @D:if warg8 32,46,(47+10),(64+26),95,95+26@4 'Shift+Tab 15 1 1 0 0 1 9'444 ':case KeyPress' ('warg=' warg)4< :if 1=warg[3] ShiftTab9'<  :else(< SOUNDb( :endt D:if 13=warg] x :else :returndit8 wres2 block default action=8H :if (wi':cdsection')(wi'..cbSection.*text')?H@ Some virtual key codes and not valid for AV@L Open and install in GWEdit before Action after debuggingL@ Tab key handler for the Setup area 1 @ t:returnD H:end` UCSTOPt(|wres2 reset hold( @'case Keyup' T`combo_Handler;case;else;endselect;end;if;return;select;I;T;V;WARGT0 'TAB=15 1 0 0 0 1 9'0\:end  :end @ :end ,$ GSecSubSection, :return( AV character codes.(8 wres0(T :if warg[7]27 9ld(:endselectt(Q :if 27=1warg(,` (T[I]) wi'*Focus', x :else 0  GInfo 'KeyUp {Esc and Tab}'40  wi'*Focus' 8:if /33 34=1warg PageUp PageDown8$ ..*idparams$$ ..*idparams$(  XT"6($ .w$ ȧFOR < *color D F3xS ,M, X,hR, ,N,/-D,  XxM S86,X w .X ((  X w($| U"6 Y$ h*color ,  P, , 9,X( Q S86 X(( .w(D| & N Y86X4DD , $O Y:86 L|D(  X w($ .w$,  XR S86,.(  w .X($  T, 9Ӵ$ \:*cot $7] 4U, X$  Q  $ ..*kwparams$$  , 9$ pA SPACE 4 #pO XS"64,  S, , 9,h>(X TM S86 XM($  S$   r $ ..*kwparams$( T"6`U9$($ ..*kwparams$ 1(о> TAKEOFF DATA@((d..lDesc.*caption(, 8S"6+9,.M$  9$( P 86쒶 Z,d, , \P$ .sc.*where$t aL R R4 \,, 86,, R,l 86t4 #  ,+ Ԓ.4h U  Z,D"6 \,,+, \, ,|.h J IHBHFHHIlH x x*size@ , 菶p \, W,X(-  86 \($0 :*margins$D ,|  ,/ , D4 #( | , }4(  86 \((?:f1.edName.*text($! borderstyle$x$. *kwparams$, Ӷ, L86,>>X GLt ,d,ЖP,䗶"6 3X D+*caption |) ( |ė"6(%*def d+GWButton .wherelc ( "68(%.l11` O0 ,,И8| ,86 L`">X0= 6*text $4 ..b1.*Create$( lܚ@"6(<&.ed1(@ @"6((.f1 p/?count * | wherelc 0  D"6P0$  , 9$ 8)*count  ,1 /*style 0*tabstop (P "6(( 8@"6(3DATA /count0~ 8)Actionrs P6@0> d+TLabel wres1 p0countnrs t.aplname $ *onMouseDrag$( "6(( ("6(, , ,  C,  B؝  $5 *onAction$( data_HandlersPA($ *onMouseUp$( t"6(( data_Handlers0@( *onKeyUp ( 䜶"6(( data_Handlers(( 4"6((@ data_Handlers(4 $X"6, ,ܛ"64( `@"6( @ ( TEdit"Action"@($ *onKeyPresss$$+ :*jobfile$ @1(X  data_Handlers(P @od ,PӶ̢hp p ,86 3 @Y@$ GWEquipData$( P", 9 ( *style $1 *onKeyDown$ 7*Create 0 Bܡ Q86 30X0c,2   90, /   $(4 :*onAction$ p0*Create L(  1 &   T' #   Q# ,4GWEquipData"Action",6 -@83A6F D*FMVQ New 7handlers 7TEditdit $ Զ 0<$ 8*Create 6 cp5.ed1 @7 datan h9wherelc &80 80 ( 0 Q, Q(.  1\AAOVALdesc oval ductDUCTDesc DuctAIRDIST Grills and Registers\   Q H..SQUAREDesc Square ductROUNDDesc round ductH(  Q, Q(H00MISC Miscellaneouse itemsEQUIPDesc equipmentH|/=(d$(3"  'D . ,,觶xP"6D0 ,詶 86 30, ( L86, >.wherelc := <*caption Xd7 cHЧt L,8T  ,86 LX4$ !  L86 ,84, @ L86,<c5.l17 1Ma "  'rp\  L17.f1 =GWButton t@> >count $=*tabstop , @ L86,<>:>  : T@*Create :aplname , 쪶d@ L86, =wherelc >OTHERnB $  qty_Handlers$ LLhandlers hwherelc $le .ed7.*Create$ =TLabel <=\ J̨Ъԫp0 86 L\$0S .b1.*Create$3*def,3RESERVED FOR HELP<,0$  L86 , 0, P@ L86, GWMat #8 9? Rcount ,P 쫶p L86, G*tabstop pGaplname , @ L86,K>`I=< RFIELDn $V qty_Handlers$ handlers wherelc $ .ed6.*Create$\ J 0H`Pphp 86 L\P?*def0(  L86 , 0, ܭ@ L86@, GWLabor #7 8J Lbcount b*tabstop ,P < L86,P  |10ne  "6P0$er e , 9$ T*count  x1 U?count~ 4 $T"6, ,"64, L, , ,( t"6( TAction ( ܱ"6(cl Ԯ1  ' Paplname , <@ L86,lf>W=H Mcountn  Cܰ  $Y *onAction$( TEdit"Action"(( A,P"6($ qty_Handlers$$ *onMouseUp$$ qty_Handlers$ *onKeyUp $ qty_Handlers$$ *onKeyPress$( ("6($  qty_Handlers$(GWLabor"Action"(( 4@"6($ *onKeyDowngs$ b  ܲ1 Pf?count   ' <1 *style $W :*onAction$   Q hW*def0  Q86 30 1\New [*Create ZSHOP0 " L86 , 00   "6r0\ J8X䶶̶tp 86 L\$TS qty_Handlers$ Shandlers  #7 8  wherelc GWLabor [TEditon O   T'(L ึ", 9($Y@$ Action , @ L86,, t@ L86,h|c=Q i>$  , 9c$ *count  |1 Lgaplname gcount ( `Ժ"6(4 $P"6, ,"64, , , %,( d"6(( й"6( h*tabstop ,  \ L86, icountn \eA?  C<  $0l *onAction$( TEdit"Action"($ qty_Handlers$$ *onMouseUp$$ qty_Handlers$ *onKeyUp ( <"6($@ qty_Handlers$$  *onKeyPress$$ qty_Handlers$( GWMat"Action"(( 0@"6($ *onKeyDowngs$$L qty_Handlers$ n"handlers  wherelc $L .ed4.*Create$$ .ed5.*Create$  T' GW a  Qw G 0 L Q86 30 th*Create *style $|h :*onAction$( ", 9(g*def@N  Լ1QNew\ JDö\ڶ<pLŶ\ 86 L\  hTEdit c  $0l@$0  L86 , 0, @ L86,TOAmCOSTTf ,qaplname 4 $`ö"6, ,Ķ"64( <`"6(( "6( |x*tabstop , ŶT L86,u#8 9, , ,  C,  B  $ GWID"Action"$(s "6( wres1 $ *onMouseDrag$$ id_Handlers@$$ *onMouseUp$$ id_Handlers?$ *onKeyUp ( "6($@ id_Handlers$$  *onKeyPress$( `¶"6($ id_Handlers$( @ö@"6(v*def @ ( TEdit"Action"@($ *onKeyDowngs$$ .ed3.*Create$\ J¶¶Ŷʶʶ¶pƶ4¶ 86 L=\$ id_Handlers$ handlers @wherelc ( lŶ", 9 ( *style $x :*onAction$ `z*Create Hu>0 Ķö Q86 30HbNew TEditdit 0} lȶ L86 , 0, ƶ@ L86,,x  Pֶ9w, u   ${ *onAction3$n  ö1hl   T' 8j   Qi GWMat 4AyID@6 6  aplname ( 8ƶɶ"6(4 $ɶ"6, ,<Ƕ"64(GWDesc "KeyDown"(, ƶ, , %,GWID *tabstop , ׶Ŷ L86,(GWDesc"Action"B(  Bȶ  $ *onAction$( ԶǶ"6($ *onMouseDown$( ǶǶ"6((@GWDesc "KeyUp"( *onKeyUp ( ضȶ"6(( ȶȶ@"6(t*def @ ( TEdit"Action"@($ *onKeyPresss$ *style $Ĉ *onKeyDown$  Create 0 ׶8ɶ Q86 30( <׶", 9( ؛   $ :*onAction$X{   ׶1u   T' s   Qs (0 |ʶ"6(@*def( tʶ"6 (>{8= |*text (  \ζ"6(( ̶@"6( Ͷ1 `Ͷ1 Daplname (t  Ӷ<ζ@"6(QTY$  , 9$ H*count   T̶1 count  @Ͷ1   ' Ͷ1( ˶˶"6( ؈*tabstop 0  ̶"60 ?count ̄NewClass HAction Shaden , hж, , ,( \϶϶"6(( ϶϶"6( count $ ..edobject$  Cζ  $ *onAction$( TEdit"Action"(( A϶8϶"6($ qty_Handlers$$ *onMouseUp$$ qty_Handlers$ *onKeyUp $ qty_Handlers$$ *onKeyPress$( жж"6($  qty_Handlers$4 $ж"6, ,ζ"64( GWQty"Action"(( XҶж@"6($ *onKeyDowngs$ *style $` :*onAction$   Q 0 pӶѶ Q86 30 B Ӷ1h @WҶLԶҶDض0ԶԶlԶ`ӶҶ 86  3ah ȍ*Create    T'=( 8Ӷ", 9($@$~  Զ1$ MI [9999]$$ qty_Handlers$$Fo .ed1.*Create$Newą Ax 8caption 4TEditt $.w .ض 0$ GWQty ,#RESERVED FOR HELP-,T2 #8 5 ȍcaption wherelc ,HGWDesc "MouseDown", ةP ( ն Q, Q(  hֶ1\AAOVALdesc oval ductDUCTDesc DuctAIRDIST Grills and Registers\  ն Q H..SQUAREDesc Square ductROUNDDesc round ductH( ֶ Q, Q(H00MISC Miscellaneouse itemsEQUIPDesc equipmentH ` GWDesc \ Jֶ׶׶T׶,ضl׶pֶض 86 L\$ qty_Handlers$wNewAq> |wherelc  handlers TEditc DESC &30 30 $ .ed2.*Create$= Dhandlers $ ڶ 0$,GWDesc "KeyPress",( ٶ Q, Q(Ȇ  Dڶ1\AAOVALdesc oval ductDUCTDesc DuctAIRDIST Grills and Registers\  ٶ Q H..SQUAREDesc Square ductROUNDDesc round ductH( ٶ Q, Q(H 00MISC Miscellaneouse itemsEQUIPDesc equipmentH~=i$ dܶ 0$( ڶ Q, Q(  (ܶ1\AAOVALdesc oval ductDUCTDesc DuctAIRDIST Grills and Registers\  p۶ Q H..SQUAREDesc Square ductROUNDDesc round ductH(Du ۶ Q, Q =(HPo00MISC Miscellaneouse itemsEQUIPDesc equipmentH$j 0޶ 0$t( ܶ Q, Q(x  ݶ1\AAOVALdesc oval ductDUCTDesc DuctAIRDIST Grills and Registers\  <ݶ Q H..SQUAREDesc Square ductROUNDDesc round ductH( ݶ Q, Q(H00MISC Miscellaneouse itemsEQUIPDesc equipmentHl$8l ߶ 0$d( ޶ Q, Q(\  ߶1\AAOVALdesc oval ductDUCTDesc DuctAIRDIST Grills and Registers\  ߶ Q H..SQUAREDesc Square ductROUNDDesc round ductH(l x߶ Q, Q (H00MISC Miscellaneouse itemsEQUIPDesc equipmentH$ e 0$t4k "  h"6,H"64 :FMVD Д:FMVn (  Q, Q(  1\AAOVALdesc oval ductDUCTDesc DuctAIRDIST Grills and Registers\  H Q H..ROUNDDesc round ductSQUAREDesc Square ductH(  Q, Q(Hy00MISC Miscellaneouse itemsEQUIPDesc equipmentH, t, L86, *caption `99 9O8 , ,p8tt ,86 L`0 "6 ,8xn0( @"6(h*def$>= count Оwherelc *tabstop ( X"6(.l13.ed1 aplname ( P@"6(dDATA ܚTLabel cx>,  u,( @"6(\D L4DTpt86 3\ *Create ,RESERVED FOR HELP,, "6 , ,(  data_HandlersIP( handlers &80 80 wherelc GWToData <*Create ..ed3 (H |d"6(` *def0SQ e u"60 d*limit (L "6( L*color $$ <*tabstop aplname (P ,@"6(( P@H@"6(  *textB > countn SIZE2nrs $P$( |<"6(X*def(d{ @"6(, \ u,( @"6 9(0  u\"60$Ъ$= *color (  t"6( aplname ( @"6(( T@"6((8 8@"6( *text" $P$(P "6( x*tabstop SIZE1n ج count *style   $2( size_HandlersS@( m x,t$Q`DXH ,86 3=00 *limit $ ..edobject$#8 5@ dcaption D [9999] (  86 L($  0$ `*Create d0 "6  , 90 ذhandlers 0*Close |:FMV (L   "6(.ed1( "69( 0:FMV 4RD f"  86 4 d*colorB D / L,d8 86D GWSize Hwherelc D -|w 86 BL@D$ ..*kwparams$ TLabel X6 F  , 86:BX, J Y, Y },9,ܭ=t=g5   L ;D L86 t: Y, , \,9L0  Y < L8604 "  L864(  Y, Y((x  Y, },9(D % Z\$`, L86D 0*caption > į D & Y d L86 ZDL ;@ Y, ,86 LL حwherelc P*wherec $  ..TextSizegs$ l*color X=  *size *Create@ D 4 86"6+, \D(  Y, Y(8.lD .  L86:  \rD$ :*margins$$ ..TextSize$4 B"  L8640  Y 8 L860 TLabelF@ D '  Z,X@, L86dD,  Zx L86,\ $*caption Pwherelc T*size D 0"6  L86 ZD   L S $ ..TextSize$,  /0, 0,>  d Q $0 GKwsMouseHnd$0 1(L ENDdesc quit=(  '\AAOVALdesc oval ductDUCTDesc DuctAIRDIST Grills and Registers\H..ROUNDDesc round ductSQUAREDesc Square ductH0/TESTING1Desc testing0(VA t Q, Qesc(( i, Q, QUIP(4esPRINTDesc print routineN4( 0 Q, Q(    } (sc l , 9Des((Se t Q, QUBS( ȼ  ش..font L ;@(H Y, ,86 LLL <  , :, : L    0 H ,86+90(  , 9(н.l1Xde cF   ,   , :: CTX,   86, Dde c%| :86 ills and RegistD sc l  3E $Դ *onMouseUpS$(H L 86 sc( *scale<@ *scale *colorze ԶTLabel *Create (gi t Q, Quse((  Q, Qz(H00MISC Miscellaneouse itemsEQUIPDesc equipmentH0FACTORSDesc FACTORStS0Xqu??NAMEDesc NAMESECTIONDesc SectionSUBSECTIONDesc SUBSECTIONX( @ Q, Q( *selfe T t*font $Դ *childrenNs$H 6(  `, ` ,, 86H,HELP Help message,\ L Z` , Z , Z@  , \,   Z ,$$L <     RL,  R` 86 , į:FMV D -@$  86 | |D Keywords $ ..*idparams$ 0#wherelc wherelc @  H*caption *caption 4 $ U U Z,"; 4D$ + R, +  86TD$  $ *caption 0  86 0$Ac et  9 $ *Hide  $ *children$`0 N  ZL , ZT ,@ Z4 , U`4 #  ,  Z4 " D +  R 86 LD$ *children$0 T 86860L 9   w,  3 + wer L,  w:8B ,4 @$  Z,"; 4 *visible @  $$ X  X H   ,<  X(  , 9p((   Z( "    $T$  ĭ   0 (P .fKws.*Create21(= x 4>   L S 0  Y @  L860    ,    L86,,  `  L86, *caption *color *font" h@ X Z8  S, ,  ,  @p P  YD , ,86 Lh0   Y, Y },0= (*Create HTLabel Զ*scale wherelc  0   Y, Y }, 0(H  , (,   L86A,0 @  Y `  L860  0(  ,  ,90,  ( L86,>@.l *caption   L S D.sc@DL 3 Z,, ,+ QD(  , 9(( @ Y, Y*@(D )  ,86 \, \,@L@D,   L86(@, , @ ` L86,0  Y x L860, @ Z L86,x= ̿*caption *size Z l  } 0T   ,.0 *color *font" (  ((,   Q, ,9(0  86 \0( < 86 ( *Create d S ZlL ,l@ Y, ,86 Ld   Y  l Z Z Z, ,T, \,+ ,  ,+ , , \,8.lн.l0 4 + .,0 $wherelc D*scale TFrame@  TLabel 0    860A  Z0 *size   =>,D *where  :font $ "6 4$ *fontn \l J$ \,,  \,,, 86Z\0  ," 00, << 86,$  "; R$ l  (  , 9(Tself(   ( .l1@ <*color *size ` N Zt@,8@ Yh, ,86 L` TLabel `scale 0   860A  Z00Ԭ  ,86+90       Y   r    } $  $  :fontܵ $rm h"6 4$$|  , 9$ *font (!  29(`.l 0*Create 4 #  , :8B 4H( 8 RP R, :,: HD 1 R R, :: D<  !"#()*< *where lR( , 86 \(D' -8@H 86 lD  wherelc (< IdsHnd ` O`t, &, &0,, 86`*  \*style $ *onMouseDown$(( wherelc $ .sc.*Create$L 9  , 86 L => 4Scroll T.lsiD (" &:86 t"6 D( .fIds.*Create( DTFrame *caption H*caption $ *onMouseUp$ ..BCV (q  & "6(( # @"6((  P"6(  Sizes *wherec ( 0"6(l> dwherelc ENTERn *caption $T *onMouseUp$( &"@"6(( ""6(T D!!|!d!x#!"6 3 &, &T H*style $ NumButtonHnd$  ..BNVc $x ..b18.Create$( '"6(=@>,== *caption $p *onMouseUp$( 0($@"6(( X%!"6(T D###|#|%x8%0#"6 3 &, &T *style $ NumButtonHnd$ $*caption  GWButton $ ..b17.Create$( $!"6(T=8>=L= Pwherelc P*style *caption $ *onMouseUp$( *H'@"6(( h'T$"6(NEXTT D0&H&&%#x'%"6 3 &, &T GWButton $ NumButtonHnd$  wherelc $  ..b16.Create$(  ,4$"6(=,>== *caption $ *onMouseUp$( ,(@"6(( )&"6(T D`(x(H((*x)'"6 3 &, &T P*style $ NumButtonHnd$ 4CLEARn  GWButton $ ..b15.Create$( d)`&"6(@=$>=8= wherelc *style *caption $ *onMouseUp$( -+@"6(( +("6(BACKT& D****(x,8*"6 3 &, &T GWButton $p NumButtonHnd$  wherelc $ ..b14.Create$( .("6(=>== *caption $d *onMouseUp$T D,,,,.x`.@,"6 3 &, &T X*style $ NumButtonHnd$(& .+"6(  GWButton SPACEn $ ..b13.Create$( 1/@"6(,>=$== *caption $@ *onMouseUp$( D01@"6(( 1<-"6((  R@."6(PLUS( /.R2($& 0"6 R$ *fontct GWButton $\ NumButtonHnd$ MINUSn wherelc =$d ..b12.Create$T D0,0/.\0x41."6 3 &, &T( 1-@"6(( -*"6(H> D*style 4(= wherelc $GWButton T D1l1T112x|0X4"6 3 &, &T *font $ NumButtonHnd$ LGWButton |>=t(.  *style L=T^ @wherelc $D NumButtonHnd$( <25"6(( 24@"6( >= *style $ NumButtonHnd$0q  4,0    & pT ` 6522dl 6x56 ,<4,"6 3 &, &p( 03P:"6(..b@$  ..b11.Create$( 23@"6(( 66@"6( $*style  D=$ ..b1.*Create$X G8<8: ,(7,@7X7P,@65"6 3X, tl7 L86,c GWButton $  *onMouseUpe$ wherelc GWButton 0TI t5k"6 ,8C0 D.Create *caption h 1  *caption *caption =H> Hwherelc ` O;|=8 ,?,|88:tn8 ,86 L`( 0:@"6(X.l1  ( @count wherelc ( :t:"6(h.ed10  :"60 *onKeyUp wres1 $ *onMouseDrag$( data_Handlers($ *onMouseUp$( 09P9"6(( t99"6( *count @*tabstop $  *onMouseUp$ aplname ( ?\8@"6(x?DATA.f12 TLabelt >(GWToData"Action"(  B0=  $ *onAction$( A;9"6(( data_Handlers(( <X="6(( data_Handlers?(( `<>"6(( data_Handlers (4 $l>"6, ,t;"64, ,;, , ,( ==@"6( @ ( TEdit"Action"@($ *onKeyPresss$=d Q>h@\l?8@@p,FC> ,86 3 d *style $0 *onKeyDown$0 Tn@ Q86 30$ :*onAction$( $?"6 (.ed2(8 size_Handlerss(( F@"6(*def, ?@E u,@>0hE i u"6i0$T$$>0 >,== handlers ( TCancelButton( wherelc ( | E"6(( lA@"6((\  SHA"6($l *datavalue$$ *suppress$0  Y/ ShD"60D .B(BxBBBlCB2D$  TComboTree$$ TEditList$, @HCD2,$ TRichEdit$ TEdit $ TComboDrive$ HTCombo (P (C F2( TCheck $ TOKButton1$$ TComboFilter$ *Create $ *suppress1$ aplname $ *aplname$( lFpJ@"6((| LVF@"6( *text~ D TButton  E"6' ( C@"6(0    YC"60 *text $xP$( JC"6(0  LF"60 class 0 XMG" P0 (TOption 0GWSize  *count    *tabstop $  , 9$ l*style ,  J"6,(|Rexec A;elx(( IJ21(&@#(  S`H,+ Su(DT +G"6  S, Q, SXD$  *:charwidth$(  S I"6((L  dG (?0$  S" S0  dI"6' $\ TComboFilter$0TP pI@IHM20 p*limit~ $ TComboDrive$ Tclass $  TEditList$$ TRichEdit1$( size_Handlersn"(, L, , ,( KK"6(( LDL"6( L countn L SIZE1nn $p *handlers$ pTEdit  C8K  $ *onAction$( TEdit"Action"(( KK"6(( size_Handlers($ *onMouseUp@$( size_Handlers@( *onKeyUp ( size_Handlers?($ *onKeyPress$( I4M"6(4 $M"6, ,K"64(GWSize"Action"((  NM@"6( TTCombot $ *onKeyDowngs$0elx'R''''0'  RC0 *style $ :*onAction$0| P` Q86 30$  ..edobject$$@$$T ..TextSize$ Twherelce  mg ,0R@PQPPRhN`TQO ,86 3   1D@6 %PcDN"6 Z/ $D(D  O"6(\.ed1$ @b"6 $ H+:*last , P@ 86,  '( size_HandlersS@(D 'l ,(T 86TD$ *tabparent$#8 5 P TEditt  xN D .R S86 ^]WQ SRDD 4handlers  *Create >= <+*where 8/caption 4N xL& eUU ,4V,VU ,Q,U ,Q,e  86 LxP =UdV,UWWTVHUU P4 ! dU, , 44q #ͷ Vo , o4$S  ַ%$ Round $si l 0$ $SquareI 7*caption 4 # , 40 VTS 0( Bh[Y"6(\DWRD lGWSize RDc@ADc@SQ@p.f@EQ>@.f1@$Hide\.f1@p.H3D( Miscellaneous(= @@MI@ OVd$@' countries$$ clipsiblings$$Ovall Zg@lf@f Xe,  g,if"6 lxDWSQ\DWOV( TObject"onMove"(D=  ]a```$[]pcccc]Z dZZddLZ`Yx\ a0aa]^ ^@^Y`^d^^^d[4\e^_ _@_VV`_____`22;   `1(ApplyStyleSheet($ Y1(L DecimalSeparator( ?orient   / $@ *orientngs$$ ``1( GetCommandLine( @`1( EnumChildWindows(rs  '( GetBitmapSize(( (,c"6( I2C(d  Y["6( !VT(@ A`b@"6(horz  k Y $" *onAction$( Wc"6( must( \b"6(| just( bDd"6(t D2C,TObject"onExitError",, b, Y, Y , d'*Create 0 dd"6Ta"60D -ta@8e\ Q86 3TipFormD 8XClassn XTextSize Redim ChStylek Children DCheck Av2Ansi Ansi2Avm wherelc wherel suffixll  inifilee ,handlers Lenabled country checke caption attachX 4apptitle Taplname tapldirne orient class Action x*Create $ WhwndOwner$$  VT_Variantt$$0 VT_Dispatch$$h& CountryIndex$$ Control2Var$ $&*scale 0 *style $  ClipSiblings$(D& pe", 9('W2C     $! *onExitError$ H+:*last $ clipsiblings$  e1(`"TObject"Action"(   T'( TObject"onExit""(    Q $H! *onDelete$ 999991 $T StyleSheet$$$ SsColumnsid$$4% SmgrHandles$ |%*onMove $X% SessionFocus$$% GetWorkArea$ %*onExit &*..scale $% FileExistar$$D& EnumFontst$$p  windowsdirt$$& resourceslor$$' installdir$ P Scroll '>,)A x,wherelc d !Newl \Hf@$h@8gffhix,h"6 l$ *tabparent$ H-*style $ :sc.*Creates$ *^ ,)=+= x( [9999] '= +l \g@4@th\hDhj,kx,i"6 l$ *tabparent$ +*tabstop $ :H3.*Creates$ ,*style +=4+=L+)>0,  86 L0, j," +9,0  Lk :86 L0`K qTj@@k l,+Z,jj [j,ٺ8,4j"6 , R, ,wherelc $ :H2.*Create$ +wherelc ' TFrame $* *tabparent$,&  a Z `  ,1 \ >3>+>("TScroll"Action"( lwherelc *Close 4 $  [, a864,] 4p a86,-*def 8* Items 1, 4x Z86, =4 $ \ [, Z864,RESERVED FOR HELP,p ]Lmtn@Py , @,t0(} oho ,86 3p(9 data_Handlers(0  ~"60$ ~"6 $ H D 4 ZD ,r, , D(  \q"6( @DTEditon *Create F&80 80 D ( Z ,\m ,, \[0D(  Rhq"6( O*Create (  `86 (K.ed24 " q"6 44(Air Distribution(4 $  R4 *where $ dataclasser$(p  86 \(T.fAD$ ?dataclassH$ t*style $0 .C.*Create$$ *dataclass$$" {"6 4$ |1  .C.*font $ .C.*where$ v1r  p1 }1,, ț `86,$P  :*toattrs$  'DX ' R s"6 Z4D(BJ W@u.R(?$ |t"6 R$ TextSize D + T :+  YD0  r"; s r00  ~,w u860,  Yx u86,  @wherelcn 0  <"6 0$2. V,r"6 $ ..*font $  , 9$ Yhandlers 4T " r r.r4,`  \p `86E,, uH}@ u86,, T~p"6 u,P Xscale \ L T~ , Q( ,hu@H"6 Y Y/.r\  t~"6 l "6 $ dataclass$D 2܂w@}{ S86 3ACD$ Tw S86$ Xscaleon $  T, 9$ XDelete $  Q, 9$ *where (D ", 9 (ZI2   T s D %t,w8,|z, S 44D$  T Y/ T $ <*caption 0  T, r0 X*font 4 !y T,  TW1.4(4  T, 93 (>.ed1   T T $ Dummy text$    0  Y 0A   0,ER C Rz u86,( }@"6((4 |p@"6(fm$ x"6 R$ X*font , L{@ u86,*, `0~"6 u,   || R $d *onAction$(  R{"6((New, , R, R,( 0 ( Q86 30 |1(GWClass'Action'(  T'(TFrame'Action'(  classOne  Action FGWToData p *scale , |, R, R ,      Q ( ", 9( Form    $  .H.*Create$  Label <Delete h<7 $ .C.*caption$$h .H.*where$ ?TextL X*scalerd $ .C.*colort$ xLabelo T*scale 4CLASS OF TAKEOFF MATERIALp@4  Frameon 4 ! 솷"6 Z4 *Create pDraw$c "6/eCl$ |?*whereSi $ :*toindices$(4  RȤ"6p(def(  "6(.ed1( D"6((New$0 dataclass$D 4@̆hp [,86 `D40defi( LTObject'Action'($  FG/Ductboard$ Xwherelc *caption Open4 " Ż`,"64Font0\$dx>A( P"6(( .l7N + "6 ( p@"6(( @"6($  *..suppressM$$ *..suppress$ ̅1 1(  p"6(4 ! X ,, 4$x  셷+ 9$ 8*..size Page *..Send Frame 8Status" 4 ! Ў"6 Z4 ?*Createa D *ph䃷 ,86 3 eGriD(Oval Dual WallS@(  GWClass $ ..TextSizegs$ *fontn wherelc ,*caption D , Z 䇷, @,0,"6D A= !=( FG/Ductboard 7NN(D &<؊H ,86 3D "*Create $ ..TextSizegs$ MATERIAL 4 ! p"6 Z4 *visible (TP o "6(.l7( 쉷"6(|Hide$$ Sheet metal$ H wherelc !*caption 4 " ZXX̉`,"64>#=$ Sheet metal $D 6*؍ ,86 3 D x%*Create $x ..TextSizegs$ p!*fontn 4 ! "6 Z4 TLabelc ( @"6(#.l6N `$wherelc $*caption D , Z p, 8,ԋ,"6D`>4&=$ Sheet metal $(  "6(.l6 TTLabelc ( "6(D &|Ԍ ,86 32D(  쐷"6(4 ! Ȑ"6 Z4 |#*Create $! ..TextSizegs$ $SHIELD TLabelc p.wherelcB $*CreateB 4 A" ZPL\`,"64(* FG/Ductboard 7( '*caption "TLabel x!=(=$ SEAM SEALING$( h "6().l5NDg *䑷( ,86 3 ril D0 |"6 Z0D , Z d, \,,,"6,D p.w/scrm &w/scrm  $L$ ..TextSizegs$ &*font- x(*caption \'wherelc 4$>*=$ SEAM SEALING$D 6*hГ ,86 3 D p.TLabel $& ..TextSizegs$ 4(*Create 4 ! ̕"6 Z4(  "6(<&.l5( t"6( )wherelc $+*caption 4 " Zt蒷`,"64t&>,=D 6*` ,86 3 D x+*Create $) ..TextSizegs$ **fontn 4 ! ("6 Z4 $$TLabelc ( ̔"6(D-.l4N$ DUCT LINING$ P,wherelc .*caption D , Z , x,,"6D(/2.0" Fiberglass((> 0=(+2.0" Fiberglass ((( ̙@"6( .l4(  "6( -TLabel $0+ ..TextSizegs$ #*font" (TE c"6(DG &` ,86 3 IxLD02.0" FG w/vaper barrior 0 P1TLabel `-*Create 02.0" FG w/vaper barrier0 0wherelc 1*caption 4 " Z̚З`,"644 ! 0왷"6 Z4+=@2=$ DUCT WRAPct$(|% "6((+.l3ND *, ,86 3 &eD0 "6 Z0(*  t"6( ,)*Create 0*order $$. ..TextSizegs$ p1*fontn D , Z 䚷, 0,d,"6 *D |1*font 07*caption 8/ .>P7=$ DUCT WRAPngs$D 6*x ,86 3 D 2wherelc $0 ..TextSizegs$ 4,TLabel ,,4 ! ৷ĝ"6 Z4(2.0" Fiberglass (($  蝷"6(t0.l3( % ܜ"6( 4wherelc H5*caption 4 " ZHL`,"640>6=D6 *  ,86 3 D 8*Create $83 ..TextSizegs$ 5*fontn ,|-10.0" High pressure,0 ("6 Z0( | "6($1.l2ND 3ܠ Z, d, ,잷,"6D 88wherelc T=*caption 2*Createe  3>9>$1TYPE(  "6(-.l2$ RD Dual Wall$( ܟ`"6(5TYPEDLH *| ,86 3 L6D4 ! 䡷"6 Z4 H.TLabelc 87 $5 ..TextSizegs$ 5TLabel :wherelc ;*caption 4 " Z̡ࣷ@`,"64p5===$ RD Dual Wall$( d"6(t5.l1ND *8X0 ,86 3 0D0 D [86 R0( D.(( $"6  ( 5wherelc L 9줷 Z,, R,,"6UL <*Create $8 ..TextSizegs$ X;*fontn 7> LC*caption 3TLabelc <TLabelc :*Create 0 "6 Z0 8*Createe $ :*ductobjse$|?\L  , @ 86,J,XB:f1.cbSection.*list,(E |""; w((L.HVJ$  , 9$,!:f1.cbSubSec.*list, E*font $; *childrenngs$ *Create \TLabel00 0  wH"60D *\ħ ,86 3 D    /` (  T"6(0  w Y,/00d  wX"60h.l1,410.0" High pressure ,(  w"6((  Qd"6(, ," YTQ,A(\  "6(D* ) ,d̮@8Ƶ ɵD   V (& H"6, 9($h  "$ *.hvj% (  , G8)(0  t,""60( t," Q((  R V ($ 0"6 w$ :CLASSn (  "6((C:f1.edName.*text(P > Y Y\:L: " / QP$  Q, 9$ :*cot L 9 Q贷:t: "  ^L, 3, , ,DL34 " w w ,~ ^4   " (  Q, 9((  @ (@oo9@   / ( ," R(0  , 80D 1  L/:8 DDUT C/ T T:8  / YV.SF D \BCLASSn   " HVACL 9 Q:4: "  wL(   80( ( 86 3(@HVAC$ H Q0L$4 !x"""; / w4@.hvj *Create0 \x I Q /` Q, Q:8  / / T\$  T, 9 $0  "૷,90    8. 9 `9 T6 |9 , @ ^,, ,L |  Q (! :*jobfilelibֶ(DD (C :*jobindices(,%:f1.cbSubSec.*value,$ :*jobfile$\ I w /` w w:8  / / Q \( |""; Q(.HVJ,X :f1.cbSection.*value,LQ (O *application(;=(  86 ((  S (,_C  U , S,DD tLD )ȴ Y86 ^]W YXDH 5$ U86 ^]W/ P, UH D F*where KJKP tF*where *where HJLQ HVACLtL2KtLtLh W [4, ], [,4Ը [,86 h dF:*SFN.f R:*SFN L ; w w :8  + / wL(C :*jobindices(XG EP [86 w w :8  / wX0  w4"6,"60$ *children$E J,Q>P >ĺ    Y X W V U:86 P( x@"6(, .cb( "6(Tlab TR N*style" X*Create tR.fDUCT A:SFN 4Rwherelc L ; wx w :8  + / wLP >xɷ    Y X W V U:86 =P(  w"6(U.ed(Msetup_Handlersv@($N *children$ X*caption $N *onKeyDown$(HLsetup_Handlersu(X E\ [86 w4 w :8  / wXP >4    Y X W V U:86 PVlabDQ=U( \Ծ@"6(, .bn8( `м"6(O>>X G`H0xؿ [,86 3 X(HLsetup_Handlers( Z*caption V*style xX*onKeyUp U=U>U=\S( ŷ@"6(, .bn7( ķ"6( Twherelc RTFrame X GD,xǷ [,86 3 X V&RENAME ^*caption X*style `Z*Create W=W>W=dU$  , 9$ K*up= Vwherelc @WGWButton xY*style a*Create (J @"6( X&SAVE AS 0 Ƿ [,"60( Ʒķ"6(anext$ *..suppresso$( ,·@"6(4 "t"6$ķ"64 $O*..where () F "6( N*..size (O  ·"6((TH lķ@"6($TH *..suppress$,TH M X , ,d  '$  ·+ 9$ *..size Status ( hķLķ2((D Ƿ\ŷ@"6(|Y.bn6,  "6,]>X Gŷ÷xŷķxƷķL÷ [,86 3 X  `*Create ( *..limitwhere(Form MDIForm (U *..limitwhere@( H`*caption XY&LOADn wherelc 0 T˷ [,@ŷ"60lfup|Ytype\T=^=lW awherelc \c LǷǷ UǷ,ŷ8ȷ0ǷxǷ [,86 3 Y\( ɷƷ"6(,dnext ZGWButton  a&EQUIP 0 ʷ [,dƷ"6z0 b*caption XGWButton pb*Create (| dʷȷ@"6(x_.bn5L].bn14`>d`=`=]x_type ewherelc X GLʷ4ʷʷ,ȷx˷ɷɷ [,86 3 X@X( $׷Xɷ"6(xfnext GWButton a&MISCn 0 D̷ [,ȷ"6z0 e*caption $XO *onMouseUp$ e*Create (o r̷|ʷ@"6(a.bn4`.bn5b=b>c=` atype (hwherelc Xc G̷x̷`̷ʷxη˷(̷ [,86 3 WX( ͷ˷"6(snexth].bn10 8ط [,8˷"6z0 f*caption GWButton Hh*Create (| 8Է̷@"6(Td.bn3c.bn4e=@e>pe=tb Tdtype(  طHͷ@"6(dlnext( ׷ط"6(dltype0  ӷ [,ͷ"60 (h&DUCTn $Ȟ Equipment$GW u ҷ1 @ з1D  ַ1 @h?down u ҷ1 6 ӷ1 6 lз1 GWButton n*Create ,  HϷ"6,Lk=$  , 9 $ @h*downe  \ H׷1X G ϷXӷPԷѷxԷηշ [,86 3 VXD  ַ1 ҷ1M ,η1 <ӷ1 (  ѷԷ"6(rlast4 $շ"6, ,з"64(GWButton"Action"(( TEdit"Action"(d l=( 2 Է׷"6(@k.bn1 HjGWButton $j fac_Handler$ r*onKeyUp fclass \kCreate 0 U׷0շ Q86 30( ط", 9(r.bn2 ,l   $m :*onAction$  h?KeyUp T\  ٷ1Y   T' W   QW $ Frame No: $l?updhj QTط [ڷ, _hڷ,d׷طٷԷ [,86 3 Urd$p^ &AIR DIST$rnext Hrwherelc s*onKeyUp ($ طٷ"6(dl&OK@ rTButtonn oAVdn e.bn3lU@p.bn5 @h*caption r*where rfloatA jGWButton r*Create $le fac_Handler$ Xn \n= TufloatA Tu*Create LeGWEdit $g fac_Handler$ vwherelc tx*onKeyUp ( ܷ"6((0 ۷T۷"6(vtypeT CLܷݷݷ4۷x`ݷ@ݷݷ [,86 3AT(o.edSubSecField( xintegerA T Cݷp߷޷x߷<޷ [,86 3T(\t .edSubSecShop{( x*Create dgGWEdit 4r>x= w $ *onKeyPress$,( , _86,$4 ,߷"6 4$(x{.edSubSecTypical(4 " \ _864, 4t _86,y=$ *onMouseDown$, | _86,, *, h޷ _86,8w> {*Create ,  _86,, ݷ _86,4T "  _864(Dz combo_HandlerS@( xcolor (v combo_Handlery( <{GWEdit lzwherelc ~*color $ *onKeyDownr$   s   4 (w combo_Handlereld( TCombo~  u |*onFocus $x fac_Handler$h] V ^,,D8pd [,86 _h dw*onExit , 0 ]86,=(t{ combo_Handlerc(,w  ]86A,w>A l~wherelcA $\x .cbSubSec$ |*onKeyUp  |*onKeyUp L~caption 4floatA ( 2 L"6(̀type$x fac_Handler$ wGWCombo (|} combo_Handlercld( 4*Create (0 SUB SECTION: eld(Ty CTxt [,86 ]tT <wherelc $x .edSecFieldC$ T*onKeyUp ( T0"6(|type=lz ( combo_Handlerion( tfloatA *Create (VSquare Dual Wall( t*Create dxGWEdit ( lt"6( 1 D 4 GWEdit~ , 2  "6,$p| fac_Handler$T C<xtL [,86 3T( p"6(type$| .edSecShop$ *onKeyUp \=0|>z  P|wherelc *typeA , CD, , ,( TForm'Action'( integerA , , , ,(  |"6 T((TObject'Action'(, 4, , ,( TEdit'Action''(    $P *onAction$(GWEdit'Action'($ *onKeyPress$,( t ^86,~> Create T CD(xp [,86 3T( .edSecTypical(( combo_Handler($ *onMouseDown$, \ ^86, = ,  ^86, >,  ^86,  , H ^86,,  ^86,=4 "  ^864(̄ combo_HandlerJ@(0 p0 Q86 30 GWEdit ( combo_Handler@@( wherelc (H  combo_Handler( TEditt @*color $ *onKeyDownr$    $ *onActionV$, ӷ, , orm,, , , &, `GWEditN: H 5 Y86 ^]W/ , Y@H( <"6. (   ^ S $ *:height $   ] s *onFocus (  "6(, , , , Hh ,PtDl Dh 4Tx @`(Hh22   /  XClass tW2C$ܜ WhwndOwner$$І VT_Variant$$ VT_Dispatch$TOVT TextSize $  StyleSheet$$ SsColumns$$TP SmgrHandles$$TM SessionFocus$ onRedim I2C$  GetWorkArea$(GetCommandLine((TO GetBitmapSize($Fo FileExist$$  EnumFonts$($EnumChildWindows((DecimalSeparator(D2Cs$ CountryIndex$$  Control2Var$$d ClipSiblings$ ChStyle Children  Check Av2Ansie (ApplyStyleSheet( Ansi2Av $p windowsdir$ xwherelci whereFor $suffix $$ resources$$  installdirdi$ inifilei handlers $enabled $country $u countries$$n clipsiblings$  check eccaption tMattach )apptitle aplname Čapldir (TObject'Action'(justmust h*where $ .cbSection$dLL 9Q`HL8H( [,86 ^d4 "  \864(4 8@"6((P. 4"6+ 9(('*:stylesheet((z "6((h3Common"onMove"( *Create: $ *onDeleteer$( TForm'Action'on(, , Y, Yz, 3  Y $y *onAction0$,Common"onExitError"@,0+ Hh Q86 30 Create 0  Q86 30, "6"6, SECTION: ܚȗA *where TX Chxh [,86 3T *caption  Fieldn  *wherec 4rd !p [86 Z4( >gw.f1.edName(( combo_Handleron@( *color wherelc H| 7 Z,("6,D"6H( L\"6(\Shop= 8TLabelze T> XTextSize 8Tca lC(x||  [,86 3T <*caption ,TLabell \*where 4 ! H [86 Z4 L*Createe 4> X*where (  "6(ShopDt . Z\ "6 ,"6D |Typical Ԝ= У.lField wherelc dTextSize P*Create 4 " \ \86=4,  @ \86,\ J   < x, <   [,86 3\,  \  \86,, =,    \86,> Typical L*caption wherelc *wherec 4.lShop  `*style $p name_Handler$$ name_Handler$$ .lTypicalame$$ >JOB NAME:$,  @ [86,d Q ( @ H l ph    [,86 \d$ *onKeyDownme$$ JOB NAME:$ *Create $ *onMouseUp$$ *tabparentOt$ Ԩ.edName D 1|x, [86D TLabeln caption  TEdit" wherelc *Create  *Create 8*caption   T 3 $x :f1.*Create$ 4 Setup) t (  "6( dTFrame   l $ :*toattrs$D *L ("6 [D P*color > wherelc ((\wself(FS,'.edSubSecShop') wi'*Create' 'GWEdit' ('wherelc' '=' '>'  32)s\< wi'*where' ((3wi'*where'),+/S[2],5)<d B1wself(FS,'.bn1') wi'*Create' 'GWButton' ('wherelc' ('>',F3) ('=',FS)  85)d$ Setup frame one$ *color (  M"6(#5 5xF3(FS,'.cbSubSec') wi'*Create' 'GWCombo' ('wherelc' ('>',F2) '='  '=') ('caption' 'SUB SECTION: ')C@x TUVWXYZ[\]^_Zw\`a% """&&&&'(),,,-./2223459999;;<=>?@ABEEEFGJJJKLOOOPQTTTUVWXYZ[\___`adddefiiijkoooopqrsuuvwxzz{|}D and select a line of takeoff to be edited.DlFH3 wi':H3.*Create' 'TFrame'('wherelc' '>'  '=' '=',4) ('*style' 1)('*tabparent' 0)llFH2 wi':H2.*Create' 'TFrame' ('wherelc' '>'  '=' '=',4) ('*style' 1)('*tabparent' 0)lxFH1 wi':H1.*Create' 'TFrame' ('wherelc' ('>',FS)  26 '>',4 0 4,-5+21) ('*style' 1) ('*tabparent' 0)x< air dist, miscellanceous and equipment<T round, square, oval, rd dual wall, sq dual wall, oval dual wallTD Each frame will have each type of takeoff dataDD a label plus edit objects for the entry takeoffD@ RD, SQ, OV, AD, MI and EQ each of which have@D H1, H2 and H3. Each subframe has six children:D@ Creates a history frame with children: frames@4 t(topFrames[i]) wi'*Open'4H:if ifread HJOB,12 cot class of takeoffHDttopFrames wi '*Close' close class framesD,topFramesFDUCT FAD FMI FEQ,4FEQ wi ('dataclass' '')40(FEQFS,'.fEQ') WI'def' def08FMI wi ('dataclass' '')80(FMIFS,'.fMI') wi'def' def0$defFAD wi'def'$<FAD wi 'dataclass' ''<(FAD wi ('*where' W)(PFAD(FS,'.fAD') WI'*Create' 'GWClass' ('*visible' 1) 'Hide'P@ Frames for AIR DIST, MISC and EQUIP classes@(WFDUCT wi '*where'(PDUCTBOX FDUCT Populate the FDUCT frame; Initalizes "ductobjs"P8 --- Duct class is the default startup8@GInitialize Initialize Greggway variables@$FDUCT WI'*style' 7$FDUCT(FS,'.fDUCT') wi'*Create' 'TFrame' ('wherelc' ('=',FS) ('>',F2F)  ('>>',FS) 0 10) 07/03/01 added 0 10 offset8 Frame to display takeoff selections8Xwi':*SFN' ((wi':*SFN'),V) Setup Field Names Combo, then factorsX@V(~/(V) ss 'lab')/V delete the labels@@V(/((V) ss '.ed'))/V FS WI'*children'@4wi':SFN' V Setup Field Names4dV(~/(V) ss 'lab')/V change Lab to lab 02/07/01 delete the labelsd@V(/(V) ss '.cb')/V FS WI'*children'@P(B1 B2 B3 B4 B5 B6 B7 B8) wi '*onKeyDown' 'setup_Handlers'PH NOTE: button may hang or repeat if MouseDown used.HP(B1 B2 B3 B4 B5 B6 B7 B8) wi '*onMouseUp' 'setup_Handlers'P$ wi'*style' 4$, wi'*caption' '&RENAME',\B8wself(FS,'.bn8') wi'*Create' 'GWButton' ('wherelc' '=' '>'  '=')\$ wi'*style' 4$0 wi'*caption' '&SAVE AS'0\B7wself(FS,'.bn7') wi'*Create' 'GWButton' ('wherelc' '=' '>'  '=')\, wi'*caption' '&LOAD',\B6wself(FS,'.bn6') wi'*Create' 'GWButton' ('wherelc' '=' '>'  '=')\( wi'up' (FS,'.bn1')(, wi'next' (FS,'.bn1'),, wi'*caption' '&EQUIP',, wi'next' (FS,'.bn5'),, wi'*caption' '&MISC',\ B4wself(FS,'.bn4') wi'*Create' 'GWButton' ('wherelc' '=' '>'  '=')\, wi'next' (FS,'.bn4'),0 wi'*caption' '&AIR DIST'0\ B3wself(FS,'.bn3') wi'*Create' 'GWButton' ('wherelc' '=' '>'  '=')\, wi'next' (FS,'.bn3'),, wi'*caption' '&DUCT',\ B2wself(FS,'.bn2') wi'*Create' 'GWButton' ('wherelc' '=' '>'  '=')\, wi'down' (FS,'.bn5'),( wi'*caption' '&OK'(0 WI'*onKeyUp' 'fac_Handler'0( wi'type' 'float'(\wself(FS,'.edSubSecField') wi'*Create' 'GWEdit' ('wherelc' '=' '>'  32)\0 WI'*onKeyUp' 'fac_Handler'0( wi'type' 'float'(0 WI'*onKeyUp' 'fac_Handler'00F3 wi'*onExit' 'combo_Handler'04F3 wi'*onFocus' 'combo_Handler'48F3 wi'*onMouseDown' 'combo_Handler'84F3 wi'*onKeyUp' 'combo_Handler'44F3 wi'*onKeyPress' 'combo_Handler'4TF3 wi'*onKeyDown' 'combo_Handler' initialize the SETUP eventsT0F3 wi'*color' (toattrs[2])00F2F WI'*onKeyUp' 'fac_Handler'0XF2F(FS,'.edSecField') wi'*Create' 'GWEdit' ('wherelc' '=' '>'  32)X0 WI'*onKeyUp' 'fac_Handler'0lwself(FS,'.edSecShop') wi'*Create' 'GWEdit' ('wherelc' '=' '>'  32) JWG-10/29/01l0 WI'*onKeyUp' 'fac_Handler'00F2 wi'*onExit' 'combo_Handler'04F2 wi'*onFocus' 'combo_Handler'48F2 wi'*onMouseDown' 'combo_Handler'84F2 wi'*onKeyUp' 'combo_Handler'44F2 wi'*onKeyPress' 'combo_Handler'4TF2 wi'*onKeyDown' 'combo_Handler' initialize the SETUP eventsT0F2 wi'*color' (toattrs[2])00F1 wi'*color' (toattrs[2])00 wi'*color' (toattrs[2])0@ wi '*caption' 'Field' must stand alone@ ),? B @FDC>d@ ? lD  C hAB ?d E?CE>A>$>>=D= =<<<dC  ;!;"\;t #\F$H;%<&: ':(:)T:H*$:+:,9-4H.P/@D$091x92$9d38h4B5-L6-7-889|-:h-;@<L<8-T=,>,?|,@D,A,\B+C+Dx7E@PFEG+H+I@J+K HL*M*NFO*PGQP*R<*SCTx U *V)ݷW)߷XP)߷Y)D߷Z(߷[(޷\Dd޷](^7_8ܷ`Dt۷ap(۷b\(cFd۷e4(ٷf(ٷg'hx@i'ڷjl'׷k<'hԷl('m7n'oַp& ͷqPG̷rGdͷs&ѷt&uP&Ϸv$&˷w%p˷xG̷y%z%ʷ{X%ȷ|,%(ɷ}Fɷ~%$Lȷ$<Ʒd$ƷLEPǷP$Eŷ$$##ŷ@C$÷#`#÷4#ԽpE #"<" p"Ȼ\""P!P! !L!! 6D  L 캷T`ȶ T | x@,XpLurt@o`0|l8llkkl@xjih,7lG7h8GXP G<7hT0ipPgeH8tGAW LR(B1 B2 B3 B4 B5 B6 B7 B8) wi '*onKeyUp' 'setup_Handlers'LHS TypicalLR cot=class of takeoff 1=DUCT 2=AIR DIST 3=MISC 4=EQUIPLxR TypicalLdS t(topFrames[1]) wi '*Open' default to FDUCT frameLS Buttons@LS Create three frames H1, H2 and H3 for the edit objectsLL4T TO DO: Create Code to allow user to scroll thru a jobfileL`wself(FS,'.edSubSecTypical') wi'*Create' 'GWEdit' ('wherelc' '=' '>'  32)%`0l[ SFS wi'TextSize' 'Field'0T<[wself(FS,'.lField') wi'*Create' 'TLabel' ('wherelc' '=' '>'  )T0 wi'*color' (toattrs[2])0Twself(FS,'.lShop') wi'*Create' 'TLabel' ('wherelc' '=' '>'  )T,[0 wi'*color' (toattrs[2])00\ wi '*caption' 'Typical'08 wi'*where' ((3wi'*where'),S[2])84p SFS wi'TextSize' 'Typical'4Xpwself(FS,'.lTypical') wi'*Create' 'TLabel' ('wherelc' '=' '>'  ,5)X4dF1 wi'*onMouseUp' 'name_Handler'4@$ JWG-10/30/01F1 wi'*onKeyUp' 'name_Handler'@D JWG-10/30/01F1 wi'*onKeyPress' 'name_Handler'D,Ф Typical Show Field labels,|F2(FS,'.cbSection') wi'*Create' 'GWCombo' ('wherelc' '>gw.f1.edName' '=' '=' '=') ('caption' 'SECTION:')|[L\0[\F1 wi'*color' (toattrs[2])\00F1 wi'*style' 4096 read only0F1(FS,'.edName') wi'*Create' 'TEdit' ('wherelc' 5 20  160 0 '>JOB NAME:') ('caption' 'JOB NAME:') JWG-10/30/01H Changed name field from combo to a label JWG-10/30/01H4F1(FS,'.cbName') wi'*Create' 'TCombo' ('wherelc' 5 20  160 0 '>JOB NAME:') ('caption' 'JOB NAME:') 07/03/01H@K GOpenJobfile called in topsetup_Handlers@0pwselfB application name0hdGTOPSETUP B;B1;B2;B3;B4;B5;FF;FMI;FS;F1;F2F;F2;F3;S;V;W;FDUCT;FAD;FEQ;B6;B7;B8;FH;WCh< Create one edit object for the job name.'<(FS wi'*tabparent' 0((\WI':*toattrs' toattrs(D Creates a top setup frame with children frames:Dܞ Field Shoppwself(FS,'.edSecTypical') wi'*Create' 'GWEdit' ('wherelc' '=' '>'  32) JWG-10/29/01/01pP when LOAD is clicked elimiate the need for a combo fieldPDFSWI':f1.*Create' 'TFrame'('*caption' 'Setup')tesDtFSC wi':sc.*Create' 'TScroll' ('wherelc' ('=',FH1) ('>',FH1) 94 21) ('*style' 0) ('*tabstop' 0)01tlA GTOPSETUP COT;B1;B2;B3;B4;B5;FF;FMI;FS;F1;F2F;F2;F3;S;V;W;FDUCT;FAD;FEQ;B6;B7;B8;FH;WCWCl< wi'*where' ((3wi'*where'),+/S[2],5)@<8FS WI ('wherelc'    '>',0 0 0 10)'8@ COT=Initial Class Of Takeoff during startup@$T wi'type' 14op$TF1 wi'*onKeyDown' 'name_Handler' initialize the SETUP eventsle'T,L Sub-section combo object,xDMH Jim- Believe the job name combo box should be changedH,, wi '*caption' 'Shop',XDM0 A=application name (i.e. gw)0( wi'type' 'integer'(,0F3 wi'color' (toattrs[2]),4 to a read only edit object.f4$ wi'type' 13op$$ wi'*style' 4p$`B5wself(FS,'.bn5') wi'*Create' 'GWButton' ('wherelc' ('>',B1) '='  '=')')`(ģ wi'type' 'integer'(@T duct, air dist, miscellaneous and equipment.@X JWG-10/30/01F1 wi'*onFocus' "GKwsOff" Turnoff keywords'"sX< Shop Field$ wi'type' 12op$t:else data.,:end$ wi'type' 10op$  Scroll bare $ wi'type' 11op$($F2F wi'type' 'float'9@(, wi'next' (FS,'.bn2'),( wi'type' 'float'(,SFS wi'TextSize' 'Shop'),` M SHH U86 u t,XLI U86 P`$  *labwidth $ p*where , M"6 vVutu,T J"6K,4J X ^, ^TJ YtJ SL V, ], S, u, t,J sKK8L U86 PD*Set *.*order *order attach *caption *where@ $ M"6 V$ X*class@ , DK"6 X^,   L ] $Ч *attach$D= 28UXUJ"6 + Z0I, lD |TLabel *fontize ܥ *Createe $ *laboffsete$$  , 9X$ TextSize 0T   s90$   Y$ *:fontn D + s U Y~L"6T SD(  YhS"6 (_lab X*where $Ч *:heightame$(*  X 69($d   ,  $, xO , ,$ *:margins$$ P"6 $  D 4O NO"6P:+ D0d xN"6 , 0$   ,  $ Selector $d *wherelc$>>@,( P"6P)  ,Ц *..class $ `P"6 $ *classL ( P"6 X( *..size *where  $  T+ 9$ *..size  PR1 U1( pR@"6((  ,Q"6=(4 ! X ,, 4 p S"6 ( `V@"6( xFrame $d *..suppress$H9E i7S u @S 3 /~" HD 2  + /pT"6 S P, , uD X ( 01234567890+($ě *caption$(+ *..Send D &T Z8T, r T, RD  *..style TextSize Status $ M , U$  , M"6 s9,& Option 8Checknc ( PT"6xU, 9(Page J U 4 TFrame~ ($  R Z, , Y($  Y+ 9$$@ *..suppress$ 8  / (   ((   ((   (  k  $$  W   W  $$ 4 '  ) ('*caption' 'SUBSECTION')L')d RFOO;wselfb  wi':*Show'  wi'*Delete' ;)8xPء T , Ԟ ` DX(xx r3 x`$ wi'.b3.*Create' 'TButton' ('wherelc' '=' '>'  ) ('*caption' 'CANCEL')`0 wi'*caption' 'QUESTION'220X wi'.b1.*onMouseUp' " 'ff'wi'*value' 1  0 0'ff' wi'*Close' "P)XP wi'.l1.*Create' 'TLabel' ('wherelc' 5 5, S) ('*caption' P)P,R'ff' wi'Wait' 'value',,WI'.b1.*onKeyDown' 'BOO',, wi'.b1.*onOpen' 'BOO',\ wi'.b1.*Create' 'TButton' ('wherelc' '>'   ) ('*caption' 'SECTION')\$ wi':b1.*Focus'$1, أ Q,86,,  Q,86, ss*Delete nD*Delete _lab_suf4 ! , W, ], v, 44$ ¸ U86ss$H 7 W  W,,,, WHl,H "6 t0 W, Methods: HH 7 `৸t ,,,, H84 # ] ], j/rn/i]40  ] ], 3 + / ]0(  ] t0 ](D ) ]~ ] ],   ]D$\ Inherits:$$\$ dMethods 4 # \ X,,+, ^40  ], \0    $ Properties$H 7 ]\tD ],,,, ]H, H"6 t0 ,4 $ ] \ ^, r, P44 $ ] \ r, ^, ]4$ Properties:$0= \", /00Ac i ] \+ r ^,, ]00  r ],+ ^00ec " ^ ],+ rAc08P  8"   4 (  , , 4(8Syntax: 'object'wi'GetAnswer'i8,  S t/ S,$ "6 ]-$ ponAction 4ABCDEFGHIJKLMNOPQRSTUVWXYZ,4(d P, , 4(@&&Get the result of the TQuestion dialog"@lQQReturns TCESC if user exited dialog by pressing Esc or hitting the Cancel buttonlD &d"6$, t, vuestion dialogD  䬸1d i"6 U:, "6  , U:,Ĭ S :,:, sض,ض ض׶  Methods Method: methods ?"(sw r, , 4(( ȷ, , 4(D$ . Y Y, : : YDH4..questiontext: character string (the question) mH   4 Th::Get or set the type property on the TQuestion Edit controlT   4 D++Get or Set the TQuestion selection propertyDL 9 U U:::~ ULD~ , Y Y,  :, 4DL433Same as the APL+Win Edit control selection propertyLD$ 1 Y Y:,: YD]D / Y  U:/ Y~D(  Y  U(40 $ Y Y , / Y4\AAGet or Set whether the input field must be a password input fieldow'\\CCtype: 'integer' or 'positiveinteger' or 'float' or 'positivefloat''\( , , 4(( P, , 4(  0 4 4$ # Y:, 44@((Syntax: 'object'wi'selection'int1 int2@@<%%Example: 'ff.ed1'wi'allowed' '0123'n"@H$ 6 Y Y:8 :+ / YH4chars: a character string4X H Y , Y:8 :/ Y9XX԰==Get or set the allowed property on the TQuestion Edit controlX$ wi'*Delete'$P55Get or Set the question text for the TQuestion object---P( ȭ, , 4(-- -} s s, : x  : :,: :, :: s] 0 PObject: ( x, , 4(( D, , 4(('S o4, , 4($  s9*$(-- -, , 4(Ds **Syntax: 'object'wi'question'questiontext oD  2 4 l Z s U:, S :, t :,:,:, 4l<$$Syntax: 'object'wi'allowed'{chars}<H4..boolean: 1=password field 0=normal edit field'EH(me ), , 4(('~ ض, , 4(] @<%%Syntax: 'object'wi'password'boolean@ ob e 4 (ob et, , 4(8̘ Syntax: 'object'wi'type'{type}8-$ p" Y$0  Y Y8+  Y0$0 tcff ---o$4 " YL Y8 Y4$ tcff ===$,ConferenceExample6, ExecD$ {"686 UL:, "6  ,, U:,0 S :,:, se( ", 9s,(New  r  yn a t1nt : 1 ecExecHelp 0   p U~, U0TQ e 1we ' 1 sclassamp nt x  2wit2 i ػ1 ctHelpExec    QS $ newclasses$  1   T'HelpHelp,  "6 Y,e' c  'rtu n  9"  TQ eT 4 $ Property: $$ TQuestion$(D ؽ86 (  $1helpT#lA($hhI Action8 ,tint1,int2: integers,(help  class38  (1$ "6 U$$N Properties$$ properties$,? pclassn PPW38   T1DIE /("6D"6, 4D$  Properties$DocDoc    t $ CharLower/$ Methods -D$ )8 ,"7 Y' /DZall@all$  "6 4$ ͸1  d͸1  'D &H"6,0"6 PD H¸1 check  ¸1  ?check   1 d 1   1 p *Delete $ ?password$ pĸĸĸĸĸŸ4ŸPŸpŸŸŸŸH͸Ÿ Ƹ ͸@Ƹ`˸ʸdƸƸʸ(ʸ\ƸƸƸǸ0ǸTǸtǸǸǸɸǸǸȸ8ȸXȸ|ȸȸȸȸɸ ɸDɸdɸɸ02$ @"6 4$ LXClass W2C$L WhwndOwner$Wait$d  VT_Variant$$L  VT_Dispatch$ VTL TextSize $  StyleSheet$$  SsColumns$$  SmgrHandles$ $ ShowDemo $D SessionFocus$ Redim9 $ GetWorkArea$$9 FileExist$$ EnumFontsrt$  DemoShow $ CountryIndex$ ChStyle Children $ CheckClose$ Check CenterOn Center LAv2Ansi Ansi2Av $ windowsdir$ Lwherelc $ sysmenu $  resources$ Lontop  $s installdir$ HinifileB " handlers "country $ countries$ check Japptitle TCapldir  ɸ1( ApplyStyleSheet($x  GetAnswer)$  Pʸ1( DecimalSeparator($ ?GetAnswer$ ʸ1( EnumChildWindows($ selectionӷ$  ˸1(  GetBitmapSize($ ?selection$cl s ˸1( GetCommandLine( question > ø1  ˸1$ ?question $L   ̸1  password   1d  x̸1 ?type  ̸1 aplname   (͸1Co m 18I2C ?aplname Show class . ͸ 4 (  TCancelButton( ,2?allowed ( ϸ@"6(D +ϸPϸ$ظ Yϸ"6=D "*onClick ( θ@"6(( θXθ"6(0TCancelButton"onClick"0 *style T0&Avbryt # &Annuler ( ϸ8ϸ86 4($ *countries$ *caption $h *deferexit$ 8!  / $ *country$(  ии86 4($TM I , 9$#,P ظ"6, Y, Y,  onClick enabled country $ countries$ check caption ,   '( DecimalSeparator( attachcd qrapptitle  aplname apldir  ٸ1(ApplyStyleSheet(O E Ӹ4ٸӸԸ$ԸPٸHԸhԸԸԸԸԸڸոٸ׸<ո`ո׸ѸPڸոոոոָ0ָPָxҸpָָָָָ׸TH8׸\׸|׸иѸ4ѸDظXѸxѸѸѸҸ<Ҹ22 XClass $dt WhwndOwnerma$$ VT_Variant$$Co VT_Dispatch$ chTextSize $ StyleSheet$$ SsColumns$$ SmgrHandles$$TE SessionFocus$ sDRedim $sD GetWorkArea$$s FileExistPro$$  EnumFontster$$ CountryIndex$$ho Control2Var$$ ClipSiblings$ ChStyle (Children Check= hAv2Ansi Ansi2Av $ windowsdirA$ wherelcA where@A suffixA $ resources$$ installdirp@$ inifile@ handlers  ٸ1(dEnumChildWindows( @ и1(  GetBitmapSize( &Cancel $ clipsiblings$0 "6lٸ"6 Y0(  Yٸ"6(  ٸ Y $, *onAction$0TCancelButton"Action"0W2ChVT$ countriesngs$ xAction $ *onActionngs$ classn" (GetCommandLineel(I2CpA1 2 D2CO (TButton h` Zwi'*:modalresult'0 indicates OK button was not clicked'hht Zwi'*:okbuttonclicked'0 indicates OK button was not clickedhhh wi'*style'2 Esc closes the form (default button)ht wi'*deferexit'1 avoid onExit to be fired when button gets focus)t( wreswi'*'rg(@ error'Unknown TCancelButton command: ',B@  :case'onClick' `:if 2nc'A' X:case'Action' <\ (c)2000 Eric Lescasse[18jul00;29aug00]O<<| A TCancelButton B -- TCancelButton class<d`(P or 'property'value(@ wi'*onClick' 'TCancelButton"onClick"'@X CC,tcnl,wi'*onAction' inherit from TButtonX Awself 8  or 'Method'argument1 ... argumentN88d0 C(wi'countries')wi'country'8  +.QTYUsStuVvW]^XrZRw\xP3 ----!----(--+--1 $y B  'property'$$Hz or 'Method') $$lz Requires: (F)c$$`| :selectwarg $$| :case'class''$`A TCancelButton B;C;D;E;F;G;H;I;J;K;L;M;N;O;P;Q;R;S;T;U;V;W;X;Y;Z;io;wselfdr`4, C'TCancelButton"Action"'4( wi'*onAction'C(ddb:select B :case'New' :else|T :caselist'apldir' 'aplname' 'apptitle' 'attach' 'caption' 'check' 'clipsiblings' 'countries' 'country' 'enabled' 'handlers' 'inifile' 'installdir' 'just' 'must' 'resources' 'suffix' 'where' 'wherelc' 'windowsdir' 'Ansi2Av' 'ApplyStyleSheet' 'Av2Ansi' 'Check' 'Children' 'ChStyle' 'ClipSiblings' 'Control2Var' 'CountryIndex' 'D2C' 'DecimalSeparator' 'EnumChildWindows' 'EnumFonts' 'FileExist' 'GetBitmapSize' 'GetCommandLine' 'GetWorkArea' 'I2C' 'Redim' 'SessionFocus' 'SmgrHandles' 'SsColumns' 'StyleSheet' 'TextSize' 'VT' 'VT_Dispatch' 'VT_Variant' 'WhwndOwner' 'W2C' 'XClass'TT0 wi'*caption'(C'&Cancel' '&Annuler' '&Avbryt') GG2dec992TT Zwi'..*Close' close parent formT :else$v A  object name$ 'hT (,߸Tݸ8Lݸp޸ݸ ݸ  ܸ, ޸  p  d`ظH޸иظ޸hظxθ۸͸\۸xθ޸θݸܸ׸ڸڸݸܸ׸Ѹ\Ҹ @͸!ݸ"$Ҹ#и$%ܸ&8ܸ'( )`ܸ*00 wres'TCancelButton'0 :end4X wselfA wi'*Create' 'TButton'4( Commonwarg( qio10 d :endth:endPL1just p1 px*Create 1country 0 lڸ Q86 320   T' NT  Qh ( 8ڸ", 9($!mustx(New(wi"*:value"2  (    allowedn 1 D &"6t,d"6 PDh U0x@(@(x"6 P]h($(($ TCancelButtonnCl((*.bnOK.onClick=(3 ,*.bnCancel.onClick,(wi"*:value"1  (H2=0  x R, S, , U+0   4 $ TOKButton,$ l<wherelcn <  / $ CountryIndex$$ Control2Var$$= ClipSiblings$ ChStyle Children Check 4Av2Ansi Ansi2Av $ windowsdir$ wherelc where suffix inifile (  Y("6(h@&OK,t "6, Y, Y, <  Y $\= *onActionV$ HonClick handlers enabled country check caption ,   '(6DecimalSeparator( attachcd qrapptitle  aplname apldir  1(ApplyStyleSheet(Q 6 <<\ 0X|ph4lTtXL ,Ll022 ckXClass $TT WhwndOwner$$ VT_VariantC$$ VT_Dispatch$ TextSize $ StyleSheet0B$$ SsColumns$$ SmgrHandlesA$$ SessionFocus$ Redim $ GetWorkArea@$(GetCommandLine@($ FileExist$$ EnumFonts?$ 1(@7EnumChildWindows( @ 1( GetBitmapSize( @attachn ( |"6(d8D2C( L@"6(8I2C( p@"6(49VT( @h"6(h@W2C$ resourcesngs$ P<*onClick $,< countriesnOK$$; installdirgs$ classn" $< clipsiblings$$= *onActionnOK$$< *:okbuttonK$ ;*style 3>Ntypehcl pU @$@dx "6 P3h ATButtont  8must =*caption *Create ,NewA ((A,t@< c  4 TEdit~   W U Bwherelc H*order Battach (? TEdit"Action"((@3*.bnOK.onClick($E clipsiblings$$ clipsiblings$ pE*fontk  *..scale , @ 5,  / ( "6+ 9((*:stylesheet((wi Ap"6((tt L"6((Common"onMove"((tt p"6( PE*onExit ,TEdit"onKeyPress",( "6((T P"6((n Common"onExit" (,$ l"6"6,0TG a"6"60(Common"onDelete"((0;TObject"Action"( @*scale $ *onKeyPress$AlL Z@l@x|"6 PBl(lA *.bnOK.Create((C((*.edQst.Create(4 # `"64 *onMove PE*..font ,Common"onExitError"@,0@ @ Q86 30 P<Action $\J *onDelete<$(49  Y"6(,6 , Y, Y6, 4 < Y $F *onAction3$IEdit`D>$ *attach$$  , 9$ A*Create H= I*order8 LTEditi $A *onExitError$ $ T s  4 4 TLabel~ E  Jattach ` P|\<@|p"6 P`((,M*.bnCancel.Create",$ *onAction$  @P Y $ *onAction$, "6, Y, Y,N>38 Jwherelc $ TOKButtonQst$,5*.bnCancel.onClick,D2C(dG  Y@"6(>justJ>( *.lQst.Create( NTLabel *: a"6" Nattach8 hN*caption CDINOPUZ[`efklmrsxyz}}~zqvmjg4L wreswi'*password'4XWT (-$7L#P%d$'@(! p#  L  $$  H  dpd)x7x$7(dD.x<5;. %P8 ;!p"0#|!$'%2&-' (@$¸)* +$¸,9-| .`$¸/012h 35445t(63\70:(8)̸9:\<;$<$= >T ?*̸@`&A6B,(C)̸DEFG HhIt%Jx3h¸K/LH-M5Nh,O,¸PXQ0)RHST%U%V\̸W7౸Xd4Y!Z2@̸[<4\(]^$/_X3`%a ˸b&cT0\d/4e2̸fg,h=ij9k#l\/m%nH˸o,Lp3൸q:lrD˸s1t u@1vD8w1x"yl8z{"|"}`1~%1ʸ`'#;lp6D1tʸ,'!:h\"|/% 6 ʸh;ĩP2䩸d9誸H6ɸ.,*<ø)$8%1Lĸ$, X8<P wres(wi'.edQst.aplname')~0<,ܟ or 'property' value'G, u :elsei  :end $l :selectwarg'$ ą :elseor $ :case'class'T$̈:else :end L :endt $ Requires: (F)$$l or 'Method's'$4io1u:end<7 $( wi'Center'$(T D2wargns(, wres'TQuestion'D,(\  :case'?question''C(,ܜ wi'*caption' ''',0 C'TQuestion"Action"'0,p wi'*border'2 16 32,( :if 1=wargn*(( :case'?password''C( Awself  :select Bo:case'New't$ :endme$$ :case'question'$$ :case'?type'] $$, :case'check' $<D error'Unknown TQuestion command: ',B<<HE (A,'.edQst')wi'*selection'Dsh<<E wi( '.edQst.check'),1wargor<<T wi'*onPaint' 'TQuestion"onPaint"'<<lK wi'*onFocus' 'TQuestion"onFocus"'<( :if 1=wargS((ԡ :if 1=warg(( :if 1=warg'((| wi'*edQst.Focus'((( wi'*onAction'C(4 wreswi'*question'4' '=' )('attach'3 2 3 2)('*order'12)t`T wres"Get or set the aplname property on the TQuestion Edit control"`d wres"Get or Set whether the input field must be a password input field" d<( or 'Method' argument1 ... argumentN)<LX wres'Get or Set the TQuestion selection property'L4 wreswi'*selection'4Ll wi'*onClick'('wi"*:value"1  ',wi'*onClick')LHP wreswres,tcnl,"varname: APL variable name"HTT7 wreswres,tcnl,"Syntax: 'object'wi'allowed'{chars}"'T4X wi'*size'((G H)140 300)044, wreswi'.edQst.type'44  wreswi'.edQst.check'44 wselfA wi'*Create' 'TForm'4(tr CommonwargC($p :case'aplname'$$B :case'allowed'$$@ :case'?aplname'$<( :caselist'apldir' 'apptitle' 'check' 'countries' 'country' 'handlers' 'inifile' 'installdir' 'ontop' 'resources' 'sysmenu' 'wherelc' 'windowsdir' 'Ansi2Av' 'ApplyStyleSheet' 'Av2Ansi' 'Center' 'CenterOn' 'Check' 'CheckClose' 'Children' 'ChStyle' 'CountryIndex' 'DemoShow' 'D2C' 'DecimalSeparator' 'EnumChildWindows' 'EnumFonts' 'FileExist' 'GetBitmapSize' 'GetCommandLine' 'GetWorkArea' 'I2C' 'Redim' 'SessionFocus' 'Show' 'ShowDemo' 'SmgrHandles' 'SsColumns' 'StyleSheet' 'TextSize' 'VT' 'VT_Dispatch' 'VT_Variant' 'Wait' 'WhwndOwner' 'W2C' 'XClass'<` ] wreswres,tcnl,"errormsg: error message displayed if expr return 1"`(: :if 1=warg'(X wres"Get or Set the question text for the TQuestion object"XXa wreswres,tcnl,"Syntax: 'object'wi'check'{expr errormsg}"XL( wi'*onClick'('wi"*:value"2  ',wi'*onClick')LXnA TQuestion B;C;D;E;F;G;H;I;J;K;L;M;N;P;Q;R;S;T;U;V;W;X;Y;Z;io;wselfXXo CC,tcnl,wi'*onAction' inherit from TFormXX$c Zwi'*.bnOK.onClick'('wi"*:value"1  ',wi'*.bnOK.onClick')_X0D wreswi'*.edQst.text'086 wi'.edQst.type'(2warg)N8 ? :end   :end \ 9 wreswres,tcnl,"boolean: 1=password field 0=normal edit field"\\h wres"Get or set the check property on the TQuestion Edit control"\Tt wreswres,tcnl,"Syntax: 'object'wi'password'boolean"CTpI wself(A,'.edQst')wi'*New' 'TEdit'('wherelc' '>' '=''>'3)('attach'1 4 3 4)('*order'1)p(y :if 1=wargue( T@ :else h :endt (,c JA,'.lQst'((c :case'?selection'((x :case'selection'(X(i wreswi'*' default processingXL wreswres,tcnl,"Syntax: 'object'wi'GetAnswer'"L$ :case'password'$ P :case'type' xW wself(A,'.bnCancel')wi'*New' 'TCancelButton'('wherelc' '>' '=' )('attach'3 2 3 2)('*order'12)x v :endZ $P :case'?check''$H> wreswres,tcnl,"chars: a character string"HX@ wreswres,tcnl,"Syntax: 'object'wi'question'questiontext"X($ :if 1=wargue(P0 wreswres,tcnl,"Syntax: 'object'wi'type'{type}"%P`4Y wres"Get or set the allowed property on the TQuestion Edit control"`| wreswres,tcnl,"expr: APL expression involving the variable and returning boolean")|$|B :case'?allowed'$lD Zwi'*.edQst.Create' 'TEdit'('wherelc' '>' '=''>'3)('attach'1 4 3 4)('*order'1)l(R :case'?GetAnswer'((- :case'GetAnswer''(`| wreswres,tcnl,"Same as the APL+Win Edit control selection property"`T4 wreswres,tcnl,"Syntax: 'object'wi'aplname'varname""TT wi'*.esc.onClick'('wi"*:value"2  ',wi'*.esc.onClick')T8t6 wi'*caption'(wi'apptitle')g)88h A TQuestion B -- TQuestion Object'8\A wres"Get or set the type property on the TQuestion Edit control"\(b D2warg (P J wi'*where'((J wi'*where')-(13H)0(-13H)0)P`Tc Zwi'*.bnCancel.onClick'('wi"*:value"2  ',wi'*.bnCancel.onClick') `H8 Z(A,'.edQst')wi'ChStyle'(1281 1[1+D=1])HD wreswres,tcnl,"Returns TCESC if user exited dialog by pressing Esc or hitting the Cancel button""L4 wi'*Draw'('Icon'((wi'installdir'),'aplwin.ico')5 5)LT wreswres,tcnl,"Example: 'ff.ed1'wi'allowed' '0123'"'T\ wreswres,tcnl,"questiontext: character string (the question)"\(R D1warg(`x wself(A,'.lQst')wi'*New' 'TLabel'('wherelc'100 5 '>')('attach'1 4 3 4)`H8 wres"Get the result of the TQuestion dialog"H@M wreswres,tcnl,"int1,int2: integers"@lP< Zwi'*.bnOK.Create' 'TOKButton'('wherelc'5 '<'  )('attach'3 2 3 2)('*order'11)l@W wres(wi'*.edQst.allowed')~0@l@ Zwi'*.lQst.Create' 'TLabel'('wherelc'100 5 '>')('attach'1 4 3 4)('*caption' '')l r :else *caption $ c(="6 4$T BBLCD=BDB W :8 ST4qabcdefghijklmnopqrstuvwxyz44$ ]:endwhile$$  U t/ U`$  debugrty  A1 Methods L 9 ] ]:,:1$ <>" P$4" # ] ],  ] S, S4D 1 S0J S:,: SD,li s S  ty',(ix ' R Z, S~ S(   94 $ S% :~ 444 # u s89pD: ]4$  u t/ u$ `]:case' 4 # u s89O: S4$% Propertiesh$ :endife H 8E|OJIK W :8 sH k:endfor $ ]:endrepeat8$$o ]:endselectB$ Po]:untile D 0 S) \3 s) \3,, t DLL>>Lm, Form4 ""6x~"64(  0"6((  z"6((* $}@"6($  ܉+ 9$ p*..size ( @"6(  '( {@"6(,  X , ,( {2($|Y *..suppress$(im r X 69(D2FormDim r* + x \, t|),  1 D$im r 9$ Y L 9 v V u t S s U Y,  "6L(  "6S(  '(T5 *..limitwhereK@(( |}"6($ "6 $ J*onMove ( 0+~2($$  u, 9s$ Check $ @~1$#<  ~1(5 *..limitwhere(>#  ~1 < T  ' ,1 <>Lb. T d1b.<> 7  1<8>>Ls 1 #< gw s  1gw>#  D1< 9  Ԉ1 1 <>Lb. T Ѐ1b.<> $@9 W@99gw#9 #99|<&9 s &99 J*onMove  Ё1=LL 1 = T$ \1$ |1> @L>99]>9 X  ă1( T2WL(>>9s >LL(L x2w.s(>L Lw s 1w>>L 1>> ($ $@2(>L $>99W>9 gw s x1gw>>  YCombo D ) s\  t, u,' HD$b. T R U, U$ G*onMove H  1(>9]>LL H*where D^ ) SȪ  t, u,'WLDB  1L Lw s 솹1w=LL $1= LY  \1]#< X  1( ؇2(=LL>L9_>LLs ,1L= Lw s 1w s 1> @># Y   '] DX )쀹$@\x2^L D$ <1R  Ȋ1Lw s 1w<>L 1<>  pStatus ܔ  Ы1Dpq - Y  t, u, 'ܔD,  1>>L @ 1<  4Hl(DxT`ؑ$؏P+̛ؔԨtT,4+l+\D,ԧtlT4Ԧ22,$  Y UjsniU,D$ /D u"78 UD, X R86, 9,  h,   $Y *..suppress$ 1   SMDIForm  `1> @D - Uહ  t, u, ' [D(`[  Y"6((  R Z, Y, Y(Z  01(\ \؎2\( $a  , 9$ *hwnd` *..where ( y2(l=LL @ y1 y1,   Y,  q /f $ l1(4cApplyStyleSheet($ 1(xcDecimalSeparator($ t1(fEnumChildWindows( ?caption , X"6 ,9,D + U u"7 PD 41(m SetWindowLong((  @"6( S*..class 0f  D1(Lf GetBitmapSizeW(tf  T1(fGetCommandLine(f   's(e GetWindowLongW((  YԒ"6(just," ؠ, Y, Y, h D Y $Є *onActionh$0h $,+ Q86 30@i  +1(TLabel"Action"er($ countries$\k K     v V u t S s U Y,,  <"6\,*:currentcontrol, 1(  쓹"6 v(=L9l  1  (P*clipsiblings"($  ClipSiblings$l>L9>#Ln  x1(n 蘹,2(<> $ GWL_STYLEo$ P1 1 Ĭ1$ܔ  u, 9$ |`*..size 0pq p"6 u+ 90 ̝1  1 ହ1r  P1> @D ) Ud  t, u,'sDsDHs  1 $ 1$>#Lim r 1( yd2}(>L  L}*where  x1#LLW  1im=LL(9 H 2(=L >LL  $=LLW>LLgw=#.:abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_0123456789 {d  |  $ CountryIndex$,{ "6 X,.4 #Х R86L ^]W4( ؚԜ2(=L ( 2}(>L   1 #L h1( D"6 P(( "69(, #< @( ࣹ2(  |eFrame  <1> @D ) Y|  t, u,'gw.sb.tTD=LL$=L , "6 R9,  p*:gaps  1 1 @D| ) S  t, u,'w.sb.tTimerD=LL  9( y", 9}(\just    $i clipsiblings$y   T'(mTObject"Action"( $   Q $ԃ clipsiblings$$ GWL_STYLEngs$, "6੹"6,0\ L"6"60 Џ*class ( H, t(8># @(  Z r R((<> @D +yġ"6   + 9Timer$D,|  R4"6,0    U"60, "6 x\w,@, "6, Y,  d u ${ Control2Var$ *self W=L gw s |1Dgw s) s쫹  t, u,'$D$  , 9$ p*wherec *scale $ *wherelc$D / Y U U,4 vVutSsUYD$$ VT_Dispatch$ *..scale $h VT_Variant$ Џ*..sizee $ WhwndOwner$ units MDIForm Xworkarea Action classl $caption h?just apldirne aplname 4apptitle xattachX caption checke Dcountry enabled ̓handlers inifilee Tsuffixll wherel ܔwherelc  Ansi2Avm dAv2Ansi Check Children 0ChStylek tRedim TextSize XClassn $  SmgrHandles$$p SsColumnsFr$ L}*..font $ *:margins$ `*fontard $, EnumFontsve$$ FileExistter$W2CdDJJ<>=#LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL9999999999 tTd$ SessionFocus$,*:currentcontrol5@,Z  @ ,< @, ##hh>> @<>L@`P ,*:currentcontrol,VTID$T GetWorkArea$0  V s,8, , t0   Y9 ?0`  v S,Э, W, u0   U9?D %  Y86, 9tion'  TT~'&'D B*selfV $  ] vVut$ *where( 0' $賹86 SsW0, @"6 ]г, 9,0  v V u tܮ"604 $` , UY4Xs E`\Ȱ("78 4X, h"6 ] , 9, *where' ((th(SPI_GETWORKAREA(,SystemParametersInfo,C workarea $9 GetWorkArean$ @*where8 (  9(D ' U Y s :8B UY+ sD( 8@"6(Y   9(X*modalresult(0  Y:86 u00   Y:86 U0$ *mustset{$4 $ , UY4H\+ 6|tӹ86D"6, SsWR(H units  Pߑ$X#$r' "6 VT$ 8:*FMV .ed1_lab T5 C"6|Ĺ"6,{0̷D$"6 V,86T :*cot00 [ ̺ ( $ :*toindices$0  0Ĺ"60  :*cot00 (| L"6, 9(4 ! " Z4(  Txй"6(0  wȹ"60,0 ," YTQ,0P  Q亹Ⱥ"600  Qh"600  Q"60(  Q8ù"6(0@ L w Y,/00D  w|"60,:f1.cbSubSec.*value,$ "6 ws$ *caption ( r "6($  Y U/ Y$    4 $Ĺ Z, ," Q4$@  Z,9 $ :*cot 0    8.0(  R .($ V Y$$  u U/ u$( @"6(0  l Y:86 s0,!:f1.cbSection.*value,( :*jobindices((| :*jobindices(H 5H Y:86 U:+ sH(*modalresult(  ( D"6, 9(   4 $ *modified$ $  P" P$$ $"6 49<$(  P, P(( 4 P, P( :end<$$:else tree( wself),first,/Ttree<(  P, P(D **:if 0=treewi"*children"  tree, wselfD(@  P, P(   /R 4 $ CheckClose$$ *aplname$$ Control2Var$Xh??treeT object -- Return family tree descending from an objectX$   Pl$( treeT wself(DD ( Ϲ, ",Ĺ"7  = = =DP7,  W r, r,C   " $ q :*jobfile$0  "!,900  ,"890   r 4 0 Ϲ W\ W, /.W0 =   W D" % \ , r, rDD % \ , r, r(D$  FindClose$  9     "69 D` 0 !ŹdŹй8 r, r"DD ) !ѹ ѹؾ8 r, rT!D     $ *:okbutton$ |0Children 2*must $ "6 Y$(  ] r, r(   W r   %9$0  $, 9$D % WDӹ W, , + W D0  Ź"740,:f1.cbSection.*list,4 !Թ\۹"7 , 040  "7Ϲ0    |0*Close ( ׹ (( :f1.edName.*text($ ù 86$ L:*cot h W_Mem ,de g !<Ź"7 !, 4$D  GlobalFreeer$(GetOpenFileName(4 !4ƹ@"6 !, !44lm o!ƹ@"6 !, !474pq s!ƹ@"6 !, !4D2C0tu w Pɹ"6 !, !0DD2C4 p !ɹ@"6 !, !T f4D2CD ' ,0ǹ, 4h*D     L ȹ1" ǹ1W2C  ǹ1$ WhwndOwner$=  ȹ1$= VT_Variant$ `ȹ1$= VT_Dispatch$4VTWait, ȹ1E ȹ1(UpdateControls(4 !ɹ@"6 !, !4D2C0|}  4ʹ"6 !, !0W2CW2C0  ʹ"6 !, !00  ʹ"6 !, !0D2C4 ! ˹@"6 !, !4DD2C4 !l˹@"6 !, !4D2C0  ˹"6 !, !0D2C0  ̹"6 !, !00D2C0  X̹"6 !, !0|D2C4 !̹@"6 !, !4D2C4 !D@"6 !, !4D2C0  p"6 !, !0@D2C4 !t@"6 !, !4D\] _) ,8͹, 4D(( ,@   4 $й"6"6 !, !4$p  , 9$ *owner $ ͹"6 4$D ) ,`ι, 4PD((    $  , 9$ 'readonly ($ 86 r(H?A0  ۹"60$ 6 , 9$  findexly 0vi i ܹ"6on0T!R1 &owner 0  ڹ"6 !, !0$t GlobalUnlock$,:f1.cbSubSec.*list,L ;     ,3 ", LCt=\D '3,, ,  R8.D  09D %\ 4"7 D0  $Pչ ,hչ.0D * ۹ӹ"7   ,D4 "  , , , , 4  | ! D *  (ӹ "@,ܹ"7 PD(  = ", (hEp\B $subsecnoB SUBSEC$ @ Subsection  AA, SECR ȿ:if secno>AR  secnoA SECR P:if 0=wself' d> MISC R= quanity description item (material cost) shop field (other cost)dLo kmr qq%%!q%%%'*+qq./11qq56789:;<=>?ABqDqqqqqqKLMPQqqTUWWqZ[\]^_`abcdfgqijqqqqqqqFI/*DAUPjf   CC, FACs' :if facno>Cs' 4facnoC FACR x BB, SUBSEC @e ALL OTHER: (i.e. AIR DIST, MISC, EQUP)t@d4 10/19/01 Note: Class numbers to be changed to 100, 200, ... etc.67d' Factorsn@' :endFACF1 F2P============================================================Pl t(LN (GJobindices) (wi':*cot') (wi':*toindices') R) fappend HJOB 08/29/01)EHlPl funtie fnums,xfnums release all files 08/30/01P(̠A B C freplace HJOB,9(Hq Takeoff dat filing order: 5 element nested array...H(3Rsecno subsecno facno(XpW ((duct class) (material) (duct type) (duct wrap) (duct lining)] 0Xhh DSIZE GParseData R D = [sizeqty] [size] [implied count] item [count] ...hD`9 File resulting data in the component followingDD9 U(fm,'.fHistory.scHistory') wi 'value'DDܧ === End of the takeoff data Input routine =======DLXb Note: The validity of R must be checked before callinggLX T(wi':*cot'),wi':*toindices' 09/08/01 current indicesX<[ 3 GPutFactors 1 100 100 1 100 100 Mis-match. set defaults jobindices for section CA ShnrU  XRw)))))))))))))))))))))))))))*---00088888888;<P>?@PPDEPHIPKLMPPPRRUUUV[[[[[\]fffffffffghllllmX ?;FDLHdss |b)( <* (-(-D'  / @! 8 8 Llp\\#l(!Č ! "'#"$`%ں&"'/(),*@+#,-.$/"0<ߺ1H#2.344#56&78|'9l-:;;)<=d>*>Tۺ?|@'AB)B`C*DtE)ExF+GH,H+I*Jl KhL@)MN OPQR S)T#Ul"V W`XhںY Z [\ ]^D_` abc&d e"fX g(d 2 GPutFactors 1 100 100 1 100 100 Mis-match. set defaults jobindices for section[{b)P-4\T-(!!   ! x! <`4!4X@ !"# $%&'(x)!3READJOBFILE(6C,C must be a vector(TZ HRDJOB 9 (sections) (subsecions) (factors)Td  x0(}(A B C)fread HJOB,9(T} Note: Job indices reference data stored it jobfile component 9TK4 Currently displayed parameters '4' SectionLȃ XXXf History onChange event has been suppressed[L(l Job parameter on file(d<L t D fappend HJOB file sorted and accumulated dataL4 {secno subsecno facno}GJobsetup4@ (section subsection (typical shop field) @Lx : Y :, " : P6L@4 and accumulate total count for each item.@:endH8 Note: History to be not implimented JWG-10/31/01H=2X P(1+LN) GFmtPrompt T Line number for new takeoff datanXDV(/NV SS '.edS')/NV Factor edit objectsDD9 Append new checked takeoff input to the jobfile D`G 3. CLASS OF TAKEOFF: - 1-duct 2-air distribution 3-miscellaneous 4-equipment`HdN AIR DIST R= size [size] item [count] item [count]H:endH (EdObjects) wi '*text' '' 09/01/01HXB SQUARE R= size size [implied count] item [count] item [count]Xx:endrnH$ wi'..*edobject' (EdObjects) 08/30/01H8[ 2. Jobsetup: 3 element nested arrayN8Tx C "H Y Y/ YST}RDJOBFILE90 : K(2G) I,J0@ t  fappend HJOB for extensions@<4x Only execute when called by GFileData''<c~b)#ZԦ%SP $ t @% $ ((&hc /H%X_d X,h|& l)!H"H# $D%&H&'(h%)$*>+c,%-$.`/Q/$041|2Q3%456 78%8p$94:D};%<=Q>`g?p@4A$B@ C $DH$E*F(Gp&+H܆IRJK LMNOcPaQ(RnShSTTUVWfXlY(/Z[*[|\t]^_< `ںabcd4'e5f$g)hi j\'k(0l @F2(1 100 100(fi(V[3+3])wi '.*text'))@0X IK/K 0===---P>d>6:>4:>6:0SUBSECwi':f1.cbSubSec.*text'0l:endH8  Rev 08/30/01 of objects 3.6 Release 28(TNVwi':f1.*children'(-0KFKKK KP^O $ReadJobFileData lReadJobfileData H\ (cot) Class of takeoff; (toc) Type of takeoffHH 09/01/01 is cksize used in the revised system??H8< File sections ,subsections , factors8$0YF8] 4. TAKEOFF INDICES: (i.e. toindices8 `GSecSubSection 8Y display new line number in prompt8_ df :else (^ :end9(($ :end ($ II/I secno$(^ :else ([ 8Awi'*text' $a D'SubSection't$,h I(1H) A ,(b:if 1wself ss'Sub'((L :if 0=( A)B($_ :else$ :orif 0=A~' ' $d# :return$0Hs K(2G) I,J0 xa D'Section' (,a :select 1warg( e :endselect 4`j the raw input data filed above./4(i GWSize'Shade'(f :if R=1,f (shield) (sealing),(f :else (  f :return $f:if 1=wi':*cot'er$P- {not implimented} or insert existing (edited) takeoff datalWP(i:elseif 2=wi':*cot'(TwGFileData R;factors;sections;subsections;D;FOS;LN;LPI;P;SIZE;T;VT,c DUCT: toindices...,$g5`1pv84Oz ,[<uTZlGj kThJL8p,LixJ8he DXl9(d l'|p\H 4  edPrP_<(8xPпMh d4 @,@pI< (T$y/x\dP-<}&Dbs|dL47~86d0oNtLH4,hm7V$3d#tL`LThH<800ȿKQldz|`H|o4<   x` Hw4  CP 4Ct{EfXx| <Й$ܾt\?$H 4 0m24x ",H`L>(TMP8.)|dPp\4HL4  MYIZl^`U? ,,x/MOptB<vXԀ6$e} 8(8L-8F$p `DrmdEy|EvkiX@1(cqalNT@7(uR9`r|fPx3l,']L+'\P"t|4`p&l/G[s\?tH,wjT%'ltD\VT:@,P(_(o]0 ?'()*+,pE8WT,`9<%I .($/^aT@,AjY|d_T#H,Zx.8mH|&dJL\4violP2< ( lQt`HV, KsW6T|{hFTH<M(zwy]cf0HLߴ|hP8C=d;~phX@(OPpKX<  BgU|d[Lb8 - xxH\H4  @tLHSX@D87LTk$@,ܿȿ^xdP<l|(  4Ժ`H(ԻrXHPQܽԼ ph0tp\X@N(Gd H,ķXp%P/Tn<' +p9ĵh;4}<<lq D?(MAX5l صP,$F8PTV-ԶR̸]عE_(40 \hNLaQ<DPdRԴx"o$X̳2Jfp̾xX<@ħU|6H`*0ܦZGpx\D,ȥ|hT@(Фl48r j˿أ($Ht^dBx`H~0P0H\p+Ƞ,l%XD=0CП|[hT<'<. $= ܞĞ|T3d5LF >4$z/Н x9p6<OX1UT ̜3#2\@(?7ț^N()k`8SLX4?;Ԛ0P`l[Jn|4̙wd,0Lu4!ؘlĘQeE"tȡ|`@ ($:̗|ycpY\I]@9Жf-xm< @*t({PdDĕMGxH@\3,pԔ`!r,VdԠHz)ГKA|hT~8 |\CВ< }nԑkpv8^"T,А$ĕ@t,NjhPR4|: CԎLؕ L`W8o$_qaԏ$pH ,h4Z(Ѝ@X8L$p\s\@(TЌ@#Oh,@TȋF d08H Ċ $&t*`iL8L#ԉBpX -0.D܈Ĉ0&,\ 6|M<Fȇ'|/\߾HH 43$PBІJ|k`H?t(Pm&x8ą;؅1U|9XP4Z ؄d+xH$ KX`D>07%jԃa!tT2um4y"{{_tnTy(ԀRuty),{bz@Hu|A{g$|!T4cx{tz|||ԁM,}}(Sd|~~D|l|h~htqluN}\\v8vvv wx0wExixW@z}dxxpwV~d\~}|~vy5z@x|vwwwb}t4~oww:8~}L}^Tuvytz{yPu(ulz0xu tftTDtx`L{zԂtyvLy4 xT0drPr0ryrqsssslsTs8RlN}NN3hNLNNi4NNDMMMolMdAL0x71 l<xhXlKD00  1(2lU5FtD@OU.< 0|!&#dQL;  X)DX($@<%tt"9,hU0q8\ ~X;8_C7/@-<ttHb0 ]h'g^hwd#e8SdI =mxR WH+`4k`  pYXd$HHdohEd|LHvdlP((dx@x;|G4+ T9Td@ts,t37Cж0.?Xkrt`90vtxp0rZTnhfsHdgg  6$Di|}rtFhĴM |B}\ `0xh Գ4JlDye[[@M8D[4؟90h.~H"i!{HpۺVL"c,"lX`4da`33333+Dfb8xxTlt~PDebugTrace[7] GMarkID[4] NonEditKeyPress[290]GDataKeyPress[16] l@\$aY=\0c@atgH]$ȷXI@0ttgc|=0dDwVxFcc|=ddg`a[(aI(c=|U,HdK`adhw(aI(c=|U,<HdbugTaK] h$| gw.fSQ.b17$Ls  !"#$%&'()*+,-./0123LdlԛķdW`O޷ YWܷ d,d:|UhJdhбWܷ d,dh p!c 0 {}_3`Y,0 \Button [%%`abcTt 4~RdJobfileData h v])DЦt T$\0 h(ZRdJobfileData NO;C;G (PL\ PYtcnLTIEJOBFILE$ StyleSheett$ H*where $I2CNh+C((C)1 0 0 0)/C1501fsize jobfile[2] compnents with user's takeoff datah\. NO: 1=Line number 2=jobindices 3=class 4=toindices 5=user's takeoff data\T (LNjobindicesclasstoindicestakeoff data)RdJobfileData NOes TP|1ZNOFREAD jobfile[2],C Nested vector of jobindices P bBwi'*list' lA(  , 9($`Y   , 9$D % R R,+  f fD(   Rf(   +9 $0*  , 9$ `Y  "9   /i *text $ *selections$(  R診"6(x5  e0  R,"60$M ĩ $l `2$d  L" =$(py  R86 L(|r  Ȭ1( ($b L H$    $  I$ 0i*text j     L"9 L[  M"9 $  H 9e$ d*text 0$  R86 M0$Hg  M" a$$  I 9=$ f  r Lq$   ,9=$ О   SQUARE ,$D 8ں $ *SIZE1 +aplname ( $"69(M 1 M (  (  论, 9(  Ȯ/|   R D"SQUARE Dk *  R, R"6aD\\`$Xh ..*edobject$ 8hShadeg i    3 (?  ֺ, 9((Ԃ HϺ"6, 9(C,  Y\ R86J,( ú"6 V( Z:*cotn D )ȱ R86 ͺ: 3PCD(on "6 V R($ "6 V$ DE:*FMV (8 ௺"6, 9=(DTE i%8"6ز"6,{0 R" TObject"ActioDD -"6"6,{0챺"6D 4*Focus (  3/ Y(   ú9 $$| *kwparams $,J..ed1_lab.*caption@, Ԃ:*cot $xc :*toindices$(].lDesc.*caption(T cA ,   ij  :, R s:86 cT \:*cot $F  w, 9$ @F   D ' ^ ] W  VjsniFniD `    $gw f䳺 , 9$ `I*where $ V R$$  R Z Z $$o mh x, 9Aet$$r  \, 9H$,elxelx  skip,,  V ^]W,D % R s:86 D     ,  Z V x\w, *where 4Function called by BEEP:..4 d2 "1 (r   UY( cShadei $ m *childrenD.b$, ๺ V 86, " X/|  V  $ *attachJ$(4J |"6 PJ(,  U Yؽ"6>,T B s s:86 :~   tT\ K s:86 Z:+ R R/ R, 9\( 8"69($m x"6 s$ \*:gaps (  s r6 9(0 "6 s+ 90 \*size T ] B s  s:86 :~   ST0  t S, u u/ 0(\ @"7( $lSelector c*Show $ *hcentermer$4" $bDa,bܵ4( 컺"(   V $ m MessageBeep$$   w/$ l*Close 4 " :86  w4D|d /@ V  ~:86 D( ں"6, 9(He( 躺 86 L(c?0 l N86 R=04r $ R 8, 94$  *children$ l:*opened (  R+, 9(l, X"6 R~ Rz, aClose 4 D#  R:86 ؼz4D0 % R R:86 / Rz 4D *opened k*size :*FMV $l*visible k*class a..*self NewClass $ "6 R$ \:*cot  x/| $xc :*toindices$$^ *vcenterCT$($n ú"6, 9(D 3 R, Y:8  / 3.D$ ..*edobject$( v "6(0S  $º R:86 Y0qEditH--*** gwsys is not set for the HVAC system *** @H ROUNDr 0 0 8 *color X KeyDown |*text D 3ɺ@ :86 `ĺD SRoundT S:*cot hT*OpenV T*class 8 ..self T*class ,re 2 Nº"6 9a,(ba r@"6(th(xYDual Wall Round ((DDual Wall Square((:8 R,:  H(  R,, 4( lֺ"6 RD($x  9$ EQUIPpic 0  Ӻ"6dͺ  >0,    ^ou,(\ Һ"6ͺ, 9(LOVAL d :*cot= tQTY \aplname $| ..*kwparams$("   .R($" غ"6 R$ *textn $ d պ, 9$$_ ..*edobject$$ ..*kwparams$(  +, 9 ( P*text = $|? ..*kwparams$    r ,t..*fKws.*children,, Ӻ"6غ ,D 3 , Hպ R86cD$c  Rc$  *color , f .f,4 $ R ,,xٺ"640  R ,/`pӺ"60B D 4ٺ`ٺ, , r<ۺPں, ,.rD \*textn $  , 9$(  , r R (L f; :~  ~,, + L$  + 9$(  ,9(\AL 0SIZE137 Dp (  :8    D(m  R ,/: r9( P aplname (  Ӻ"6(   r 0  RDԺ"6p׺T0$T ..*kwparams$| SIZE2 M  4 4 #غ"6 غ׺94@$ *selection$$  + 9$ܙ *caption wherelce l:*cot1? g``4 wi '..ed1_lab.*caption' Pp4(c :if I((d toindices=0no((0 ٺ"6ۺ((wi'*caption'=(TRs R2Rd T((T wi '*style')<4096)/T Delete read only edit object JWG-10/30/01Pdlh[)0HH     ߺ @t`X``$< .!"ߺ#$%|&d'()P*+|,-./01234H5$6lۺ7p8؈9:; <=>? @8AhBߺC\DpEXFGHIJ`KL,M4NOߺPQ$R l\X wi':cksize' ((0 0 0) 0) Clear size check flag. Called by TOInput.\   :endQ :case 'KeyUp' $  wi'*text' Tmer$ :case'KeyPress' $ :endmer$  #'case KeyPress' $@#:case 'MouseDown'er$  wres0 Q $ :return$D I((I=0)/T),I JWG-10/30/011DD I1+T wself JWG-10/30/01 DD BEEP wi'..*Close' 07/05/01MD H:case 'KeyDown' $h :elseer$ :select wevent $  :endmer$D V('gw.f1' wi'*children') wi '*class' DD| Allow windows default action to handle characterUD l! :endQ @combo_Handlert ! :else 'case Keyup'Q $GInfo 'MouseDown 'r$X JWG-10/30/01 TT,T(V( 'Combo'), 'Edit')/'gw.f1' wi'*children'] 0X:endselect$  GSecSubSectionr$(wres2 reset hold(T 0 0wcall 'SendMessage' (wi'hwnd') 'CB_ShowDropDown' 1 0ngT,p (T[I]) wi'*Focus',x:end  wres0   wi'*Focus'  FOOQ p:return :if 13=wargQ $ Twi'*text'mer$Dļ GErrorMsg' Need Tab key handler'DX ROUND R= size [implied count] item [count] item [count]X\ GWScrollOne LAST write last line of takeoff to the history area\\XRGJobindices;end;facno;if;secno;subsecno;A;B;C;FAC;F1;F2;NV;SEC;SUBSEC;V \xDZ C((C)1 0 0 0)/C1501fsize jobfile[2] compnents with user's takeoff dataxH T(V( 'Combo'), 'Edit')/'gw.f1'wi'*children'Hx C((C)1 0 0 0)/C1501fsize jobfile[2] compnents with user's takeoff dataindxTD HRDJOB 9 (sections) (subsecions) (factors)TD@$ I((I>I)/1),I JWG-10/30/01D0 GInfo 'KeyUp {Esc and Tab}'80( AV character codes.(4':case KeyPress' ('warg=' warg)4(P wi':*ERR' 0( H 'case KeyDown' $8 :endmer$D I1+T wself JWG-10/30/01D\ SUVRw5TT TTTTTTTTTT%'*TT-TT01334667:::<>D@ADDDTTTTTTTTNOPQRTTT'-*D<ST( SOUNDe( :return4| 'Shift+Tab 15 1 1 0 0 1 9'4(( :if warg[7]27 9(4| :if 0=(wi'*text')~' '4LLq Called on and Enter key exit from an takeoff data editwLt̾ 2 GPutFactors 1 100 100 1 100 100 install default factors in Sec and Sub sectionst<lF1(1 100 100(fi(V[3])wi '.*text'))1<@ LNGNLN Next takeoff line number 1@Pp=============================================================P$xi SIZER C$<Lg 3 GPutFactors KH<,combo_Handlert;I;T;V;WARG,aWdff@<ԅ wres2 suppress default action'<xs@ ( 1 2 (------- 3 -------)a@(H 6 7(L8 Open and install in GWEdit before Action after debuggingL(r :if 0=( A)Bor(du :else4G append two empty componendts4 HP<8m New Section: Set Default factorso<, UCSTOPd$d :elseer$8d:if /33 34=1warg PageUp PageDown8 @GSecSubSectionC <$k t  fappend HJOB reserved1<<o :if 51=1fsize jobfile[2]<0h 'TAB=15 1 0 0 0 1 9'0( :return(P$ Upper/lower case plus '.' av[io+8 32,46,(47+10),(64+26)]1P$@8l1 wi'*style' 0 left adjust text8(H :if 27=1warg((Ћ 'WARG=' WARG (:return(P :if 9=warg[7](@t Tab key handler for the Setup area'@<p 3 GPutFactors KH<<to K1G[I] facno <0 wi'*selection' ((T),0)00 wi'*text' ''08| :if warg[3] ShiftTab 8P2 XXX U[2]LN  (fm,'.fHistory.scHistory') wi 'value' UP<q :if 51=1fsize jobfile[2])/C<<g K1G[I] facno <L FOS50 jobfile offset to 1st data component 8/11/99LД:end1HO 1-Line number 2-Jobsetup 3-cot 4-toindices 5-dataH8 wres2 block default action84===============================4 :else@` Some virtual key codes and not valid for AV@(,H II/I subsecno ((] :end C (<l File raw takeoff data with parameters<0 IK/K 250s fassers R2R0n R1Rs Ks] K P:end8ȍ SOUND wi'..*Close'8(! :returnj 09/04/01(TObject"Action"(i :end$t borderstyle"$\CommandP)DX  |   H\l  4 (H0G Reads data from GWSDOC FILE0lHHHH9G0   ," P0,L   8.,K?(M  9(LM P M si$  , 9 CN$   4" GWSDOC <ܕ (result)RDDOC (component number or '?')<(\ Created JWG-10/30/01((7:if jobfile[2]xfnums(FUNTIE tn RDDOC 4|ZRDJOB CNO4tW (jobfile) xftie jobfile[2]4 fall thru@KOO  SEL= @ , D + 9,  $H  $$   r $(  r, 9$$em lT"6 4 $\  \1@*D &  , , )ַD  D 4 $ ..*idparams$ *textb p2!" $| *selection$$X "6 $4 !   "6޸4$ *selection$$ "6 $ *texta$ D %  +   L D 8class ( <, 9(  (!"&((8(H X r, 9(D +"6 ~ 9D X*texta %   r *textb $ ..*idparams$N G9 $  $ ..*idparams$$ a"6  $ \*textb \*texta $ ..*idparams$4N !"6, 940h,0$~ "6 $ \*SELs .H 7"6, l"6, ,9H$ 4"6 $  D *\"6 X <: D(M  "6($T  '$ *text  2 85  r  1 2M 1= h1l  $1l  1(@Xkm($l  <2 2   (M  3(D *"6 X 4: D4 !   "6F4,  R + , w,`#<'$0 *selection$0  R,"60(  R@ "6(ID(,;  R+ w(D| ) w w,+ RѸPϸD aplname $|  R0S9$ e ,  , w, R, *textu D -  ,  ,.D0   , 90$T  r+ 9$ prShade SIZE1   /| (_   , 9((  , 9g($W ..*edobject$ LShade D * "6  + 9θ7D(   , 9((   , 9(   r naplname (fR . , 9((   "6($f    + 9$ Dy*text (" 4  86 D(      r $  R ,"9$,j h "6", 9,D w/  ,  , eD u*textn ([  t"6c(  n 4 hh*textnn   /| *text ( |/:df(,  9,.D + ,  ,,9DD %"6 + 9@ʸԥD g  , 9 ( "6,9((  "6, 9(( ("6, 9(8HQTY$  /, 9$ WSIZE2 (И(,M  49,$ c '$  (  ~ c( $  R ,"+ 9$T  LG@ T  4   4/| LQTY =g .| R  1 2   4 $ "6 $ uaplname u*text7 ,M  T, 9,@ SIZE1w Shade H  $ ..*edobject${gw f e0 l2D ,t,, (Ļ,,2,D8  x1 rs 4 4 ( » , 9($  B,9$   +9f $$(4  "6(D % R R,+  b.tTD$ H"6 $ &*color $ ..edobject$$& ..*kwparams$DG 3"6 :  , 9DD %  ,+   g D(p  X w(p:if '?'=CNO(  w .X#4V(%   (x..fKws.*children(, ๻"6", 9.l,,   R, V, $4   , 9$$ ? "+ 9$$> MouseDown$$ G  , 9i$ (MouseUp $ .w$ - ( ǻ"6A, 9((  X"6((  "6(( @"6(0  ,"60$ ("6 $ }*SEL\ D c&  , , RlcTcD(.    f(?  }*text7 $} *selection $(й    }(    4 $ *selection$$q ..*idparams$ ( C  N, (h  1L! H 7  :8 :  H(  +, 9($  , 9$ D*text n_jfound$$  , R$$  , 9$$  R0S9$0  R,p"600:else$  *selection$ hK*text@@ (  R"6(   R 9 $T   , 9$ hKaplname $D  9q$ hK*textn ,D  , / ,P  eD ) R R,+ RD(c  "6\J9($0 *selection$$   , 9$:end 9(  Rd"6(0  R,8"60( %"6D , 9(,\Z  X+9,ė    r $  .X$ w*visible $v ..*kwparams$H k7  :8 :  0H(N  , R(L ; :~  ~,, + Z L(s  Z ,9 ((..fIds.sc.*value((@..lDesc.*caption(D ,t#"6L :  9D4 $  ,/` , 4$  , R$(p  + ($  /i rp$0q  R,$"60(  R'"6($px ..*idparams$4 !  , + 940s  Z ,.0 =   $܆ ..*kwparams$  (Hk..fIds.*children($ L&"6 X$  *color $\ *selection$$  , 9$ :*cot 0lz $"6+900 &"6 0D ,  ,, + D4 $  ,  7, 94$pt ..*idparams$ "  +  $h ..*idparams$(  7 .(    $h ..*idparams$(f   .X ((  X&"6(   r $v ..*idparams$$  $ |]*caption Pt*text D , , ' 86D, \$"6 ,$  9$H 8 , , $ 86H4< $  , / ""64  | 8 $v ..*idparams$$ )"6 X$$  .X$,   ,, ,0h  XL'"6 *0,M   , / 7,(f   .X (H f7 , , +   86H( [ R, 9 ( X  r *color $ +"6 X$,(  X+9,(   , R, R(   R $p *selection$  -"6 $p ..*kwparams$4 ! R,,/"644 ! R,,+"640 c *"60(  R/"6c((\  , 9(  D .  , , !"6! dD$  "6 X$ *visible $4 |1"6 X$ X*Focus 4 $  , /6"64H 8 , , L0 86HH 7 , , + X- 86H$  9$D , , 4 86  D0  X4"6@/0(   .X(ȵ$  .Xe$ T*text67 $ 46"+9ds$ Ȼ*SEL D .  , , T5"6|5  D$  .X$ $*color $ 81"6 X$(@  7 .(4" $  ,  7, 94,   ,, ,   +  $ ..*idparams$  | 8 $| ..*idparams$,   , / 7,D 2  , w, ,.D4 $  , w,94,1  R w+ , w,,  Z , w,9,$  w, 9$$  V.w$(RD fd4 V.w(( 3 w V($l  R"9$( (7"6, 9(LF0   w $ ..*idparams$$(  5 9$4 $  P6, , 94,  RH9,Xи "   $| ..*idparams$$  $ *caption (6  X3"6((   .Xcl((`..fIds.sc.*value(LFL ; :~  ~,, + ZL4 #T"6 R R,  R4LA`LL 9  H7"6 1,, T, rL($..lDesc.*caption(   /S9& , K"6 , :*cot ,TextSize (  3(  L1(ApplyStyleSheet( 'Children < apptitle $ countries$ 7TextSize 40# $ ,/` "94 <1 8 caption $ clipsiblings$,T+ControlFromAplname, DemoShow 0T  , 3,90$ XI1 l*where $ commonform$ G1 country $( windowsdir$$T  , R$ J1,  K9,f  71 Bcheckn $ resources$ 9 ?1D % R R,+ ,D attach l*text  71$  *selection$D + t;"6C"6 1oeBD E1$  R0S9$ <*text@@ $X  installdir$`  H>1  enabled $D CheckClose$ 8=1 0#suffix $F Control2Var$ B1( A1 T;1 xI1( EnumChildWindows(f  I1 0ontopn $P ClipSiblings$ =1M 71$ <9$ phandlers  !  C1(- GetBitmapSize!( ?1(-GetCommandLine( Esysmenu 0  ,B"60=  81 XM1 SChStyle $@A SessionFocus$4D $  ,  "94 N1$9 *selection$gw s F1(  , 9(f  TG1 Saplname $0' GetWorkArea$im r @1 Scalei $B SsColumns7$( A"6M+ 9(D2C D1(f 9C2 (ansi  $84 SmgrHandles$  E1(DecimalSeparator( '*text $2 GetAplNames$ ( TextSize  0A1  :1 H?1 ShowDemo D & ,,@"6D TextSize $7 SetAplNames$  xB1 common $J StyleSheet$ A1 881(h MS Sans Serif( Fwheren $e CountryIndex$4 ! s U U,@M U4 wherelc  \D1Hgw s81 UCenter $lf DateCheck$   t 4  $dI EnumFonts$[  91 |D1 1  :1  =1  E1 ( ?Textize  xE1 DIAnsi2Av ܅  p?1   /6 $  ..*idparams$ :1hjusthI2C 81<Font1DATA4mustLA@   "9 0     ,L \Q"6, g Q/| Show($ O"6, 9(,  5 5,  w, @:*cot $`  V.w$,H  X,S S86,$0 .w $$<# 4Q"6 R$ *class T-*color Dw f& O R86D(`  w .X(0gw f O R:86 Y0(g (W S86 X(DRD f& RZ Y / Rt;D Shade  (l..fKws.*children($ ..*edobject$(T_ :if I(($ :return(D 1 Y ,, w w,   PD$  V  $(8  V V/ V(   73 7 ( Process SubSection (0   w T, R00   ]  70$  "; w$$ ..*kwparams$   5+9 0   ], ]V ],  50D (W ]  /.]ZD$  T R Q$,5  T, )+ w ,D@A C+ V 7, V 7, YopqrstuvwDD + w, w:+ VD$  V 7 7$$  w, 9$D= - s s Z, w w/.] *D$  5"= T$DD ' 5 5  : 5t d DD > 4 Y Q"; Q Q, :8B \Y$, ]D0d   ]  V0$  V  $,ti n Y"; " Y,,  s s, )/ s,,  s Z, Z,̋(  ] Z(03$P  ..*kwparams$4 ! T R, YSE4( Y V.](,  w w+ ., 1E(  w W (0d  s s, + s0(  w", 9(P LF $  6 w s$,P  6 w+  w+  ],08  ] ], 3 60,  ] ], ],(  5lX, 5( ?(  ], ](0  5" w w+ / V0,  5 5,   ], ,HFILE takoff data=e, K*textr &*mode T-Labeln   R $?  r9$   R R $O  r9$DX 4] R:86  /  rD   $ r r, 9$ R*text| R*text T   'D )`"6 Xl   wD\)  T_2D & R R " +  / T8.sb.tTD$ fb"6'$ @ g r $  w9 $ @*text DTW '^"6+ +9nf $VD  w9(  X,Z,/-(HL$ < r,a r,Xo,, XLHL--*** gwsys is not set for the HVAC system *** ?H0 ["6~, 90$tW ..*kwparams$($  r/dLt(M 1Xic :return  K r<> $K$$> ] I H$0  _1( T [d>(]HVAC0f  ^ _+ /" f00im r   8.0  @o P \  R $0 ..*idparams$, b_ Hϸ,l>$) :return$$n  '$ bROUND (  R r(  da  4 #c"6 R R,  R4l$ :*cot   L"9 L&  H Z9 L   T'0  R,f"60(<  Re"6(0  L~|+ T90 g1  c1  '( i", 9 (    Q $  r, 9>$ A*text. l?count $ dd"6 4$$  , 9$ *count 0  , 3, 90    (M [ R86 L($"  L" ZE$   r ,   ,  w,(\Q |f"6 ",9>( H*text$@ 0  ,"904 $ ,/` , R4(  w"9($  ", 9$ count$@ $X *selection$   r   o1 *text  }14 "k"6k,i"644 " r r " + / r4 4Pcountn 4P= !o"6~ r rN4H D )po"6f"6/, r, r<@D( l"6di9(D & R R,   "9¸D :*cot ,  g9 ,HAX>  x1( h"6, 9(ID  *textݸ $ *selection$4( $  ,i"64@  x1 $w10=  x w, 90$  '$ N*textaH 0= $j"6~, 90 @ x1(p <, 9( `K*SEL 0'   ,"90 0*SELظ ( ,"6o, 9( hx1( <, 9(     4 "on"6 44P  _  (f 4k"6, 9(C aplname >  T$p n"6 $ p   9  "$ m"6 $$c n"6 $ *textb   4 $ ..*idparams$   4 ` Nxxy,,(y@y,,Xyy,,o,d} 9` *texta *SEL97 \  $ ..*idparams$(8v<$ *selection$,TP,H Action$@ $ $$ ..*kwparams$,  X+9,G  '(X py"6lp, 9($  '$  ot |1  y1 Dz1$  (u,9$ 4P*text  s r $ p"6 X$$O  r, 9$$?  },9$4PJ #u"6 r r,  r4  sL} 9   }1 |}1`K  4}1( y} ,9E( }1T3  |T  |( %'((s[ ] x"6pu, 9(( <`Z"6(0  0~ Ps, 90(  3e(F  ( :.sc.*tabstopH( (  v9 4 ! R  Hv"6 4(PJ w@"6(,XY [  0<*textnn   R $ H~ r, 9c$ ;aplname    P $7 ..*edobject$$ag h r, 9?$ ,9*text $  r, 9nt$$  r, 9D.b$ ;KeyUpn $L h"6"9$(E @Z"6"+ 9((D  , 9((@ ,{"6|9($ J {"6"9$ ,9OTHERN HG H 4$4sNew`F-$4F PKeyUp hCPCHe ROUND $  R9$ xOTHER $$  9$ aplname $W  " Rv$ :*cot \   /, K*textren $  /, 9$ :*cotn (w [ "9(,\ 䁻 ,XOe   "9 M  ' $ :*toindices$(d ~"6~9(   r  e   R9  DM &x"6"6, XYZDId   P (c  r, 9( 1K$K p *color x:*FMV P *color x*class ,}*textr $~ ..*edobject$0lkERROR (^\TCNLDM)/DM0hC ,=  d+ 9,   ,M "6", 9,XO  $ case: KeyUp$,  P䃻,  wself= (  X"6.s((  w .Xw.s( <:*cot7 H 8 Ԉ L"6:86 H( D@"6(  e( |t"6($ L"6 3$ :*FMV (| "6, 9($ "6 X $D,z % R R,+ [D( "6 Vw4[((l 䆻"6/ R(,$  V"6 3er, <*text   +9s $< ..*idparams$Dl ,$"6p :  9 DD(  X w#($  /, 9$ caption (  X"6((  w .X($ .w$  *limit $\- :*toindices$$ .w,$ *color $(  *idparams$  w 9 $\- '$(b A"6؇ 9($ "6 4A$D 1 R R:8  + / RD(  X w(  R$/|T 0 A , "6A0  *textwn $\- MouseDownt$( "6 ",9(( l"6 ,9(   r $ *properties$(  |л"6(H386w|$*|$&E"f]fMEEEEfEfEfE fT$&fT$&~EfT$&lM^} }"([c( fT$&U]:ת*Ëظ  !"#$%&'()*+,-./0123456789:;<=>?@abcdefghijklmnopqrstuvwxyz[\]^_`abcdefghijklmnopqrstuvwxyz{|}~  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`ABCDEFGHIJKLMNOPQRSTUVWXYZ{|}~H *text (@A C ~ YZ[(.scH 7įܯ$,, ,, 9HDd 'ܕ̑,x,ت 94[TD( @ 9(0M ,"6+90,$ "6,, 9,x{/($  T, 9($0$.0`$$8  R , $ @A C  $  /` $  |/:   4 $h ..*kwparams$4P %&'(#$4$ P"6 T$  textn c  .s ( f  "6((&..*fKws.children(DQ +Ԩ , < ,,9cwcD$c  9$,  ~, 9f., @L 9  ,Ē, ,"+ ",9LD *| ,, , RinD$ "6"9$,  `9,l/$ "6 R$D . yL",8 Y D  d y $ ..*kwparams$ hm*text $   "9$D & ,",l,9zDD , x R:86 8D$  , 9$ L*color $$ d"6 Xs$ : "6  裻"6 $t Ж"6 $ 0 *text 4P %&'(4$0$ %'$(  , 9(H'?Xc(V P 9((M t 9(H 6p R"A,,, rH$  R"$ \%*Show H*text7 D %0"6t"6,{0 ^$$D01  R,"600  R R8.0$4% 3l+ 9$$% D"6 R$  T"6 t  (d'  Rd"6((^ RDT B 䧻ĩ@%, T4 "  ̮8,/ P4$  , 9$D )4"6 R R, 3+ / R.tTimer$D$ ..*edobject$$`  , 9$ l *count $T *idparams$(L  d"6( T  r $\- *selection$,  8, + 9,uD *h@ "6:86 m`DD *@ 螻"6:86 83D 5 H"6' $9 ..*idparams$D . ܛl2 D@SHOP(  9(|4COST("  @"6((>..b11.*enabled=( waplname <*enabled $A *selection$D *$@ "6:86 D (@..fIds.*enabled( C*textn D -"6 Р|9xD,$;..fIds.sc.enabled8,`  1  1(>..fIds.*children( w*enabled $tB :*jobfile$(  @"6((^QTY NEQUIPo  (>..fIds.*children( D?..*BNV $d? :*toindices$$ t"6 R$  D*class w*stylen ( @"6(h OV$ L"6 4$ <OTHERnn $  , 9$ 8]*textn $"  w, 9$(Hz ܢ"6, 9(cDESC0\Q  x R:86 Y0 PCFIELDme 4 r"0"64"6y4$  9$J  L1 졻1   / $lo onExitError$DL 3 w, @ R86D(x  w w Vv(EDATAD & R Y / R\D hJ*textn  xaplname $O  Rer$ ,@*color ( "6, 9(Dx '( S86 w]\(yD 1 "..*ShowD DQ , T R:86 \QD(T.fIds.*children((8T.lDesc.*caption(D %@ R:86 V[VD$V "6 R$ V*text 0  ul"6ws0 0Q*Focus ]:*cot 8]aplname X]apldir (  "6 V (C SQ(0^ D"6, 9 (hEditDx * u, :86 \(yDDb. T/ R@ Y:8  / r<`D$0b *children`$ x]onResize 0  R:86 Y0  (dq..fKws.*children( MouseUp (  89(pDWOV i  9 $0b :*toindices$ :*cot ( 䦻 R86 R((^ID@,  VL"6 R,{  V+9(a..fIds.*children($ t"6 R$ V*color`W (..fKws.*children(( @"6(mDWRD$ C V,9$ :*cot 0 Gط"6 $TvP$(  R86 3Ha(m.ed, 䭻"6 N R,4$  V, 9 $ V*enabled $ "6 V$ ~:*FMV $ X"6 N$aDWSQ0m r,"6 "6 V0    , @(D u,{$L} *aplname${($ @"6(gw s  gw s/| ( |ر"6(r( "6, 9((x  ̂"6w( 4vMouseUp $Tv *edobject$ s  9 $`t :*toindices$ ~:*cotp $$s$ `onMove lGSIZE2  x*enabled wSIZE1n (dq4A1,P<[>I6,<]>(  xLabeln s1 ..*self sA(zz0z0{n{ `{/x{ 0{_Xc/x{ o49  »$hĹ4D0캻d( (ĸ|0p\ûĽd@ػ$Hx̵8X<22t  »1 `1 t*textren (L ̲"6H(m' w 10 T1 l 佻1x5 |Henabled X9attache $ aplnamet$$L} *selection$;   T' 8   Q $ A"6 4$  KeyUp1 $49 debugtrace$0 DB", /?0(1 Դ"6t, 9nd(05just ̺1( wi'aplname'=n( t1(XIApplyStyleSheet( 8KeyDown P:*cotp ~Shade $ clipsiblings$ Jchecked ̴   'D 1  TC1  /, $88 countriesel$ =Actionup ( xC", 9H($ hû"6 4$ wself= $  FileExist$ D warg= $d GetWorkArea$  wres= $ SessionFocus$(GetCommandLine( wevent= $x9 CountryIndex$$t Control2Var$ z:*FMVp ..*Open (  L, 98($  ^,9$  C' ' $, SmgrHandles$ apptitle   '(, GetBitmapSize(4ay t$ʻ"6" ^û8, L4$4  9[7$ T=====jTV (1 +", 9V(8D2Ce s,?VTlp *text0 d [ 8R 䶻 ,, \,, P,bA,b/, Pd$49 windowsdir$ D(, :.sc.*tabstopUp( PMouseUp $p SsColumns$ 9MouseUp $XH StyleSheet$ 0>countip ,   R, V, ZZ7 $  resources$(, @"6(must,  Q P3/ P,y KeyPress $# installdirin$08  Q, /0(  Y Q+ P(l I2Ct Iapldir $ ClipSiblings$ Pcaptionc $ EnumFonts$ DCAnsi2Av \?countp classle GW2Cd ;wherelcd New GTypical JAv2Ansi ` O  w | 8,  8D R` OChildren DE / » :8  / w] :D$,' m\Ļ"6 3$ O*text  dƻ  $F  , 9$ OK2F4.2 Redim Kinifile $H VT_Dispatch$ 8Hhandlers $K VT_Variant$ 1(IDecimalSeparator(f  1(EnumChildWindows( aplname country DCheck Ksuffix $K WhwndOwner$ @whereds \LXClasst D, .   @Ļ  (e' Ի", 9(Q.edS PMNewClass $lv :*jobfile$ GChStyle , Ż"6", 9S,Pr*F8.2(  < 89(I3  ,   R, V,/MI3(xT :f1.*children(D , Ż Y:86  fD(" .X($ "6 Y $ '*color dS*Focus H '8$  S:86  "  TH$   R V$ *text ,0 4Ż V R86 ,0/  L,Pǻ"6 0(_  Lһ"6re(0\dddd0Hch c8λ < S:86  "  QH p (1 1  \  9 $ l *selectionTV$ 1  <ӻ ' 4:*cot DI o Ah9$98\ A8X88@7@7˻˻H7lջ\˻˻d @ֻ@`@ѻ@@ @@?ʻ?ӻ??@һ`?λ@? ??λ>>>02er l  T' (y (߻", 9 (type  '$ H߻1  ߻1p E1  TB1V  x1 @ʻ1 $s*text  $ɻ1$ ?labelwidth$ ׾1  ׾1  @A1 >1(ApplyStyleSheeto( I E ѻ1(,DecimalSeparator(w ( л1(pEnumChildWindows( |̻1( GetBitmapSizeand(~  `>1(GetCommandLinea (ob l @>1'* h  1le e  >1&  1$ ?modalresult$$  "6 4$ : n =1 =1pp '  ߻1  'as e Hѻ1 0λ1 \л1 =1 L1  =1 <1D  1et '  T' 0f?caps  >1$ e "6 4$  *texterA $ countriesC$   Q $ installdir$( t ", 9(4DemoXA  '  `=1 @=1\   =1 @ϻ1Ĉ  =1`  <1$ л"6 4$ class $  , 9$ 0f*type Д  1   Q $ modalresult$( \ϻ", 9(caps    $X ?Document$  Q' L`Combo $x CheckCloseme$D R   $  resources$$  ^,9'F$ dS*textfj ('( c L, 9`(4 l$L"6" ^û8, L4" ׻1ؚ   T'(PD > R< `< ,Ի R:86 /һ SP$ windowsdir$ 4   $ debugcommon$a A  ;1 :1E? :1$ *childrename$Edit(4 ӻ", 9(typeTLATD C`Ի:86: Ի ,ѻ , w/ R R, RT$U EnumFontseld$$ *children$D , Rջ@< R:86 , / RwD4 !5<׻ "7 Q: c4Dȥ *p ջֻ86:86 w襵D0 A"6 UY+ 90 `A1 6gw.f1 $ CountryIndex$New  `׻ Y $R sndPlaySound$0||386w|$cd$J|$_fD$f\$fL$2EEE7EEE6ffEfEfE0fEHfT$_ %vfT$_rl$J}u+Cett u](M,M(ˉ]NMRE4E5M@M8E70fT$_rl$JD$Z D$$D$[|$<+l$Vl$RՃt^t$[L$N< tD$VD$ZD$ZD$Z <u D$VD$[JuD$Z< uO;|$>XhL4 D e D ,= dxH` 4  t<Lpcx p4 t| t!l"$d#$r< %@o&' (lPڻ?kں@ApٻB} 4 :if 3=+/OS=OSV4{  :) A0@ID`jxbD . Y hYT tX [T X  b XL|iX?n4srJr[(t|TpYAĉ,?tC @!/"#$C$T%q&(Y'((HY)**+,-X./0\1|2g3X4'5X/67$8p(97:;L_<_$=^>?m@A ;BMCTDOEFG4aHFI;Jt$L$OY= O0(y148@H̅ Z87\8R,DX\Olf)m\g'|f`ܦ^^8MHDLM.^P|\8 -)|lQ`)`*p,WTP`M2DPmt@i<*(<0dX xm@@\\Op |i@@_DO x`  x l vhPH4 L;) x O.?8<D` !`"#h$a%`&'(t)*tF+p,d?-P-y. /i012p/3|}3344y45D6c748@909$ 9: : :4;)<<l<p-== =8>$f?@ ZAȁB \BBT'CYC CDE`EEFMFF`GLH8I4JK`LM\N(OPNQdjR DST#UV܄Wl~Xp}YZ[(\vk]$^\_(,k`ab$clSdH@ejf_ghTh?ijd1klm n[doupqrzs|ttu8[HvHw<x)y\[,zx{x|}x~jؐX=[xn"3p([\y@8p ( A8o n 6.)4\l|lhd4?Ծ@XA B@CtD,D0D8pEEEܯE\E FG\yG@kGH(PI JKXL`M4NN!OO{PQRRp#SSTUPpVWXYxEZ\bH[O\]q^_)`a,b(ccd\tePJfg0:hi iiȺi!jbkxk`l\lDmHWn,op|tqrlNs}tX,u[vDNwxyPLzl3{| }Ԫ~N[,;GHKe|DPh()[Ys0 `^8^rD8h<پ<^LJ4hlI9̨ #x0@HIgLxpgpggx|4]+|tDwL{8|xt&|T {`2p-vĩ qGL$I@t)GvXDT $ JdL:/ܦx PܪX(`@vTFH0UG@|E/7$FTsR p t 6  4  <ܯPܒd`~hLH| KlE |!l"dk#$z%$0&';(0)*+:,0-.̹/J0-123J4d+5 67L ?C@$LAB5CKDܢEFJG H{IPJxKLMLؿN:OPQtRMST$UjVMWXDX܃Xp2XlY ZpZw[@[T\\V]`^_/`{abcd%e|frg Nh\/i@jP klNlMmLn(o0Vp qrtstu@vwpx/yzL{x|D6}$~$l67v$r}AFN`?D@ <H 8Y`Dt>X>`TDo|<8dx,>$|e:'X+)욾@t/x\thPxPWx[pdm8w@tO؍(P8 LbԘdT|d^b <u-=pl9h$ =0Fxc\FHpr\ 0$LE`\9pC,X4(H`r(\ص %̛$dV!ܞp\>D>4 D|PFD65  E   ̹ < 40 6/< |pȹ=dPln<4pD!P\|H !"@#$t$h=%{% &&P=''r(T(=)**++`&+p,,L,8=-~- =-|..<#.;.$l/T/ // 0011i22؆3Ll45>678L8;9b9:`:; l;D<==>>>>S??H?|@w@p@0AxA`xA6AmBBDBTfBUCCDDD2EF ,G(qHMIؾJMK]LM|FN MO(PLQ0]RDSpLTU0VWXYHZtZZ8LZZZxB[(\\]X^^^,__8_`` aLb b:cKd-epFfgܶ~h@Qi(i ;jTjkk0l`l\lplhzmhX\n(zopptpH{qdq|qd;r.s Ftt;u(DvywCx y@z`{{@|ظ|}+}0!~w@\\>pT&hП\FL+Py`(`0ĘБ'ptAT$ lT(| 8xuPl Cu! @8`!X$)~{H ``$ h$K$$xL MMpQ$a+,0A&$tvzܟ0P 0@d4$Hht<D4/@l+'Bh Dl,+L?$,uphp|Pe@d|y0| <((? uH< d@   п x 4 lH< `D8>81t>    >!y"X#$\%TV?(@|PABl|C0DEFsGHIJKL<Mp1NOp'P0QRS*TUVĆWLXY\=Z<[h\T(]^V_,``xabpDcIcĞcdVe(fh=gxVhL ikiki<j(jTujjJjkVlmn0?op2qvr̮stI䲹u vxIw2xx8lx8ypyeyHzI{f|@W}`~0h00|< ԉ jtXad4Tff8X0t}8T԰@DD} piP~`(̩(}|O$D~?X :(]$}7D@Yda2X ț1ld@$.lHGP<$00XT<@ht\>0< <t'Z|-h/lGD>Eh/܂~CA@(DxĈZdaPh4l3DC8\wX     JHw k_ c=?H8Хh l!?"L#t$Ĕ%P&XY'(k)d<*Y+DH,x,,-x!-@6.#/0@12H[34h{ 5ؾ6Z7 8X9̿:;<=؜>#?@x8AwB*C$%Dh`EtF8GH|4I05JD K.L0M'N ]O`+P8QQ/QR\ST5UXVxW>X@YLZZuZw[\=]ا]t]!^0_`ؚaaa0a4bfb bxccvcddd$efg<hhhth +i$+ihijjpjkkĺklmlnnno%pqdr!rtr-stluvvwx<yz{ <l|@}};~L+wP0td&4hPd%<D(t#vh<. 83d^aH ,f>+ `W4s`\B\<|[p|(14Alp,Ȥ]hx"`ľ0ྸ$t(й %'Ls {)Ml(,:P| `g s Ԙ pXC`T =hZ@i@TAV|`AD$8?gpjD,{8W A8Lhttt8 !ؤt6H*@VZ*0Hl4u Ⱦ  $  0sV0uh@((-9HL4UT d!"#P$U%Н&$'( g)*<+n,Ȯ-j./t0P1e2P34`5`6||7\789<:u; `<L=膾>A?DA@؁AtBwCtD<E;FHwGH\DI BJXKRL|PMUNtUOPH\QTR STUYV$(WHWsXX&XpY\ZwZx3[Ԙ\V]Q^|_q`PabTcde fogĥh`hhihjhekDlPmfnn(n&nnlopq4rsp t8u$<vw<x HyԮzdZ{h|s}~`p=8ڿ4+`,,= --hXtsyO>lPx|S=CLH|[ؑl}hLYSTU$COOl`AKAD@pF,A\>$'>*@@@?l?\D<\> pM?!T@?"Ĉ# ?$@%@%s%+%(?%&l'(0)*|L+M,-$./D)0|1 2034(N5d67089<:;d<=>V?T@dAHBCQD(E@FGHI yJK(,LMlNtOPQ|DR(S@VTTU.VLWXYXZ1[\H]]^^P__ `dR`a,abbcPcdlde8efHrfgXsghhci i(j)jhkk|lXmn`/op/hqr(Ks8ItXu v,wT.x`xy.zY{$|L}G~x8!|l\XL̯-P,HGvt& gh0 \`xh<\lwp0sLy0CE(H (}H (]`Īi~@ p=42 8K|\8,@* ;|KK`D(H `^\SPtDp8| tտ̆`\;nhDV(Dp',EHUr@t0UU C,\BШ'D DX ( , 4(x | X    0 h Q  t  В X P W l P.  (9 ;  \R   (U > l  \ A h@ ` V! L" ~# $ % ]& ' ( p) * + t, - . p/ H0 1 l2 3 4 @5 dA6 HF7 @8 9 A: {; < <= 8> ? =@ A _B C iLD qKE DdLE @{E F h%@LF %KG 8KH  DHI `HJI I /J LK L &M FN eO 0P LHQ %IR XtGR rR S `PGS  GT EU ıEV |GW xIW LW X `Y dZ {[ `\ ] s^ H_ P` Ya b c `jd L e sf f 4f xf g g {h 4*h h h H h 8\h Юh i *i i j j ,j X}k k k yl l Dl m pBn n ?n ~o Lտp Xp d"p =q q Sq %r r Er @s lXTt t tt HBu tv $w x y z ܴ{ | h} ~ Ē @ (d , G c  L 8L  Xx    T X TJ (   ,\ ؿ l @  |  X l  dK   \* h_ t O  #,    T       @#   \ | \ !   0 @ `  !$  D    l, x X     (  @ D t     *   $ D E   P  *| '  *` LDx 0Mdx (5w w Čtw v  ,  t     (U H  l H lU  U  t     H  X      0y 8  P $:  l4 L  * y y d  y $+ @ ]  h   \ پ  (  d 4 E <  @ l  $M d@ %     O  А    ! ," X# $ <% ,8& H& p& q& 0m' ( l) (* + , h8- . / @0 1 ж? ?@ \A B C D lpE \F pHG DH I @J @K L @yM N DO DP PQ R S ȕT U V ,W <X Y Z 4[ tq\ ] c^ $_ p,` a b c d H%e f %g ph i 2j k l ,m n o ]p %q D7r s t u v w x y `z <{ 4| } @~       L+  l l , P p  h 4/ $     l Q l p 0R  ,  0<  D  (? 8d `M  ܖ   hO         ,; l  T  dP   $   ĕ " X ,  d  0  4  $n | D/ d   0 HnD  $S   g Hd   @ "  . x   x 0    ln4  < . Д  l  ؒ `     {|  :),кp[X" ! ?m@HAB(CxDE\F<G H(IJKTLMNO P\QRSxTpUPEVtWPXdeYZ[d\d9]^_`tab|cdԚefg$hliljk olm@no0Upq,orstuvwDnx yz{|};~j|5d0-n|Ȝ\$  #xT & ̢x|!h)HP]Sh@(0ԄXL `Hn\nȿpn`,)@aWTo~|0tZX >4?@0)ABACPD,SEFX>GH=IXJdK^LMhNOPTQ$Rl&S$T0U< VHWXFY5Z<[$\]L(^4_@`l&aFbd6c;dde3f({gDNh izjHkl+mܿn8opyq3rstujvw@xpyz{| }`c~h\lzLcHPH8cbP l"ld[aبX\