If there's no comment for an error we use the symbolic name as the
error message. Not really fantastic, but "reqAborted" is better than
"MacOS error -1105" at least.
diff --git a/Mac/scripts/errors.txt b/Mac/scripts/errors.txt
index cb802d1..5dfa702 100644
--- a/Mac/scripts/errors.txt
+++ b/Mac/scripts/errors.txt
@@ -1,6 +1,84 @@
--32768	svTempDisable	Temporarily disable card but run primary init.
+-32768	svTempDisable	svTempDisable
 -32640	svDisabled	Reserve range -32640 to -32768 for Apple temp disables.
 -32615	fontNotOutlineErr	bitmap font passed to routine that does outlines only
+-30552	noMemoryNodeFailedInitialize	noMemoryNodeFailedInitialize
+-30551	invalidHotSpotIDErr	invalidHotSpotIDErr
+-30550	invalidNodeFormatErr	invalidNodeFormatErr
+-30549	limitReachedErr	limitReachedErr
+-30548	settingNotSupportedByNodeErr	settingNotSupportedByNodeErr
+-30547	propertyNotSupportedByNodeErr	propertyNotSupportedByNodeErr
+-30546	timeNotInViewErr	timeNotInViewErr
+-30545	invalidViewStateErr	invalidViewStateErr
+-30544	invalidNodeIDErr	invalidNodeIDErr
+-30543	selectorNotSupportedByNodeErr	selectorNotSupportedByNodeErr
+-30542	callNotSupportedByNodeErr	callNotSupportedByNodeErr
+-30541	constraintReachedErr	constraintReachedErr
+-30540	notAQTVRMovieErr	notAQTVRMovieErr
+-30049	kALMInternalErr	kALMInternalErr
+-30048	kALMLocationNotFoundErr	kALMLocationNotFoundErr
+-30047	kALMNoSuchModuleErr	kALMNoSuchModuleErr
+-30046	kALMModuleCommunicationErr	kALMModuleCommunicationErr
+-30045	kALMDuplicateModuleErr	kALMDuplicateModuleErr
+-30044	kALMInstallationErr	kALMInstallationErr
+-30043	kALMDeferSwitchErr	kALMDeferSwitchErr
+-30042	kALMRebootFlagsLevelErr	kALMRebootFlagsLevelErr
+-30027	localeNoAssociatedDataTagsErr	localeNoAssociatedDataTagsErr
+-30026	localeObjectDefaultValueNotAvailableErr	localeObjectDefaultValueNotAvailableErr
+-30025	localeDuplicateErr	localeDuplicateErr
+-30024	localeCouldNotWriteLinkedObjectsErr	localeCouldNotWriteLinkedObjectsErr
+-30023	localeObjectCannotDeleteSystemObjectErr	localeObjectCannotDeleteSystemObjectErr
+-30022	localeObjectTagDataNotFoundErr	localeObjectTagDataNotFoundErr
+-30021	localeObjectNoNameErr	localeObjectNoNameErr
+-30020	localeObjectInvalidIteratorErr	localeObjectInvalidIteratorErr
+-30010	localeObjectNameAttributeConflictErr	localeObjectNameAttributeConflictErr
+-30009	localeObjectItemFoundIsLastErr	localeObjectItemFoundIsLastErr
+-30008	localeObjectInvalidReferenceErr	localeObjectInvalidReferenceErr
+-30007	localeObjectNotFoundErr	localeObjectNotFoundErr
+-30006	localeBadReferenceErr	localeBadReferenceErr
+-30005	localeObjectNoNamesTableErr	localeObjectNoNamesTableErr
+-30002	localeObjectAttributeNotAvailErr	localeObjectAttributeNotAvailErr
+-30001	localeNotFoundErr	localeNotFoundErr
+-29898	logCorruptStoreErr	logCorruptStoreErr
+-29897	logInvalidSituationTypeErr	logInvalidSituationTypeErr
+-29896	logIteratorInvalidErr	logIteratorInvalidErr
+-29895	logCannotCreateActionErr	logCannotCreateActionErr
+-29894	logEntryCorruptErr	logEntryCorruptErr
+-29893	logWrongTypeErr	logWrongTypeErr
+-29892	logPluginNotPresentErr	logPluginNotPresentErr
+-29891	logInvalidSizeErr	logInvalidSizeErr
+-29890	logNoDataAvailableErr	logNoDataAvailableErr
+-29889	logNotATextEntryErr	logNotATextEntryErr
+-29888	logIteratorInUseErr	logIteratorInUseErr
+-29887	logServiceNotInUseErr	logServiceNotInUseErr
+-29886	logQueueFullErr	logQueueFullErr
+-29885	logNoMoreEntriesErr	logNoMoreEntriesErr
+-29884	logServiceInUseErr	logServiceInUseErr
+-29883	logNoSuchActionErr	logNoSuchActionErr
+-29882	logInvalidVersionErr	logInvalidVersionErr
+-29881	logDataTooLargeErr	logDataTooLargeErr
+-29880	logNoConnectionErr	logNoConnectionErr
+-29599	textObjFontNotFoundErr	textObjFontNotFoundErr
+-29587	textObjLanguageChangedErr	textObjLanguageChangedErr
+-29586	textObjMoreAnnotationsErr	textObjMoreAnnotationsErr
+-29585	textObjAnnotationNotFoundErr	textObjAnnotationNotFoundErr
+-29584	textObjMalformedObjectErr	textObjMalformedObjectErr
+-29583	textObjTextConversionFailedErr	textObjTextConversionFailedErr
+-29582	textObjObjectTooSmallErr	textObjObjectTooSmallErr
+-29581	textObjBufferTooSmallErr	textObjBufferTooSmallErr
+-29580	textObjInvalidIndexErr	textObjInvalidIndexErr
+-29507	kCollateInvalidCollationRef	kCollateInvalidCollationRef
+-29506	kCollateBufferTooSmall	kCollateBufferTooSmall
+-29505	kCollateInvalidChar	kCollateInvalidChar
+-29504	kCollatePatternNotFoundErr	kCollatePatternNotFoundErr
+-29503	kCollateUnicodeConvertFailedErr	kCollateUnicodeConvertFailedErr
+-29502	kCollateMissingUnicodeTableErr	kCollateMissingUnicodeTableErr
+-29501	kCollateInvalidOptions	kCollateInvalidOptions
+-29500	kCollateAttributesNotFoundErr	kCollateAttributesNotFoundErr
+-29299	kMPInvalidIDErr	kMPInvalidIDErr
+-29298	kMPInsufficientResourcesErr	kMPInsufficientResourcesErr
+-29297	kMPTaskAbortedErr	kMPTaskAbortedErr
+-29296	kMPTimeoutErr	kMPTimeoutErr
+-29295	kMPDeletedErr	kMPDeletedErr
 -20002	invalidIndexErr	The recordIndex parameter is not valid.
 -20001	recordDataTooBigErr	The record data is bigger than buffer size (1024 bytes).
 -20000	unknownInsertModeErr	There is no such an insert mode.
@@ -79,6 +157,7 @@
 -10012	telBadLevelErr	bad volume level setting
 -10011	telHTypeNotSupp	hook type not supported by this tool
 -10010	telBadHTypeErr	bad hook type specified
+-10009	errAECantSupplyType	errAECantSupplyType
 -10008	telNoOpenErr	unable to open terminal
 -10007	telNoMemErr	no memory to allocate handle
 -10006	telCAUnavail	a CA is not available
@@ -87,6 +166,87 @@
 -10003	telBadCAErr	TELCAHandle not found or invalid
 -10002	telBadDNErr	TELDNHandle not found or invalid
 -10001	telBadTermErr	invalid TELHandle or handle not found
+-10000	errAEEventFailed	errAEEventFailed
+-9999	cannotMoveAttachedController	cannotMoveAttachedController
+-9998	controllerHasFixedHeight	controllerHasFixedHeight
+-9997	cannotSetWidthOfAttachedController	cannotSetWidthOfAttachedController
+-9996	controllerBoundsNotExact	controllerBoundsNotExact
+-9995	editingNotAllowed	editingNotAllowed
+-9994	badControllerHeight	badControllerHeight
+-9408	deviceCantMeetRequest	deviceCantMeetRequest
+-9407	seqGrabInfoNotAvailable	seqGrabInfoNotAvailable
+-9406	badSGChannel	badSGChannel
+-9405	couldntGetRequiredComponent	couldntGetRequiredComponent
+-9404	notEnoughDiskSpaceToGrab	notEnoughDiskSpaceToGrab
+-9403	notEnoughMemoryToGrab	notEnoughMemoryToGrab
+-9402	cantDoThatInCurrentMode	cantDoThatInCurrentMode
+-9401	grabTimeComplete	grabTimeComplete
+-9400	noDeviceForChannel	noDeviceForChannel
+-9013	snsAlreadyUnheldErr	snsAlreadyUnheldErr
+-9012	snsReliabilityFailureErr	snsReliabilityFailureErr
+-9011	snsConsumerQueueOverrunErr	snsConsumerQueueOverrunErr
+-9010	snsBufferTooSmallErr	snsBufferTooSmallErr
+-9009	snsSubjectToLargeErr	snsSubjectToLargeErr
+-9008	snsNoSuchDistributorErr	snsNoSuchDistributorErr
+-9007	snsDuplicateDistributorErr	snsDuplicateDistributorErr
+-9006	snsDuplicateSubscriptionErr	snsDuplicateSubscriptionErr
+-9005	snsNoRequestsPendingErr	snsNoRequestsPendingErr
+-9004	snsQueueEmptyErr	snsQueueEmptyErr
+-9003	snsDistributorGoneErr	snsDistributorGoneErr
+-9002	snsNoSuchKindErr	snsNoSuchKindErr
+-9001	snsNoSuchSubscriptionErr	snsNoSuchSubscriptionErr
+-9000	snsNoSuchTypeErr	snsNoSuchTypeErr
+-8977	codecNoMemoryPleaseWaitErr	codecNoMemoryPleaseWaitErr
+-8976	codecNothingToBlitErr	codecNothingToBlitErr
+-8975	codecCantQueueErr	codecCantQueueErr
+-8974	codecCantWhenErr	codecCantWhenErr
+-8973	codecOpenErr	codecOpenErr
+-8972	codecConditionErr	codecConditionErr
+-8971	codecExtensionNotFoundErr	codecExtensionNotFoundErr
+-8970	codecDataVersErr	codecDataVersErr
+-8969	codecBadDataErr	codecBadDataErr
+-8968	codecWouldOffscreenErr	codecWouldOffscreenErr
+-8967	codecAbortErr	codecAbortErr
+-8966	codecSpoolErr	codecSpoolErr
+-8965	codecImageBufErr	codecImageBufErr
+-8964	codecScreenBufErr	codecScreenBufErr
+-8963	codecSizeErr	codecSizeErr
+-8962	codecUnimpErr	codecUnimpErr
+-8961	noCodecErr	noCodecErr
+-8960	codecErr	codecErr
+-8785	kTECOutputBufferFullStatus	output buffer has no room for conversion of next input text element (partial conversion)
+-8784	kTECNeedFlushStatus	kTECNeedFlushStatus
+-8783	kTECUsedFallbacksStatus	kTECUsedFallbacksStatus
+-8771	kTECItemUnavailableErr	item (e.g. name) not available for specified region (& encoding if relevant)
+-8770	kTECGlobalsUnavailableErr	globals have already been deallocated (premature TERM)
+-8769	unicodeChecksumErr	unicodeChecksumErr
+-8768	unicodeNoTableErr	unicodeNoTableErr
+-8767	unicodeVariantErr	unicodeVariantErr
+-8766	unicodeFallbacksErr	unicodeFallbacksErr
+-8765	unicodePartConvertErr	unicodePartConvertErr
+-8764	unicodeBufErr	unicodeBufErr
+-8763	unicodeCharErr	unicodeCharErr
+-8762	unicodeElementErr	unicodeElementErr
+-8761	unicodeNotFoundErr	unicodeNotFoundErr
+-8760	unicodeTableFormatErr	unicodeTableFormatErr
+-8759	unicodeDirectionErr	unicodeDirectionErr
+-8758	unicodeContextualErr	unicodeContextualErr
+-8757	unicodeTextEncodingDataErr	unicodeTextEncodingDataErr
+-8756	kTECDirectionErr	direction stack overflow, etc.
+-8755	kTECIncompleteElementErr	text element may be incomplete or is too long for internal buffers
+-8754	kTECUnmappableElementErr	kTECUnmappableElementErr
+-8753	kTECPartialCharErr	input buffer ends in the middle of a multibyte character, conversion stopped
+-8752	kTECBadTextRunErr	kTECBadTextRunErr
+-8751	kTECArrayFullErr	supplied name buffer or TextRun, TextEncoding, or UnicodeMapping array is too small
+-8750	kTECBufferBelowMinimumSizeErr	output buffer too small to allow processing of first input text element
+-8749	kTECNoConversionPathErr	kTECNoConversionPathErr
+-8748	kTECCorruptConverterErr	invalid converter object reference
+-8747	kTECTableFormatErr	kTECTableFormatErr
+-8746	kTECTableChecksumErr	kTECTableChecksumErr
+-8745	kTECMissingTableErr	kTECMissingTableErr
+-8740	kTextUndefinedElementErr	text conversion errors
+-8739	kTextMalformedInputErr	in DBCS, for example, high byte followed by invalid low byte
+-8738	kTextUnsupportedEncodingErr	specified encoding not supported for this operation
 -6231	kDMMainDisplayCannotMoveErr	Trying to move main display (or a display mirrored to it)
 -6230	kDMDisplayAlreadyInstalledErr	Attempt to add an already installed display.
 -6229	kDMDisplayNotFoundErr	Could not find item (will someday remove).
@@ -99,6 +259,10 @@
 -6222	kDMWrongNumberOfDisplays	Can only handle 2 displays for now.
 -6221	kDMMirroringOnAlready	Returned by all calls that need mirroring to be off to do their thing.
 -6220	kDMGenErr	Unexpected Error
+-5753	collectionVersionErr	collectionVersionErr
+-5752	collectionIndexRangeErr	collectionIndexRangeErr
+-5751	collectionItemNotFoundErr	collectionItemNotFoundErr
+-5750	collectionItemLockedErr	collectionItemLockedErr
 -5553	gestaltLocationErr	gestalt function ptr wasn't in sysheap
 -5552	gestaltDupSelectorErr	tried to add an entry that already existed
 -5551	gestaltUndefSelectorErr	undefined selector was passed to Gestalt
@@ -106,44 +270,184 @@
 -5502	envVersTooBig	Version bigger than call can handle
 -5501	envBadVers	Version non-positive
 -5500	envNotPresent	returned by glue.
--5044	afpInsideTrashErr	the folder being shared is inside the trash folder OR the shared folder is being moved into the trash folder OR the folder is being moved to the trash and it contains a shared folder
--5043	afpInsideSharedErr	the folder being shared is inside a shared folder OR the folder contains a shared folder and is being moved into a shared folder OR the folder contains a shared folder and is being moved into the descendent of a shared folder.
+-5253	errCannotUndo	errCannotUndo
+-5252	errNonContiuousAttribute	errNonContiuousAttribute
+-5251	errUnknownElement	errUnknownElement
+-5250	errReadOnlyText	errReadOnlyText
+-5249	errEmptyScrap	errEmptyScrap
+-5248	errNoHiliteText	errNoHiliteText
+-5247	errOffsetNotOnElementBounday	errOffsetNotOnElementBounday
+-5246	errInvalidRange	errInvalidRange
+-5245	errIteratorReachedEnd	errIteratorReachedEnd
+-5244	errEngineNotFound	errEngineNotFound
+-5243	errAlreadyInImagingMode	errAlreadyInImagingMode
+-5242	errNotInImagingMode	errNotInImagingMode
+-5241	errMarginWilllNotFit	errMarginWilllNotFit
+-5240	errUnknownAttributeTag	errUnknownAttributeTag
+-5229	textParserNoMoreTokensErr	textParserNoMoreTokensErr
+-5228	textParserNoSuchTokenFoundErr	textParserNoSuchTokenFoundErr
+-5227	textParserBadTextEncodingErr	textParserBadTextEncodingErr
+-5226	textParserBadTextLanguageErr	textParserBadTextLanguageErr
+-5225	textParserNoMoreTextErr	textParserNoMoreTextErr
+-5224	textParserParamErr	textParserParamErr
+-5223	textParserBadParserObjectErr	textParserBadParserObjectErr
+-5222	textParserBadTokenValueErr	textParserBadTokenValueErr
+-5221	textParserObjectNotFoundErr	textParserObjectNotFoundErr
+-5220	textParserBadParamErr	textParserBadParamErr
+-5212	numberFortmattingNotADigitErr	numberFortmattingNotADigitErr
+-5211	numberFormattingBadCurrencyPositionErr	numberFormattingBadCurrencyPositionErr
+-5210	numberFormattingUnOrdredCurrencyRangeErr	numberFormattingUnOrdredCurrencyRangeErr
+-5209	numberFormattingBadTokenErr	numberFormattingBadTokenErr
+-5207	numberFormattingBadFormatErr	numberFormattingBadFormatErr
+-5206	numberFormattingEmptyFormatErr	numberFormattingEmptyFormatErr
+-5205	numberFormattingDelimiterMissingErr	numberFormattingDelimiterMissingErr
+-5204	numberFormattingLiteralMissingErr	numberFormattingLiteralMissingErr
+-5203	numberFormattingSpuriousCharErr	numberFormattingSpuriousCharErr
+-5202	numberFormattingBadNumberFormattingObjectErr	numberFormattingBadNumberFormattingObjectErr
+-5201	numberFormattingOverflowInDestinationErr	numberFormattingOverflowInDestinationErr
+-5200	numberFormattingNotANumberErr	numberFormattingNotANumberErr
+-5063	afpSameNodeErr	Display Manager error codes (-6220...-6269)
+-5062	afpAlreadyMounted	afpAlreadyMounted
+-5061	afpCantMountMoreSrvre	afpCantMountMoreSrvre
+-5060	afpBadDirIDType	afpBadDirIDType
+-5044	afpInsideTrashErr	the folder being shared is inside the trash folder
+-5043	afpInsideSharedErr	the folder being shared is inside a shared folder OR the folder contains a shared folder and is being moved into a shared folder
 -5042	afpPwdExpiredErr	the password being used is too old: this requires the user to change the password before log-in can continue
 -5041	afpPwdTooShortErr	the password being set is too short: there is a minimum length that must be met or exceeded
 -5040	afpPwdSameErr	someone tried to change their password to the same password on a mantadory password change
+-5039	afpBadIDErr	afpBadIDErr
+-5038	afpSameObjectErr	afpSameObjectErr
+-5037	afpCatalogChanged	afpCatalogChanged
+-5036	afpDiffVolErr	afpDiffVolErr
+-5035	afpIDExists	afpIDExists
+-5034	afpIDNotFound	afpIDNotFound
 -5033	afpContainsSharedErr	the folder being shared contains a shared folder
 -5032	afpObjectLocked	Object is M/R/D/W inhibited
 -5031	afpVolLocked	Volume is Read-Only
+-5030	afpIconTypeError	afpIconTypeError
+-5029	afpDirNotFound	afpDirNotFound
+-5028	numberFormattingBadOptionsErr	numberFormattingBadOptionsErr
+-5027	afpServerGoingDown	afpServerGoingDown
+-5026	afpTooManyFilesOpen	afpTooManyFilesOpen
+-5025	afpObjectTypeErr	afpObjectTypeErr
+-5024	afpCallNotSupported	afpCallNotSupported
+-5023	afpUserNotAuth	afpUserNotAuth
+-5022	afpSessClosed	afpSessClosed
+-5021	afpRangeOverlap	afpRangeOverlap
+-5020	afpRangeNotLocked	afpRangeNotLocked
+-5019	afpParmErr	afpParmErr
+-5018	afpObjectNotFound	afpObjectNotFound
+-5017	afpObjectExists	afpObjectExists
+-5016	afpNoServer	afpNoServer
+-5015	afpNoMoreLocks	afpNoMoreLocks
+-5014	afpMiscErr	afpMiscErr
+-5013	afpLockErr	afpLockErr
+-5012	afpItemNotFound	afpItemNotFound
+-5011	afpFlatVol	afpFlatVol
+-5010	afpFileBusy	afpFileBusy
+-5009	afpEofError	afpEofError
+-5008	afpDiskFull	afpDiskFull
+-5007	afpDirNotEmpty	afpDirNotEmpty
+-5006	afpDenyConflict	afpDenyConflict
+-5005	afpCantMove	afpCantMove
+-5004	afpBitmapErr	afpBitmapErr
+-5003	afpBadVersNum	afpBadVersNum
+-5002	afpBadUAM	afpBadUAM
+-5001	afpAuthContinue	afpAuthContinue
+-5000	afpAccessDenied	afpAccessDenied
+-4009	noHelpForItem	noHelpForItem
+-4008	badProfileError	badProfileError
+-4007	colorSyncNotInstalled	colorSyncNotInstalled
+-4006	pickerCantLive	pickerCantLive
+-4005	cantLoadPackage	cantLoadPackage
+-4004	cantCreatePickerWindow	cantCreatePickerWindow
+-4003	cantLoadPicker	cantLoadPicker
+-4002	pickerResourceError	pickerResourceError
+-4001	requiredFlagsDontMatch	requiredFlagsDontMatch
+-4000	firstPickerError	firstPickerError
+-3109	sktClosedErr	sktClosedErr
+-3108	recNotFnd	recNotFnd
+-3107	atpBadRsp	atpBadRsp
+-3106	atpLenErr	atpLenErr
+-3105	readQErr	readQErr
+-3104	extractErr	extractErr
+-3103	ckSumErr	ckSumErr
+-3102	noMPPErr	noMPPErr
+-3101	buf2SmallErr	buf2SmallErr
+-3032	noPrefAppErr	noPrefAppErr
+-3031	badTranslationSpecErr	badTranslationSpecErr
+-3030	noTranslationPathErr	noTranslationPathErr
 -3026	couldNotParseSourceFileErr	Source document does not contain source type
 -3025	invalidTranslationPathErr	Source type to destination type not a valid path
--2899	fragLastErrCode	last reserved error code number
--2824	fragInvalidFragmentUsage	an application fragment or accellerated resource has no entry point or termination routine
--2823	fragArchError	fragment targeted for an unacceptable architecture
--2822	fragAppNotFound	no application found in cfrg (for Process Manager)
--2821	fragUserInitProcErr	user intialization routine did not return noErr
--2820	fragCorruptErr	fragment container corrupted (known format)
--2819	fragConstErr	internal inconstistancy
--2818	fragMgrInitErr	error in initailization of this manager
--2817	fragLibConnErr	error connecting to library (error occured in sub prepare)
--2816	fragInitRtnUsageErr	boot library has initialization routine
--2815	fragInitLoop	circularity detected in mandatory initialization order
--2814	fragImportTooNew	import library was too new and therefore incompatible
--2813	fragImportTooOld	import library was too old and therefore incompatible
--2812	fragObjectInitSeqErr	order error during user initialization function invocation
--2811	fragNoContextIDs	no more context id¹s
--2810	fragNoAddrSpace	out of memory in user's address space for loadable section
--2809	fragNoMem	out of memory for interal bookkeeping
--2808	fragUnused1	unused
--2807	fragHadUnresolveds	loaded fragment had "hard" unresolved imports
--2806	fragFormatUnknown	fragment container format unknown
--2805	fragDupRegLibName	registered name already in use
--2804	fragLibNotFound	library name not found in Frag registry
--2803	fragSectionNotFound	section was not found
--2802	fragSymbolNotFound	symbol was not found in connection
--2801	fragConnectionIDNotFound	connecionID was not valid
--2800	fragContextNotFound	contextID was not valid
+-3003	componentDontRegister	componentDontRegister
+-3002	componentNotCaptured	componentNotCaptured
+-3001	validInstancesExist	validInstancesExist
+-3000	invalidComponentID	invalidComponentID
+-2899	cfragLastErrCode	The last value in the range of CFM errors.
+-2830	cfragAbortClosureErr	Used by notification handlers to abort a closure.
+-2829	cfragClosureIDErr	The closure ID was not valid.
+-2828	cfragContainerIDErr	The fragment container ID was not valid.
+-2827	cfragNoRegistrationErr	The registration name was not found.
+-2826	cfragNotClosureErr	The closure ID was actually a connection ID.
+-2825	cfragFileSizeErr	A file was too large to be mapped.
+-2824	cfragFragmentUsageErr	A semantic error in usage of the fragment.
+-2823	cfragArchitectureErr	A fragment has an unacceptable architecture.
+-2822	cfragNoApplicationErr	No application member found in the cfrg resource.
+-2821	cfragInitFunctionErr	A fragment's initialization routine returned an error.
+-2820	cfragFragmentCorruptErr	A fragment's container was corrupt (known format).
+-2819	cfragCFMInternalErr	An internal inconstistancy has been detected.
+-2818	cfragCFMStartupErr	Internal error during CFM initialization.
+-2817	cfragLibConnErr	
+-2816	cfragInitAtBootErr	A boot library has an initialization function.  (System 7 only)
+-2815	cfragInitLoopErr	Circularity in required initialization order.
+-2814	cfragImportTooNewErr	An import library was too new for a client.
+-2813	cfragImportTooOldErr	An import library was too old for a client.
+-2812	cfragInitOrderErr	
+-2811	cfragNoIDsErr	No more CFM IDs for contexts, connections, etc.
+-2810	cfragNoClientMemErr	Out of memory for fragment mapping or section instances.
+-2809	cfragNoPrivateMemErr	Out of memory for internal bookkeeping.
+-2808	cfragNoPositionErr	The registration insertion point was not found.
+-2807	cfragUnresolvedErr	A fragment had "hard" unresolved imports.
+-2806	cfragFragmentFormatErr	A fragment's container format is unknown.
+-2805	cfragDupRegistrationErr	The registration name was already in use.
+-2804	cfragNoLibraryErr	The named library was not found.
+-2803	cfragNoSectionErr	The specified section was not found.
+-2802	cfragNoSymbolErr	The specified symbol was not found.
+-2801	cfragConnectionIDErr	The connection ID was not valid.
+-2800	cfragFirstErrCode	The first value in the range of CFM errors.
+-2780	errASInconsistentNames	English errors:
+-2763	errASNoResultReturned	The range -2780 thru -2799 is reserved for dialect specific error codes. (Error codes from different dialects may overlap.)
+-2762	errASParameterNotForEvent	errASParameterNotForEvent
+-2761	errASIllegalFormalParameter	errASIllegalFormalParameter
+-2760	errASTerminologyNestingTooDeep	errASTerminologyNestingTooDeep
+-2721	errASCantCompareMoreThan32k	Parser/Compiler errors:
+-2720	errASCantConsiderAndIgnore	errASCantConsiderAndIgnore
+-2556	nrTransactionAborted	transaction was aborted
+-2555	nrExitedIteratorScope	outer scope of iterator was exited
+-2554	nrIterationDone	iteration operation is done
+-2553	nrPropertyAlreadyExists	property already exists
+-2552	nrInvalidEntryIterationOp	invalid entry iteration operation
 -2551	nrPathBufferTooSmall	buffer for path is too small
 -2550	nrPathNotFound	a path component lookup failed
+-2549	nrResultCodeBase	nrResultCodeBase
+-2548	nrOverrunErr	nrOverrunErr
+-2547	nrNotModifiedErr	nrNotModifiedErr
+-2546	nrTypeMismatchErr	nrTypeMismatchErr
+-2545	nrPowerSwitchAbortErr	nrPowerSwitchAbortErr
+-2544	nrPowerErr	nrPowerErr
+-2543	nrDataTruncatedErr	nrDataTruncatedErr
+-2542	nrNotSlotDeviceErr	nrNotSlotDeviceErr
+-2541	nrNameErr	nrNameErr
+-2540	nrNotCreatedErr	nrNotCreatedErr
+-2539	nrNotFoundErr	nrNotFoundErr
+-2538	nrInvalidNodeErr	nrInvalidNodeErr
+-2537	nrNotEnoughMemoryErr	nrNotEnoughMemoryErr
+-2536	nrLockedErr	nrLockedErr
+-2526	mmInternalError	mmInternalError
+-2523	tsmNoStem	No stem exists for the token
+-2522	tsmNoMoreTokens	No more tokens are available for the source text
+-2521	tsmNoHandler	No Callback Handler exists for callback
+-2520	tsmInvalidContext	Invalid TSMContext specified in call
 -2519	tsmUnknownErr	any other errors
 -2518	tsmUnsupportedTypeErr	unSupported interface type error
 -2517	tsmScriptHasNoIMErr	script has no imput method or is using old IM
@@ -162,6 +466,30 @@
 -2504	tsmNeverRegisteredErr	app never registered error (not TSM aware)
 -2503	tsmAlreadyRegisteredErr	want to register again error
 -2502	tsmNotAnAppErr	not an application error
+-2501	tsmInputMethodNotFoundErr	tsmInputMethodNotFoundErr
+-2500	tsmUnsupScriptLanguageErr	tsmUnsupScriptLanguageErr
+-2499	kernelUnrecoverableErr	kernelUnrecoverableErr
+-2422	kernelReturnValueErr	kernelReturnValueErr
+-2421	kernelAlreadyFreeErr	kernelAlreadyFreeErr
+-2419	kernelIDErr	kernelIDErr
+-2418	kernelExceptionErr	kernelExceptionErr
+-2417	kernelTerminatedErr	kernelTerminatedErr
+-2416	kernelInUseErr	kernelInUseErr
+-2415	kernelTimeoutErr	kernelTimeoutErr
+-2414	kernelAsyncReceiveLimitErr	kernelAsyncReceiveLimitErr
+-2413	kernelAsyncSendLimitErr	kernelAsyncSendLimitErr
+-2412	kernelAttributeErr	kernelAttributeErr
+-2411	kernelExecutionLevelErr	kernelExecutionLevelErr
+-2410	kernelDeletePermissionErr	kernelDeletePermissionErr
+-2409	kernelExecutePermissionErr	kernelExecutePermissionErr
+-2408	kernelReadPermissionErr	kernelReadPermissionErr
+-2407	kernelWritePermissionErr	kernelWritePermissionErr
+-2406	kernelObjectExistsErr	kernelObjectExistsErr
+-2405	kernelUnsupportedErr	kernelUnsupportedErr
+-2404	kernelPrivilegeErr	kernelPrivilegeErr
+-2403	kernelOptionsErr	kernelOptionsErr
+-2402	kernelCanceledErr	kernelCanceledErr
+-2401	kernelIncompleteErr	kernelIncompleteErr
 -2209	badCallOrderErr	Usually due to a status call being called prior to being setup first
 -2208	noDMAErr	Can¹t do DMA digitizing (i.e. can't go to requested dest
 -2207	badDepthErr	Can¹t digitize into this depth
@@ -171,10 +499,84 @@
 -2203	matrixErr	bad matrix, digitizer did nothing
 -2202	qtParamErr	bad input parameter (out of range, etc)
 -2201	digiUnimpErr	feature unimplemented
+-2108	invalidAtomTypeErr	invalidAtomTypeErr
+-2107	invalidAtomContainerErr	invalidAtomContainerErr
+-2106	invalidAtomErr	invalidAtomErr
+-2105	duplicateAtomTypeAndIDErr	duplicateAtomTypeAndIDErr
+-2104	atomIndexInvalidErr	atomIndexInvalidErr
+-2103	atomsNotOfSameTypeErr	atomsNotOfSameTypeErr
+-2102	notLeafAtomErr	notLeafAtomErr
+-2101	cannotFindAtomErr	cannotFindAtomErr
+-2068	invalidImageIndexErr	invalidImageIndexErr
+-2067	invalidSpriteIndexErr	invalidSpriteIndexErr
+-2066	gWorldsNotSameDepthAndSizeErr	gWorldsNotSameDepthAndSizeErr
+-2065	invalidSpritePropertyErr	invalidSpritePropertyErr
+-2064	invalidSpriteWorldPropertyErr	invalidSpriteWorldPropertyErr
+-2062	movieTextNotFoundErr	movieTextNotFoundErr
+-2059	samplesAlreadyInMediaErr	samplesAlreadyInMediaErr
+-2058	auxiliaryExportDataUnavailable	auxiliaryExportDataUnavailable
+-2057	unsupportedAuxiliaryImportData	unsupportedAuxiliaryImportData
 -2056	soundSupportNotAvailableErr	QT for Windows error
 -2055	noSoundTrackInMovieErr	QT for Windows error
 -2054	noVideoTrackInMovieErr	QT for Windows error
+-2053	featureUnsupported	featureUnsupported
+-2052	couldNotUseAnExistingSample	couldNotUseAnExistingSample
+-2051	noDefaultDataRef	noDefaultDataRef
+-2050	badDataRefIndex	badDataRefIndex
+-2049	invalidDataRefContainer	invalidDataRefContainer
+-2048	noMovieFound	noMovieFound
+-2047	dataNoDataRef	dataNoDataRef
+-2046	endOfDataReached	endOfDataReached
+-2045	dataAlreadyClosed	dataAlreadyClosed
+-2044	dataAlreadyOpenForWrite	dataAlreadyOpenForWrite
+-2043	dataNotOpenForWrite	dataNotOpenForWrite
+-2042	dataNotOpenForRead	dataNotOpenForRead
+-2041	invalidSampleDescription	invalidSampleDescription
+-2040	invalidChunkCache	invalidChunkCache
+-2039	invalidSampleDescIndex	invalidSampleDescIndex
+-2038	invalidChunkNum	invalidChunkNum
+-2037	invalidSampleNum	invalidSampleNum
+-2036	invalidRect	invalidRect
+-2035	cantEnableTrack	cantEnableTrack
+-2034	internalQuickTimeError	internalQuickTimeError
+-2033	badEditIndex	badEditIndex
+-2032	timeNotInMedia	timeNotInMedia
+-2031	timeNotInTrack	timeNotInTrack
+-2030	trackNotInMovie	trackNotInMovie
+-2029	trackIDNotFound	trackIDNotFound
+-2028	badTrackIndex	badTrackIndex
+-2027	maxSizeToGrowTooSmall	maxSizeToGrowTooSmall
+-2026	userDataItemNotFound	userDataItemNotFound
+-2025	staleEditState	staleEditState
+-2024	nonMatchingEditState	nonMatchingEditState
+-2023	invalidEditState	invalidEditState
 -2022	cantCreateSingleForkFile	happens when file already exists
+-2021	wfFileNotFound	wfFileNotFound
+-2020	movieToolboxUninitialized	movieToolboxUninitialized
+-2019	progressProcAborted	progressProcAborted
+-2018	mediaTypesDontMatch	mediaTypesDontMatch
+-2017	badEditList	badEditList
+-2016	cantPutPublicMovieAtom	cantPutPublicMovieAtom
+-2015	invalidTime	invalidTime
+-2014	invalidDuration	invalidDuration
+-2013	invalidHandler	invalidHandler
+-2012	invalidDataRef	invalidDataRef
+-2011	invalidSampleTable	invalidSampleTable
+-2010	invalidMovie	invalidMovie
+-2009	invalidTrack	invalidTrack
+-2008	invalidMedia	invalidMedia
+-2007	noDataHandler	noDataHandler
+-2006	noMediaHandler	noMediaHandler
+-2005	badComponentType	badComponentType
+-2004	cantOpenHandler	cantOpenHandler
+-2003	cantFindHandler	cantFindHandler
+-2002	badPublicMovieAtom	badPublicMovieAtom
+-2001	badImageDescription	badImageDescription
+-2000	couldNotResolveDataRef	couldNotResolveDataRef
+-1861	badImageErr	bad translucent image PixMap
+-1860	badImageRgnErr	bad translucent image region
+-1859	noSuitableDisplaysErr	no displays support translucency
+-1858	unsupportedForPlatformErr	call is for PowerPC only
 -1857	dragNotAcceptedErr	drag was not accepted by receiver
 -1856	handlerNotFoundErr	handler not found
 -1855	duplicateHandlerErr	handler already exists
@@ -183,8 +585,30 @@
 -1852	badDragFlavorErr	unknown flavor type
 -1851	badDragItemErr	unknown drag item reference
 -1850	badDragRefErr	unknown drag reference
+-1813	errEndOfBody	errEndOfBody
+-1812	errEndOfDocument	errEndOfDocument
+-1811	errTopOfBody	errTopOfBody
+-1810	errTopOfDocument	errTopOfDocument
+-1801	errOffsetIsOutsideOfView	errOffsetIsOutsideOfView
+-1800	errOffsetInvalid	errOffsetInvalid
 -1762	errOSACantOpenComponent	Can't connect to scripting system with that ID
 -1761	errOSAComponentMismatch	Parameters are from 2 different components
+-1759	errOSADataFormatTooNew	errOSADataFormatTooNew
+-1758	errOSADataFormatObsolete	errOSADataFormatObsolete
+-1757	errOSANoSuchDialect	errOSANoSuchDialect
+-1756	errOSASourceNotAvailable	errOSASourceNotAvailable
+-1754	errOSABadSelector	errOSABadSelector
+-1753	errOSAScriptError	errOSAScriptError
+-1752	errOSABadStorageType	errOSABadStorageType
+-1751	errOSAInvalidID	errOSAInvalidID
+-1750	errOSASystemError	errOSASystemError
+-1739	errAEDescIsNull	attempting to perform an invalid operation on a null descriptor
+-1738	errAEStreamAlreadyConverted	attempt to convert a stream that has already been converted
+-1737	errAEStreamBadNesting	nesting violation while streaming
+-1736	errAEDuplicateHandler	attempt to install handler in table for identical class and id (1.1 or greater)
+-1735	errAEEventFiltered	event has been filtered, and should not be propogated (1.1 or greater)
+-1734	errAEReceiveEscapeCurrent	break out of only lowest level of AEReceive (1.1 or greater)
+-1733	errAEReceiveTerminate	break out of all levels of AEReceive to the topmost (1.1 or greater)
 -1732	errAERecordingIsAlreadyOn	available only in version 1.0.1 or greater
 -1731	errAEUnknownObjectType	available only in version 1.0.1 or greater
 -1730	errAEEmptyListContainer	Attempt to pass empty list as container to accessor
@@ -211,7 +635,12 @@
 -1707	errAENotAppleEvent	the event is not in AppleEvent format
 -1706	errAENewerVersion	need newer version of the AppleEvent manager
 -1705	errAEBadListItem	the specified list item does not exist
+-1704	errAENotAEDesc	errAENotAEDesc
+-1703	errAEWrongDataType	errAEWrongDataType
+-1702	errAECorruptData	errAECorruptData
+-1701	errAEDescNotFound	errAEDescNotFound
 -1700	errAECoercionFail	bad parameter data or unable to coerce the data supplied
+-1311	volVMBusyErr	can't eject because volume is in use by VM
 -1310	fsDataTooBigErr	file or volume is too big for system
 -1309	fileBoundsErr	file's EOF, offset, mark or size is too big
 -1308	notARemountErr	when _Mount allows only remounts and doesn't get one
@@ -231,6 +660,16 @@
 -1275	errFwdReset	read terminated by forward reset
 -1274	errDSPQueueSize	DSP Read/Write Queue Too small
 -1273	errOpenDenied	open connection request was denied
+-1105	reqAborted	reqAborted
+-1104	noDataArea	noDataArea
+-1103	noSendResp	noSendResp
+-1102	cbNotFound	cbNotFound
+-1101	noRelErr	noRelErr
+-1100	badBuffNum	badBuffNum
+-1099	badATPSkt	badATPSkt
+-1098	tooManySkts	tooManySkts
+-1097	tooManyReqs	tooManyReqs
+-1096	reqFailed	reqFailed
 -1075	aspNoAck	No ack on attention request (server err)
 -1074	aspTooMany	Too many clients (server error)
 -1073	aspSizeErr	Command block too big
@@ -245,6 +684,7 @@
 -1028	nbpNotFound	Name not found on remove
 -1027	nbpDuplicate	Duplicate name exists already
 -1026	nbpConfDiff	Name confirmed at different socket
+-1025	nbpNoConfirm	nbpNoConfirm
 -1024	nbpBuffOvr	Buffer overflow in LookupName
 -1000	noMaskFoundErr	Icon Utilties Error
 -932	guestNotAllowedErr	destination port requires authentication
@@ -292,6 +732,13 @@
 -809	rcDBAsyncNotSupp	ddev does not support async calls
 -808	rcDBBadDDEV	bad ddev specified on DBInit
 -807	rcDBBadSessNum	bad session number for DBGetConnInfo
+-806	rcDBBadSessID	rcDBBadSessID
+-805	rcDBExec	rcDBExec
+-804	rcDBBreak	rcDBBreak
+-803	rcDBBadType	rcDBBadType
+-802	rcDBError	rcDBError
+-801	rcDBValue	rcDBValue
+-800	rcDBNull	rcDBNull
 -626	noMMUErr	no MMU present
 -625	cannotDeferErr	unable to defer additional functions
 -624	interruptsMaskedErr	don¹t call with interrupts masked
@@ -299,7 +746,12 @@
 -622	cannotMakeContiguousErr	cannot make specified range contiguous
 -621	notHeldErr	specified range of memory is not held
 -620	notEnoughMemoryErr	insufficient physical memory
+-619	threadProtocolErr	threadProtocolErr
+-618	threadNotFoundErr	threadNotFoundErr
+-617	threadTooManyReqsErr	threadTooManyReqsErr
 -610	noUserInteractionAllowed	no user interaction allowed
+-609	connectionInvalid	connectionInvalid
+-608	noOutstandingHLE	noOutstandingHLE
 -607	bufferIsSmall	error returns from Post and Accept
 -606	appIsDaemon	app is BG-only, and launch flags disallow this
 -605	appMemFullErr	application SIZE not big enough for launch
@@ -310,6 +762,7 @@
 -600	procNotFound	no eligible process with specified descriptor
 -502	hwParamErr	bad selector for _HWPriv
 -501	teScrapSizeErr	scrap item too big for text edit record
+-500	rgnTooBigErr	rgnTooBigErr
 -492	exUserBreak	user debugger break; execute debugger commands on stack
 -491	strUserBreak	user debugger break; display string on stack
 -490	userBreak	user debugger break
@@ -354,7 +807,7 @@
 -330	smBadRefId	Reference Id not found in List
 -320	smBusErrTO	BusError time out.
 -319	smBadBoardId	BoardId was wrong; re-init the PRAM record.
--318	smNoJmpTbl	SDM jump table could not be created.
+-318	smReservedSlot	slot is reserved, VM should not use this address space.
 -317	smInitTblVErr	An error occured while trying to initialize the Slot Resource Table.
 -316	smInitStatVErr	The InitStatusV field was negative after primary or secondary init.
 -315	smNoBoardId	No Board Id.
@@ -390,6 +843,14 @@
 -252	midiTooManyPortsErr	too many ports already installed in the system
 -251	midiNoPortErr	no port with that ID found
 -250	midiNoClientErr	no client with that ID found
+-247	badInputText	badInputText
+-246	badDictFormat	badDictFormat
+-245	incompatibleVoice	incompatibleVoice
+-244	voiceNotFound	voiceNotFound
+-243	bufTooSmall	bufTooSmall
+-242	synthNotReady	synthNotReady
+-241	synthOpenFailed	synthOpenFailed
+-240	noSynthFound	noSynthFound
 -232	siUnknownQuality	invalid quality selector (returned by driver)
 -231	siUnknownInfoType	invalid info type selector (returned by driver)
 -230	siInputDeviceErr	input device hardware failure
@@ -404,6 +865,7 @@
 -221	siBadSoundInDevice	invalid index passed to SoundInGetIndexedDevice
 -220	siNoSoundInHardware	no Sound Input hardware
 -212	noMoreRealTime	not enough CPU cycles left to add another task
+-211	channelNotBusy	channelNotBusy
 -210	buffersTooSmall	can not operate in the memory allowed
 -209	channelBusy	the Channel is being used for a PFD already
 -208	badFileFormat	was not type AIFF or was of bad format,corrupt
@@ -435,6 +897,11 @@
 -152	cNoMemErr	failed to allocate memory for structure
 -151	cTempMemErr	failed to allocate memory for temporary structures
 -150	cMatchErr	Color2Index failed to find an index
+-149	insufficientStackErr	insufficientStackErr
+-148	pixMapTooDeepErr	pixMapTooDeepErr
+-147	rgnOverflowErr	rgnOverflowErr
+-145	noMemForPictPlaybackErr	noMemForPictPlaybackErr
+-128	userCanceledErr	userCanceledErr
 -127	hMenuFindErr	could not find HMenu's parent in MenuKey
 -126	mBarNFnd	system error code for MBDF not found
 -125	updPixMemErr	insufficient memory to update a pixmap
@@ -462,15 +929,15 @@
 -95	excessCollsns	excessive collisions on write
 -94	lapProtErr	error in attaching/detaching protocol
 -93	noBridgeErr	no network bridge for non-local send
--92	ddpLenErr	data length too big
--91	ddpSktErr	error in soket number
+-92	eLenErr	Length error ddpLenErr
+-91	eMultiErr	Multicast address error ddpSktErr
 -90	breakRecd	Break received (SCC)
 -89	rcvrErr	SCC receiver error (framing; parity; OR)
 -88	prInitErr	InitUtil found the parameter ram uninitialized
 -87	prWrErr	parameter ram written didn't read-verify
 -86	clkWrErr	time written did not verify
 -85	clkRdErr	unable to read same clock value twice
--84	firstDskErr	I/O System Errors
+-84	verErr	track failed to verify
 -83	fmt2Err	can't get enough sync
 -82	fmt1Err	can't find sector 0 after track format
 -81	sectNFErr	sector number never found on a track
@@ -488,8 +955,8 @@
 -69	badCksmErr	addr mark checksum didn't check
 -68	dataVerErr	read verify compare failed
 -67	noAdrMkErr	couldn't find valid addr mark
--66	fontSubErr	font substitution occured
--65	fontNotDeclared	font not declared
+-66	noNybErr	couldn't find 5 nybbles in 200 tries
+-65	offLinErr	r/w requested for an off-line drive
 -64	fontDecError	error during font declaration
 -61	wrPermErr	write permissions error
 -60	badMDBErr	bad master directory block
@@ -523,7 +990,7 @@
 -30	dceExtErr	dce extension error
 -29	unitTblFullErr	unit table has no more entries
 -28	notOpenErr	Couldn't rd/wr/ctl/sts cause driver not opened
--27	abortErr	IO call aborted by KillIO
+-27	iIOAbortErr	IO abort error (Printing Manager)
 -26	dInstErr	DrvrInstall couldn't find driver in resources
 -25	dRemovErr	tried to remove an open driver
 -24	closErr	I/O System Errors
@@ -542,7 +1009,7 @@
 -5	SlpTypeErr	invalid queue element
 -4	unimpErr	unimplemented core routine
 -3	corErr	core routine number out of range
--2	vTypErr	invalid queue element
+-2	dsNoExtsDisassembler	not a SysErr, just a placeholder
 -1	qErr	queue element not found during deletion
 0	tsmComponentNoErr	component result = no error
 1	EPERM	Operation not permitted
@@ -579,12 +1046,12 @@
 32	EPIPE	Broken pipe
 33	EDOM	Numerical argument out of domain
 34	ERANGE	Result too large
-35	EFPOS	File positioning error
-36	ESIGPARM	Signal argument error
-37	ENOMEM	Cannot allocate memory
-38	EACCES	Permission denied
-39	ENOENT	No such file or directory
-40	ENOSYS	Function not implemented
+35	EAGAIN	Resource temporarily unavailable
+36	EINPROGRESS	Operation now in progress
+37	EALREADY	Operation already in progress
+38	ENOTSOCK	Socket operation on non-socket
+39	EDESTADDRREQ	Destination address required
+40	EMSGSIZE	Message too long
 41	EPROTOTYPE	Protocol wrong type for socket
 42	ENOPROTOOPT	Protocol not available
 43	EPROTONOSUPPORT	Protocol not supported
diff --git a/Mac/scripts/mkestrres.py b/Mac/scripts/mkestrres.py
index f9874f6..a1a6049 100644
--- a/Mac/scripts/mkestrres.py
+++ b/Mac/scripts/mkestrres.py
@@ -25,6 +25,12 @@
 			"[, \t]*/\*[ \t]*" \
 			"\(.*\)" \
 			"[ \t]*\*/"
+		   
+ERRORS_PROG_2="[ \t]*" \
+			"\([A-Z0-9a-z_]+\)" \
+			"[ \t]*=[ \t]*" \
+			"\([-0-9]+\)" \
+			"[, \t]*"
 
 def Pstring(str):
 	if len(str) > 255:
@@ -68,11 +74,20 @@
 								
 def parse_errors_h(fp, dict):
 	errno_prog = regex.compile(ERRORS_PROG)
+	errno_prog_2 = regex.compile(ERRORS_PROG_2)
 	for line in fp.readlines():
+		match = 0
 		if errno_prog.match(line) > 0:
 			number = string.atoi(errno_prog.group(2))
 			name = errno_prog.group(1)
 			desc = string.strip(errno_prog.group(3))
+			match=1
+		elif errno_prog_2.match(line) > 0:
+			number = string.atoi(errno_prog_2.group(2))
+			name = errno_prog_2.group(1)
+			desc = name
+			match=1
+		if match:
 			if number > 0: continue
 			
 			if not dict.has_key(number):
@@ -81,6 +96,9 @@
 				print 'DUPLICATE', number
 				print '\t', dict[number]
 				print '\t', (desc, name)
+				if len(desc) > len(dict[number][0]):
+					print 'Pick second one'
+					dict[number] = desc, name
 			
 def main():
 	dict = {}