|
|
1.1 root 1: DLGINCLUDE RCDATA DISCARDABLE
2: BEGIN
3: "DIALOGS.H\0"
4: END
5:
6: MODELESS DIALOG 71, 36, 216, 132
7: STYLE WS_CHILD | WS_CLIPSIBLINGS | WS_DLGFRAME
8: FONT 8, "Helv"
9: BEGIN
10: LTEXT "This is a sample Modeless Dialog template to be used with FModelessDlgProc.",
11: -1, 47, 6, 157, 34, SS_NOPREFIX
12: LTEXT "Use the Windows Dialog Editor to modify this template for your application.",
13: 1001, 9, 42, 200, 84
14: ICON IDC_SETUP, IDC_SETUP, 9, 7, 18, 20
15: END
16:
17: CHECK DIALOG 75, 55, 200, 132
18: STYLE DS_MODALFRAME | WS_CHILD | WS_CLIPSIBLINGS | WS_CAPTION | WS_SYSMENU
19: CAPTION "Sample Checkbox Dialog"
20: FONT 8, "Helv"
21: BEGIN
22: CHECKBOX "Checkbox Option &1", IDC_B1, 22, 34, 150, 12
23: CHECKBOX "Checkbox Option &2", IDC_B2, 22, 46, 150, 12
24: CHECKBOX "Checkbox Option &3", IDC_B3, 22, 58, 150, 12
25: DEFPUSHBUTTON "&Continue", IDC_C, 8, 112, 40, 14
26: PUSHBUTTON "&Back", IDC_B, 56, 112, 40, 14
27: PUSHBUTTON "&Exit", IDC_X, 104, 112, 40, 14
28: PUSHBUTTON "&Help", IDC_H, 152, 112, 40, 14
29: LTEXT "This is a sample dialog template to be used with FCheckDlgProc.",
30: -1, 40, 6, 148, 24, SS_NOPREFIX
31: LTEXT "Use the Windows Dialog Editor to modify this template for your application.",
32: -1, 12, 74, 176, 32, SS_NOPREFIX
33: ICON IDC_SETUP, IDC_SETUP, 12, 6, 18, 20
34: END
35:
36: SINGLELIST DIALOG 75, 55, 200, 140
37: STYLE DS_MODALFRAME | WS_CHILD | WS_CLIPSIBLINGS | WS_CAPTION | WS_SYSMENU
38: CAPTION "Sample Single-Select Dialog"
39: FONT 8, "Helv"
40: BEGIN
41: LTEXT "Select one:", -1, 40, 34, 120, 8
42: LISTBOX IDC_LIST1, 40, 44, 120, 40, WS_VSCROLL | WS_TABSTOP
43: DEFPUSHBUTTON "&Continue", IDC_C, 8, 120, 40, 14
44: PUSHBUTTON "&Back", IDC_B, 56, 120, 40, 14
45: PUSHBUTTON "&Exit", IDC_X, 104, 120, 40, 14
46: PUSHBUTTON "&Help", IDC_H, 152, 120, 40, 14
47: LTEXT "This is a sample dialog template to be used with FListDlgProc.",
48: -1, 40, 6, 148, 24, SS_NOPREFIX
49: LTEXT "Use the Windows Dialog Editor to modify this template for your application.",
50: -1, 12, 90, 176, 24, SS_NOPREFIX
51: ICON IDC_SETUP, IDC_SETUP, 12, 6, 18, 20
52: END
53:
54: MULTILIST DIALOG 75, 55, 200, 140
55: STYLE DS_MODALFRAME | WS_CHILD | WS_CLIPSIBLINGS | WS_CAPTION | WS_SYSMENU
56: CAPTION "Sample Multiple-Select Dialog"
57: FONT 8, "Helv"
58: BEGIN
59: LTEXT "Select the items you want:", -1, 23, 34, 105, 8
60: LISTBOX IDC_LIST1, 23, 44, 105, 40, LBS_MULTIPLESEL | WS_VSCROLL |
61: WS_TABSTOP
62: DEFPUSHBUTTON "&Continue", IDC_C, 8, 120, 40, 14
63: PUSHBUTTON "&Back", IDC_B, 56, 120, 40, 14
64: PUSHBUTTON "&Exit", IDC_X, 104, 120, 40, 14
65: PUSHBUTTON "&Help", IDC_H, 152, 120, 40, 14
66: PUSHBUTTON "&All", IDC_S, 138, 45, 42, 13
67: PUSHBUTTON "&None", IDC_L, 138, 70, 42, 13
68: LTEXT "This is a sample dialog template to be used with FMultiDlgProc.",
69: -1, 42, 6, 146, 24, SS_NOPREFIX
70: LTEXT "Use the Windows Dialog Editor to modify this template for your application.",
71: -1, 12, 90, 176, 24, SS_NOPREFIX
72: ICON IDC_SETUP, IDC_SETUP, 12, 6, 18, 20
73: END
74:
75: EXTENDEDLIST DIALOG 75, 55, 200, 140
76: STYLE DS_MODALFRAME | WS_CHILD | WS_CLIPSIBLINGS | WS_CAPTION | WS_SYSMENU
77: CAPTION "Sample Extended-Select Dialog"
78: FONT 8, "Helv"
79: BEGIN
80: LTEXT "Select the items you want:", -1, 40, 34, 120, 8
81: LISTBOX IDC_LIST1, 40, 44, 120, 40, LBS_EXTENDEDSEL | WS_VSCROLL |
82: WS_TABSTOP
83: DEFPUSHBUTTON "&Continue", IDC_C, 8, 120, 40, 14
84: PUSHBUTTON "&Back", IDC_B, 56, 120, 40, 14
85: PUSHBUTTON "&Exit", IDC_X, 104, 120, 40, 14
86: PUSHBUTTON "&Help", IDC_H, 152, 120, 40, 14
87: LTEXT "This is a sample dialog template to be used with FMultiDlgProc.",
88: -1, 39, 6, 149, 24, SS_NOPREFIX
89: LTEXT "Use the Windows Dialog Editor to modify this template for your application.",
90: -1, 8, 90, 176, 24, SS_NOPREFIX
91: ICON IDC_SETUP, IDC_SETUP, 8, 6, 18, 20
92: END
93:
94: WELCOME DIALOG 75, 55, 200, 117
95: STYLE DS_MODALFRAME | WS_CHILD | WS_CLIPSIBLINGS | WS_CAPTION | WS_SYSMENU
96: CAPTION "MS Setup Sample 1"
97: FONT 8, "Helv"
98: BEGIN
99: DEFPUSHBUTTON "&Continue", IDC_C, 20, 97, 40, 14
100: PUSHBUTTON "&Exit", IDC_X, 80, 97, 40, 14
101: PUSHBUTTON "&Help", IDC_H, 140, 97, 40, 14
102: ICON IDC_SETUP, IDC_SETUP, 19, 14, 18, 20
103: LTEXT "Welcome to the Microsoft Setup Toolkit sample program: MS Sample 1.",
104: -1, 47, 15, 142, 21, SS_NOPREFIX
105: LTEXT "This sample program will actually setup a simple demonstration application named APP.EXE.",
106: 103, 19, 40, 169, 21
107: LTEXT "When the setup is complete, you may remove APP.EXE by deleting its installation directory.",
108: 104, 19, 64, 170, 17
109: END
110:
111: APPHELP DIALOG 101, 84, 192, 96
112: STYLE DS_MODALFRAME | WS_CHILD | WS_CLIPSIBLINGS | WS_CAPTION | WS_SYSMENU
113: CAPTION "MS Setup Sample Help"
114: FONT 8, "Helv"
115: BEGIN
116: DEFPUSHBUTTON "&Continue", IDC_X, 76, 76, 40, 14
117: LTEXT "This sample setup program will install the demonstration application APP.EXE and its associated files.",
118: -1, 42, 5, 139, 27, SS_NOPREFIX
119: ICON IDC_SETUP, IDC_SETUP, 11, 4, 18, 20
120: LTEXT "Select Continue to move through the setup process and install APP.EXE onto your hard disk. Select Back to review or change responses. Select Exit to end the installation process.",
121: 101, 12, 35, 169, 33
122: END
123:
124: ASKQUIT DIALOG 88, 68, 216, 96
125: STYLE DS_MODALFRAME | WS_CHILD | WS_CLIPSIBLINGS | WS_CAPTION | WS_SYSMENU
126: CAPTION "Sample Setup Quit Dialog"
127: FONT 8, "Helv"
128: BEGIN
129: DEFPUSHBUTTON "&Continue", IDC_C, 45, 76, 40, 14
130: PUSHBUTTON "&Exit", IDC_X, 131, 76, 40, 14
131: LTEXT "The setup process is not complete. If you exit now, APP.EXE may not be installed correctly.",
132: -1, 40, 10, 164, 24, SS_NOPREFIX
133: LTEXT "You may run the setup program again at a later time to complete the installation of APP.EXE.",
134: 104, 13, 38, 192, 24
135: ICON IDC_SETUP, 201, 13, 10, 18, 20
136: END
137:
138: OPTIONS DIALOG 75, 55, 200, 120
139: STYLE DS_MODALFRAME | WS_CHILD | WS_CLIPSIBLINGS | WS_CAPTION | WS_SYSMENU
140: CAPTION "Installation Options"
141: FONT 8, "Helv"
142: BEGIN
143: RADIOBUTTON "Install Optional File &1.", IDC_B1, 22, 34, 150, 12,
144: WS_GROUP
145: RADIOBUTTON "Install Optional File &2.", IDC_B2, 22, 47, 150, 12
146: DEFPUSHBUTTON "&Continue", IDC_C, 20, 100, 40, 14, WS_GROUP
147: PUSHBUTTON "&Exit", IDC_X, 80, 100, 40, 14
148: PUSHBUTTON "&Help", IDC_H, 140, 100, 40, 14
149: LTEXT "Select the installation option you prefer.", -1, 41, 12,
150: 147, 17, SS_NOPREFIX
151: LTEXT "Remember: This is only a demonstration. Either option is equally valid.",
152: -1, 12, 67, 176, 20, SS_NOPREFIX
153: ICON IDC_SETUP, IDC_SETUP, 12, 5, 18, 20
154: END
155:
156: DESTPATH DIALOG 75, 55, 200, 110
157: STYLE DS_MODALFRAME | WS_CHILD | WS_CLIPSIBLINGS | WS_CAPTION | WS_SYSMENU
158: CAPTION "Get Dest Path for Your App"
159: FONT 8, "Helv"
160: BEGIN
161: RTEXT "Path:", -1, 12, 36, 29, 8
162: EDITTEXT IDC_EDIT, 42, 34, 145, 12, ES_UPPERCASE | ES_AUTOHSCROLL |
163: ES_OEMCONVERT
164: DEFPUSHBUTTON "&Continue", IDC_C, 8, 90, 40, 14
165: PUSHBUTTON "&Back", IDC_B, 56, 90, 40, 14
166: PUSHBUTTON "&Exit", IDC_X, 104, 90, 40, 14
167: PUSHBUTTON "&Help", IDC_H, 152, 90, 40, 14
168: LTEXT "The setup program will copy APP.EXE files into the following directory.",
169: -1, 42, 6, 144, 24, SS_NOPREFIX
170: LTEXT "The setup program will backup any APP.EXE files currently existing in the directory. A new program group will also be added to the Program Manager.",
171: -1, 12, 54, 173, 31, SS_NOPREFIX
172: ICON IDC_SETUP, IDC_SETUP, 12, 6, 18, 20
173: END
174:
175: EXITSUCCESS DIALOG 75, 55, 200, 96
176: STYLE DS_MODALFRAME | WS_CHILD | WS_CLIPSIBLINGS | WS_CAPTION | WS_SYSMENU
177: CAPTION "Sample Setup Exit Message"
178: FONT 8, "Helv"
179: BEGIN
180: DEFPUSHBUTTON "O&K", IDC_C, 80, 76, 40, 14
181: LTEXT "Setup Succeeded!", -1, 57, 13, 98, 11, SS_NOPREFIX
182: LTEXT "Be sure to send in the registration information for your new software.",
183: 201, 18, 35, 167, 26
184: ICON IDC_SETUP, IDC_SETUP, 18, 6, 18, 20
185: END
186:
187: EXITQUIT DIALOG 75, 55, 200, 96
188: STYLE DS_MODALFRAME | WS_CHILD | WS_CLIPSIBLINGS | WS_CAPTION | WS_SYSMENU
189: CAPTION "Sample Setup Early Exit Message"
190: FONT 8, "Helv"
191: BEGIN
192: DEFPUSHBUTTON "O&K", IDC_C, 80, 76, 40, 14
193: LTEXT "You should run the setup program in its entirety at a later time to install APP.EXE.",
194: -1, 14, 31, 172, 18, SS_NOPREFIX
195: LTEXT "APP.EXE has not been properly installed.", -1, 49, 8,
196: 139, 18, SS_NOPREFIX
197: LTEXT "(If this was an actual software product you could contact product support for assistance.)",
198: 201, 14, 53, 172, 18
199: ICON IDC_SETUP, IDC_SETUP, 14, 8, 18, 20
200: END
201:
202: EXITFAILURE DIALOG 75, 55, 200, 96
203: STYLE DS_MODALFRAME | WS_CHILD | WS_CLIPSIBLINGS | WS_CAPTION | WS_SYSMENU
204: CAPTION "Sample Setup Error Message"
205: FONT 8, "Helv"
206: BEGIN
207: DEFPUSHBUTTON "O&K", IDC_C, 80, 76, 40, 14
208: LTEXT "If this was the setup program for an actual product (not just a demonstration), you would need to contact product support services.",
209: -1, 18, 39, 176, 25, SS_NOPREFIX
210: LTEXT "Setup Failed!", -1, 57, 15, 106, 13, SS_NOPREFIX
211: ICON IDC_SETUP, IDC_SETUP, 18, 12, 18, 20
212: END
213:
214: CUSTINST DIALOG 54, 44, 243, 156
215: STYLE DS_MODALFRAME | WS_CHILD | WS_CLIPSIBLINGS | WS_CAPTION | WS_SYSMENU
216: CAPTION "APP.EXE Custom Installation"
217: FONT 8, "Helv"
218: BEGIN
219: CONTROL "&APP.EXE Program Files", IDC_B1, "Button",
220: BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP, 8, 46, 104, 10
221: CONTROL "Optional Files &1", IDC_B2, "Button", BS_AUTOCHECKBOX |
222: WS_TABSTOP, 8, 59, 104, 10
223: CONTROL "Optional Files &2", IDC_B3, "Button", BS_AUTOCHECKBOX |
224: WS_TABSTOP, 8, 72, 104, 10
225: PUSHBUTTON "App Options", IDC_SP1, 115, 45, 56, 12, NOT WS_VISIBLE
226: PUSHBUTTON "File Options 1", IDC_SP2, 115, 58, 56, 12
227: PUSHBUTTON "File Options 2", IDC_SP3, 115, 71, 56, 12
228: RTEXT "", IDC_STATUS1, 184, 48, 44, 8
229: RTEXT "", IDC_STATUS2, 184, 61, 44, 8
230: RTEXT "", IDC_STATUS3, 184, 74, 44, 8
231: LTEXT "", IDC_TEXT7, 9, 13, 157, 8
232: DEFPUSHBUTTON "&Install", IDC_C, 8, 135, 69, 14, WS_GROUP
233: PUSHBUTTON "&Exit", IDC_X, 86, 135, 69, 14
234: PUSHBUTTON "&Help", IDC_H, 163, 135, 69, 14
235: GROUPBOX "Installation Options:", -1, 2, 30, 238, 61, WS_GROUP
236: PUSHBUTTON "Set &Location", IDC_P, 173, 11, 59, 12, WS_GROUP
237: GROUPBOX "Install to:", -1, 2, 0, 238, 28
238: LTEXT "Installation Drive:", -1, 9, 98, 59, 8
239: LTEXT "Space Required:", -1, 8, 108, 57, 8
240: LTEXT "Space Available:", -1, 8, 116, 57, 8
241: CTEXT "", IDC_TEXT1, 68, 98, 19, 8
242: RTEXT "", IDC_TEXT2, 68, 108, 44, 8
243: RTEXT "", IDC_TEXT3, 68, 116, 44, 8
244: LTEXT "Windows Drive:", IDC_TEXT8, 124, 98, 57, 8, NOT
245: WS_VISIBLE
246: LTEXT "Space Required:", IDC_TEXT9, 124, 108, 57, 8, NOT
247: WS_VISIBLE
248: LTEXT "Space Available:", IDC_TEXT10, 124, 116, 57, 8, NOT
249: WS_VISIBLE
250: CTEXT "", IDC_TEXT4, 184, 98, 19, 8
251: RTEXT "", IDC_TEXT5, 184, 108, 44, 8
252: RTEXT "", IDC_TEXT6, 184, 116, 44, 8
253: END
254:
255: TOOBIG DIALOG 75, 55, 200, 88
256: STYLE DS_MODALFRAME | WS_CHILD | WS_CLIPSIBLINGS | WS_CAPTION | WS_SYSMENU
257: CAPTION "Insufficient Disk Space"
258: FONT 8, "Helv"
259: BEGIN
260: DEFPUSHBUTTON "O&K", IDC_C, 80, 68, 40, 14
261: LTEXT "You do not have enough disk space to install all of the files you have selected.",
262: -1, 14, 12, 172, 18, SS_NOPREFIX
263: LTEXT "Please remove some files from your set of selections or change your installation destination.",
264: -1, 14, 37, 172, 18, SS_NOPREFIX
265: END
266:
267: BADPATH DIALOG 108, 111, 145, 61
268: STYLE DS_MODALFRAME | WS_CHILD | WS_CLIPSIBLINGS | WS_CAPTION | WS_SYSMENU
269: CAPTION "Setup Message"
270: FONT 8, "Helv"
271: BEGIN
272: DEFPUSHBUTTON "O&K", IDC_C, 52, 42, 40, 14
273: CTEXT "The path entered is not valid.", -1, 14, 16, 116, 18,
274: SS_NOPREFIX
275: END
276:
277: CDCONFIRMINFO DIALOG 39, 63, 272, 120
278: STYLE WS_CHILD | WS_CLIPSIBLINGS | WS_DLGFRAME
279: FONT 8, "Helv"
280: BEGIN
281: LTEXT "You have entered the information displayed below. If it is correct, continue by selecting the OK button. If you would like to change it, select the RETRY button and you will return to the previous screen.",
282: -1, 12, 8, 248, 28
283: CTEXT "", IDC_TEXT1, 12, 46, 248, 18, SS_NOPREFIX
284: CTEXT "", IDC_TEXT2, 12, 64, 248, 18, SS_NOPREFIX
285: DEFPUSHBUTTON "O&K", IDC_C, 60, 96, 44, 16
286: PUSHBUTTON "&Retry", IDC_B, 168, 96, 44, 16
287: END
288:
289: CDGETNAME DIALOG 47, 47, 256, 104
290: STYLE WS_CHILD | WS_CLIPSIBLINGS | WS_DLGFRAME
291: FONT 8, "Helv"
292: BEGIN
293: LTEXT "Type your full name in the box below. The name you type will be used by the Setup program for installation of the product.",
294: -1, 12, 8, 232, 20
295: LTEXT "You may use as many as 52 uppercase and lowercase characters or spaces.",
296: -1, 12, 32, 232, 20
297: LTEXT "&Name:", -1, 12, 60, 36, 12
298: EDITTEXT IDC_EDIT, 52, 60, 192, 12, ES_AUTOHSCROLL
299: DEFPUSHBUTTON "&Continue", IDC_C, 56, 80, 44, 16
300: PUSHBUTTON "&Exit", IDC_X, 156, 80, 44, 16
301: END
302:
303: CDGETNAMEORG DIALOG 47, 47, 256, 136
304: STYLE WS_CHILD | WS_CLIPSIBLINGS | WS_DLGFRAME
305: FONT 8, "Helv"
306: BEGIN
307: LTEXT "Type your full name in the box below. You may also specify the name of your company if this product will be used for business purposes. The name(s) you type will be used by the Setup program for installation of the product.",
308: -1, 12, 8, 232, 36
309: LTEXT "You may use as many as 52 uppercase and lowercase characters or spaces for each string.",
310: -1, 12, 48, 232, 20
311: LTEXT "&Name:", -1, 12, 76, 36, 12
312: EDITTEXT IDC_EDIT, 52, 76, 192, 12, ES_AUTOHSCROLL
313: LTEXT "C&ompany:", -1, 12, 92, 36, 12
314: EDITTEXT IDC_EDIT2, 52, 92, 192, 12, ES_AUTOHSCROLL
315: DEFPUSHBUTTON "&Continue", IDC_C, 56, 112, 44, 16
316: PUSHBUTTON "&Exit", IDC_X, 156, 112, 44, 16
317: END
318:
319: CDGETORG DIALOG 47, 47, 256, 96
320: STYLE WS_CHILD | WS_CLIPSIBLINGS | WS_DLGFRAME
321: FONT 8, "Helv"
322: BEGIN
323: LTEXT "Type your company name in the box below.", -1, 12, 8,
324: 232, 12
325: LTEXT "You may use as many as 52 uppercase and lowercase characters or spaces.",
326: -1, 12, 24, 232, 20
327: LTEXT "C&ompany:", -1, 12, 52, 36, 12
328: EDITTEXT IDC_EDIT, 52, 52, 192, 12, ES_AUTOHSCROLL
329: DEFPUSHBUTTON "&Continue", IDC_C, 56, 72, 44, 16
330: PUSHBUTTON "&Exit", IDC_X, 156, 72, 44, 16
331: END
332:
333: CDALREADYUSED DIALOG 47, 39, 256, 168
334: STYLE WS_CHILD | WS_CLIPSIBLINGS | WS_DLGFRAME
335: FONT 8, "Helv"
336: BEGIN
337: LTEXT "The Setup program has detected that this disk set has already been used by:",
338: -1, 12, 8, 232, 20
339: CTEXT " ", IDC_TEXT1, 12, 28, 232, 8, SS_NOPREFIX
340: CTEXT " ", IDC_TEXT2, 12, 36, 232, 8, SS_NOPREFIX
341: LTEXT "It is acceptable for the legal owner to reinstall this product in order to update an existing copy or to replace a corrupted or missing version of the program.",
342: -1, 12, 48, 232, 28
343: LTEXT "You can continue to install this product, but you should be aware that this product is protected by copyright law and international treaties.",
344: -1, 12, 80, 232, 28
345: LTEXT "Unauthorized reproduction or distribution of this program or any portion of it may result in severe civil and criminal penalties and will be prosecuted to the maximum extent under law.",
346: -1, 12, 112, 232, 28
347: DEFPUSHBUTTON "&Continue", IDC_C, 56, 144, 44, 16
348: PUSHBUTTON "&Exit", IDC_X, 156, 144, 44, 16
349: END
350:
351: CDBADFILE DIALOG 47, 43, 256, 156
352: STYLE WS_CHILD | WS_CLIPSIBLINGS | WS_DLGFRAME
353: FONT 8, "Helv"
354: BEGIN
355: LTEXT "The Setup program has detected that this disk set may already have been used to install this product.",
356: -1, 12, 8, 232, 20
357: LTEXT "It is acceptable for the legal owner to reinstall this product in order to update an existing copy or to replace a corrupted or missing version.",
358: -1, 12, 32, 232, 28
359: LTEXT "You can continue to install this product, but you should be aware that this product is protected by copyright law and international treaties.",
360: -1, 12, 64, 232, 28
361: LTEXT "Unauthorized reproduction or distribution of this product or any portion or it may result in severe civil and criminal penalties and will be prosecuted to the maximum extent under law.",
362: -1, 12, 96, 232, 28
363: DEFPUSHBUTTON "&Continue", IDC_C, 56, 132, 44, 16
364: PUSHBUTTON "&Exit", IDC_B, 156, 132, 44, 16
365: END
366:
367: CDBADNAME DIALOG 108, 111, 145, 61
368: STYLE DS_MODALFRAME | WS_CHILD | WS_CLIPSIBLINGS | WS_CAPTION | WS_SYSMENU
369: CAPTION "Setup Message"
370: FONT 8, "Helv"
371: BEGIN
372: DEFPUSHBUTTON "O&K", IDC_C, 52, 42, 40, 14
373: CTEXT "A name is required.", -1, 14, 16, 116, 18, SS_NOPREFIX
374: END
375:
376: CDBADORG DIALOG 108, 111, 145, 61
377: STYLE DS_MODALFRAME | WS_CHILD | WS_CLIPSIBLINGS | WS_CAPTION | WS_SYSMENU
378: CAPTION "Setup Message"
379: FONT 8, "Helv"
380: BEGIN
381: DEFPUSHBUTTON "O&K", IDC_C, 52, 42, 40, 14
382: CTEXT "A company name is required.", -1, 14, 16, 116, 18,
383: SS_NOPREFIX
384: END
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.