4Misc_Start xHH(Fg(HH(dh .@. IGOR'HHF((~^ com.apple.print.PageFormat.PMHorizontalRes com.apple.print.ticket.creator com.apple.printingmanager com.apple.print.ticket.itemArray com.apple.print.PageFormat.PMHorizontalRes 7.200000000000000e+01 com.apple.print.ticket.client com.apple.printingmanager com.apple.print.ticket.modDate 2002-05-23T17:37:41Z com.apple.print.ticket.stateFlag 0 com.apple.print.PageFormat.PMOrientation com.apple.print.ticket.creator com.apple.printingmanager com.apple.print.ticket.itemArray com.apple.print.PageFormat.PMOrientation 1 com.apple.print.ticket.client com.apple.printingmanager com.apple.print.ticket.modDate 2002-05-23T17:37:41Z com.apple.print.ticket.stateFlag 0 com.apple.print.PageFormat.PMScaling com.apple.print.ticket.creator com.apple.printingmanager com.apple.print.ticket.itemArray com.apple.print.PageFormat.PMScaling 1.000000000000000e+00 com.apple.print.ticket.client com.apple.printingmanager com.apple.print.ticket.modDate 2002-05-23T17:37:41Z com.apple.print.ticket.stateFlag 0 com.apple.print.PageFormat.PMVerticalRes com.apple.print.ticket.creator com.apple.printingmanager com.apple.print.ticket.itemArray com.apple.print.PageFormat.PMVerticalRes 7.200000000000000e+01 com.apple.print.ticket.client com.apple.printingmanager com.apple.print.ticket.modDate 2002-05-23T17:37:41Z com.apple.print.ticket.stateFlag 0 com.apple.print.PageFormat.PMVerticalScaling com.apple.print.ticket.creator com.apple.printingmanager com.apple.print.ticket.itemArray com.apple.print.PageFormat.PMVerticalScaling 1.000000000000000e+00 com.apple.print.ticket.client com.apple.printingmanager com.apple.print.ticket.modDate 2002-05-23T17:37:41Z com.apple.print.ticket.stateFlag 0 com.apple.print.subTicket.paper_info_ticket com.apple.print.PageFormat.PMAdjustedPageRect com.apple.print.ticket.creator com.apple.printingmanager com.apple.print.ticket.itemArray com.apple.print.PageFormat.PMAdjustedPageRect 0.000000000000000e+00 0.000000000000000e+00 7.300000000000000e+02 5.520000000000000e+02 com.apple.print.ticket.client com.apple.printingmanager com.apple.print.ticket.modDate 2002-05-23T17:37:41Z com.apple.print.ticket.stateFlag 0 com.apple.print.PageFormat.PMAdjustedPaperRect com.apple.print.ticket.creator com.apple.printingmanager com.apple.print.ticket.itemArray com.apple.print.PageFormat.PMAdjustedPaperRect -3.100000000000000e+01 -3.000000000000000e+01 7.610000000000000e+02 5.820000000000000e+02 com.apple.print.ticket.client com.apple.printingmanager com.apple.print.ticket.modDate 2002-05-23T17:37:41Z com.apple.print.ticket.stateFlag 0 com.apple.print.PaperInfo.PMMatchPaper com.apple.print.ticket.creator com.apple.printingmanager com.apple.print.ticket.itemArray com.apple.print.PaperInfo.PMMatchPaper com.apple.print.ticket.client com.apple.printingmanager com.apple.print.ticket.modDate 2002-05-23T17:37:41Z com.apple.print.ticket.stateFlag 0 com.apple.print.PaperInfo.PMUnadjustedPageRect com.apple.print.ticket.creator com.apple.printingmanager com.apple.print.ticket.itemArray com.apple.print.PaperInfo.PMUnadjustedPageRect 0.000000000000000e+00 0.000000000000000e+00 7.300000000000000e+02 5.520000000000000e+02 com.apple.print.ticket.client com.apple.printingmanager com.apple.print.ticket.modDate 2002-05-23T17:37:41Z com.apple.print.ticket.stateFlag 0 com.apple.print.PaperInfo.PMUnadjustedPaperRect com.apple.print.ticket.creator com.apple.printingmanager com.apple.print.ticket.itemArray com.apple.print.PaperInfo.PMUnadjustedPaperRect -3.100000000000000e+01 -3.000000000000000e+01 7.610000000000000e+02 5.820000000000000e+02 com.apple.print.ticket.client com.apple.printingmanager com.apple.print.ticket.modDate 2002-05-23T17:37:41Z com.apple.print.ticket.stateFlag 0 com.apple.print.ticket.APIVersion 00.20 com.apple.print.ticket.privateLock com.apple.print.ticket.type com.apple.print.PaperInfoTicket com.apple.print.ticket.APIVersion 00.20 com.apple.print.ticket.privateLock com.apple.print.ticket.type com.apple.print.PageFormatTicket com.apple.print.PrintSettings.PMColorMode com.apple.print.ticket.creator com.apple.printingmanager com.apple.print.ticket.itemArray com.apple.print.PrintSettings.PMColorMode 1 com.apple.print.ticket.client com.apple.printingmanager com.apple.print.ticket.modDate 2002-05-23T17:37:41Z com.apple.print.ticket.stateFlag 0 com.apple.print.PrintSettings.PMCopies com.apple.print.ticket.creator com.apple.printingmanager com.apple.print.ticket.itemArray com.apple.print.PrintSettings.PMCopies 1 com.apple.print.ticket.client com.apple.printingmanager com.apple.print.ticket.modDate 2002-05-23T17:37:41Z com.apple.print.ticket.stateFlag 0 com.apple.print.PrintSettings.PMDestinationType com.apple.print.ticket.creator com.apple.printingmanager com.apple.print.ticket.itemArray com.apple.print.PrintSettings.PMDestinationType 1 com.apple.print.ticket.client com.apple.printingmanager com.apple.print.ticket.modDate 2002-05-23T17:37:41Z com.apple.print.ticket.stateFlag 0 com.apple.print.PrintSettings.PMFirstPage com.apple.print.ticket.creator com.apple.printingmanager com.apple.print.ticket.itemArray com.apple.print.PrintSettings.PMFirstPage 1 com.apple.print.ticket.client com.apple.printingmanager com.apple.print.ticket.modDate 2002-05-23T17:37:41Z com.apple.print.ticket.stateFlag 0 com.apple.print.PrintSettings.PMLastPage com.apple.print.ticket.creator com.apple.printingmanager com.apple.print.ticket.itemArray com.apple.print.PrintSettings.PMLastPage 2147483647 com.apple.print.ticket.client com.apple.printingmanager com.apple.print.ticket.modDate 2002-05-23T17:37:41Z com.apple.print.ticket.stateFlag 0 com.apple.print.PrintSettings.PMPageRange com.apple.print.ticket.creator com.apple.printingmanager com.apple.print.ticket.itemArray com.apple.print.PrintSettings.PMPageRange 1 2147483647 com.apple.print.ticket.client com.apple.printingmanager com.apple.print.ticket.modDate 2002-05-23T17:37:41Z com.apple.print.ticket.stateFlag 0 com.apple.print.ticket.APIVersion 00.20 com.apple.print.ticket.privateLock com.apple.print.ticket.type com.apple.print.PrintSettingsTicket xHH(Fg(HH(dh .@. IGOR'HHF((~^ com.apple.print.PageFormat.PMHorizontalRes com.apple.print.ticket.creator com.apple.printingmanager com.apple.print.ticket.itemArray com.apple.print.PageFormat.PMHorizontalRes 7.200000000000000e+01 com.apple.print.ticket.client com.apple.printingmanager com.apple.print.ticket.modDate 2002-05-23T17:37:41Z com.apple.print.ticket.stateFlag 0 com.apple.print.PageFormat.PMOrientation com.apple.print.ticket.creator com.apple.printingmanager com.apple.print.ticket.itemArray com.apple.print.PageFormat.PMOrientation 1 com.apple.print.ticket.client com.apple.printingmanager com.apple.print.ticket.modDate 2002-05-23T17:37:41Z com.apple.print.ticket.stateFlag 0 com.apple.print.PageFormat.PMScaling com.apple.print.ticket.creator com.apple.printingmanager com.apple.print.ticket.itemArray com.apple.print.PageFormat.PMScaling 1.000000000000000e+00 com.apple.print.ticket.client com.apple.printingmanager com.apple.print.ticket.modDate 2002-05-23T17:37:41Z com.apple.print.ticket.stateFlag 0 com.apple.print.PageFormat.PMVerticalRes com.apple.print.ticket.creator com.apple.printingmanager com.apple.print.ticket.itemArray com.apple.print.PageFormat.PMVerticalRes 7.200000000000000e+01 com.apple.print.ticket.client com.apple.printingmanager com.apple.print.ticket.modDate 2002-05-23T17:37:41Z com.apple.print.ticket.stateFlag 0 com.apple.print.PageFormat.PMVerticalScaling com.apple.print.ticket.creator com.apple.printingmanager com.apple.print.ticket.itemArray com.apple.print.PageFormat.PMVerticalScaling 1.000000000000000e+00 com.apple.print.ticket.client com.apple.printingmanager com.apple.print.ticket.modDate 2002-05-23T17:37:41Z com.apple.print.ticket.stateFlag 0 com.apple.print.subTicket.paper_info_ticket com.apple.print.PageFormat.PMAdjustedPageRect com.apple.print.ticket.creator com.apple.printingmanager com.apple.print.ticket.itemArray com.apple.print.PageFormat.PMAdjustedPageRect 0.000000000000000e+00 0.000000000000000e+00 7.300000000000000e+02 5.520000000000000e+02 com.apple.print.ticket.client com.apple.printingmanager com.apple.print.ticket.modDate 2002-05-23T17:37:41Z com.apple.print.ticket.stateFlag 0 com.apple.print.PageFormat.PMAdjustedPaperRect com.apple.print.ticket.creator com.apple.printingmanager com.apple.print.ticket.itemArray com.apple.print.PageFormat.PMAdjustedPaperRect -3.100000000000000e+01 -3.000000000000000e+01 7.610000000000000e+02 5.820000000000000e+02 com.apple.print.ticket.client com.apple.printingmanager com.apple.print.ticket.modDate 2002-05-23T17:37:41Z com.apple.print.ticket.stateFlag 0 com.apple.print.PaperInfo.PMMatchPaper com.apple.print.ticket.creator com.apple.printingmanager com.apple.print.ticket.itemArray com.apple.print.PaperInfo.PMMatchPaper com.apple.print.ticket.client com.apple.printingmanager com.apple.print.ticket.modDate 2002-05-23T17:37:41Z com.apple.print.ticket.stateFlag 0 com.apple.print.PaperInfo.PMUnadjustedPageRect com.apple.print.ticket.creator com.apple.printingmanager com.apple.print.ticket.itemArray com.apple.print.PaperInfo.PMUnadjustedPageRect 0.000000000000000e+00 0.000000000000000e+00 7.300000000000000e+02 5.520000000000000e+02 com.apple.print.ticket.client com.apple.printingmanager com.apple.print.ticket.modDate 2002-05-23T17:37:41Z com.apple.print.ticket.stateFlag 0 com.apple.print.PaperInfo.PMUnadjustedPaperRect com.apple.print.ticket.creator com.apple.printingmanager com.apple.print.ticket.itemArray com.apple.print.PaperInfo.PMUnadjustedPaperRect -3.100000000000000e+01 -3.000000000000000e+01 7.610000000000000e+02 5.820000000000000e+02 com.apple.print.ticket.client com.apple.printingmanager com.apple.print.ticket.modDate 2002-05-23T17:37:41Z com.apple.print.ticket.stateFlag 0 com.apple.print.ticket.APIVersion 00.20 com.apple.print.ticket.privateLock com.apple.print.ticket.type com.apple.print.PaperInfoTicket com.apple.print.ticket.APIVersion 00.20 com.apple.print.ticket.privateLock com.apple.print.ticket.type com.apple.print.PageFormatTicket com.apple.print.PrintSettings.PMColorMode com.apple.print.ticket.creator com.apple.printingmanager com.apple.print.ticket.itemArray com.apple.print.PrintSettings.PMColorMode 1 com.apple.print.ticket.client com.apple.printingmanager com.apple.print.ticket.modDate 2002-05-23T17:37:41Z com.apple.print.ticket.stateFlag 0 com.apple.print.PrintSettings.PMCopies com.apple.print.ticket.creator com.apple.printingmanager com.apple.print.ticket.itemArray com.apple.print.PrintSettings.PMCopies 1 com.apple.print.ticket.client com.apple.printingmanager com.apple.print.ticket.modDate 2002-05-23T17:37:41Z com.apple.print.ticket.stateFlag 0 com.apple.print.PrintSettings.PMDestinationType com.apple.print.ticket.creator com.apple.printingmanager com.apple.print.ticket.itemArray com.apple.print.PrintSettings.PMDestinationType 1 com.apple.print.ticket.client com.apple.printingmanager com.apple.print.ticket.modDate 2002-05-23T17:37:41Z com.apple.print.ticket.stateFlag 0 com.apple.print.PrintSettings.PMFirstPage com.apple.print.ticket.creator com.apple.printingmanager com.apple.print.ticket.itemArray com.apple.print.PrintSettings.PMFirstPage 1 com.apple.print.ticket.client com.apple.printingmanager com.apple.print.ticket.modDate 2002-05-23T17:37:41Z com.apple.print.ticket.stateFlag 0 com.apple.print.PrintSettings.PMLastPage com.apple.print.ticket.creator com.apple.printingmanager com.apple.print.ticket.itemArray com.apple.print.PrintSettings.PMLastPage 2147483647 com.apple.print.ticket.client com.apple.printingmanager com.apple.print.ticket.modDate 2002-05-23T17:37:41Z com.apple.print.ticket.stateFlag 0 com.apple.print.PrintSettings.PMPageRange com.apple.print.ticket.creator com.apple.printingmanager com.apple.print.ticket.itemArray com.apple.print.PrintSettings.PMPageRange 1 2147483647 com.apple.print.ticket.client com.apple.printingmanager com.apple.print.ticket.modDate 2002-05-23T17:37:41Z com.apple.print.ticket.stateFlag 0 com.apple.print.ticket.APIVersion 00.20 com.apple.print.ticket.privateLock com.apple.print.ticket.type com.apple.print.PrintSettingsTicket xHH(Fg(HH(dh .@. IGOR'HHF((~^ com.apple.print.PageFormat.PMHorizontalRes com.apple.print.ticket.creator com.apple.printingmanager com.apple.print.ticket.itemArray com.apple.print.PageFormat.PMHorizontalRes 7.200000000000000e+01 com.apple.print.ticket.client com.apple.printingmanager com.apple.print.ticket.modDate 2002-05-23T17:37:41Z com.apple.print.ticket.stateFlag 0 com.apple.print.PageFormat.PMOrientation com.apple.print.ticket.creator com.apple.printingmanager com.apple.print.ticket.itemArray com.apple.print.PageFormat.PMOrientation 1 com.apple.print.ticket.client com.apple.printingmanager com.apple.print.ticket.modDate 2002-05-23T17:37:41Z com.apple.print.ticket.stateFlag 0 com.apple.print.PageFormat.PMScaling com.apple.print.ticket.creator com.apple.printingmanager com.apple.print.ticket.itemArray com.apple.print.PageFormat.PMScaling 1.000000000000000e+00 com.apple.print.ticket.client com.apple.printingmanager com.apple.print.ticket.modDate 2002-05-23T17:37:41Z com.apple.print.ticket.stateFlag 0 com.apple.print.PageFormat.PMVerticalRes com.apple.print.ticket.creator com.apple.printingmanager com.apple.print.ticket.itemArray com.apple.print.PageFormat.PMVerticalRes 7.200000000000000e+01 com.apple.print.ticket.client com.apple.printingmanager com.apple.print.ticket.modDate 2002-05-23T17:37:41Z com.apple.print.ticket.stateFlag 0 com.apple.print.PageFormat.PMVerticalScaling com.apple.print.ticket.creator com.apple.printingmanager com.apple.print.ticket.itemArray com.apple.print.PageFormat.PMVerticalScaling 1.000000000000000e+00 com.apple.print.ticket.client com.apple.printingmanager com.apple.print.ticket.modDate 2002-05-23T17:37:41Z com.apple.print.ticket.stateFlag 0 com.apple.print.subTicket.paper_info_ticket com.apple.print.PageFormat.PMAdjustedPageRect com.apple.print.ticket.creator com.apple.printingmanager com.apple.print.ticket.itemArray com.apple.print.PageFormat.PMAdjustedPageRect 0.000000000000000e+00 0.000000000000000e+00 7.300000000000000e+02 5.520000000000000e+02 com.apple.print.ticket.client com.apple.printingmanager com.apple.print.ticket.modDate 2002-05-23T17:37:41Z com.apple.print.ticket.stateFlag 0 com.apple.print.PageFormat.PMAdjustedPaperRect com.apple.print.ticket.creator com.apple.printingmanager com.apple.print.ticket.itemArray com.apple.print.PageFormat.PMAdjustedPaperRect -3.100000000000000e+01 -3.000000000000000e+01 7.610000000000000e+02 5.820000000000000e+02 com.apple.print.ticket.client com.apple.printingmanager com.apple.print.ticket.modDate 2002-05-23T17:37:41Z com.apple.print.ticket.stateFlag 0 com.apple.print.PaperInfo.PMMatchPaper com.apple.print.ticket.creator com.apple.printingmanager com.apple.print.ticket.itemArray com.apple.print.PaperInfo.PMMatchPaper com.apple.print.ticket.client com.apple.printingmanager com.apple.print.ticket.modDate 2002-05-23T17:37:41Z com.apple.print.ticket.stateFlag 0 com.apple.print.PaperInfo.PMUnadjustedPageRect com.apple.print.ticket.creator com.apple.printingmanager com.apple.print.ticket.itemArray com.apple.print.PaperInfo.PMUnadjustedPageRect 0.000000000000000e+00 0.000000000000000e+00 7.300000000000000e+02 5.520000000000000e+02 com.apple.print.ticket.client com.apple.printingmanager com.apple.print.ticket.modDate 2002-05-23T17:37:41Z com.apple.print.ticket.stateFlag 0 com.apple.print.PaperInfo.PMUnadjustedPaperRect com.apple.print.ticket.creator com.apple.printingmanager com.apple.print.ticket.itemArray com.apple.print.PaperInfo.PMUnadjustedPaperRect -3.100000000000000e+01 -3.000000000000000e+01 7.610000000000000e+02 5.820000000000000e+02 com.apple.print.ticket.client com.apple.printingmanager com.apple.print.ticket.modDate 2002-05-23T17:37:41Z com.apple.print.ticket.stateFlag 0 com.apple.print.ticket.APIVersion 00.20 com.apple.print.ticket.privateLock com.apple.print.ticket.type com.apple.print.PaperInfoTicket com.apple.print.ticket.APIVersion 00.20 com.apple.print.ticket.privateLock com.apple.print.ticket.type com.apple.print.PageFormatTicket com.apple.print.PrintSettings.PMColorMode com.apple.print.ticket.creator com.apple.printingmanager com.apple.print.ticket.itemArray com.apple.print.PrintSettings.PMColorMode 1 com.apple.print.ticket.client com.apple.printingmanager com.apple.print.ticket.modDate 2002-05-23T17:37:41Z com.apple.print.ticket.stateFlag 0 com.apple.print.PrintSettings.PMCopies com.apple.print.ticket.creator com.apple.printingmanager com.apple.print.ticket.itemArray com.apple.print.PrintSettings.PMCopies 1 com.apple.print.ticket.client com.apple.printingmanager com.apple.print.ticket.modDate 2002-05-23T17:37:41Z com.apple.print.ticket.stateFlag 0 com.apple.print.PrintSettings.PMDestinationType com.apple.print.ticket.creator com.apple.printingmanager com.apple.print.ticket.itemArray com.apple.print.PrintSettings.PMDestinationType 1 com.apple.print.ticket.client com.apple.printingmanager com.apple.print.ticket.modDate 2002-05-23T17:37:41Z com.apple.print.ticket.stateFlag 0 com.apple.print.PrintSettings.PMFirstPage com.apple.print.ticket.creator com.apple.printingmanager com.apple.print.ticket.itemArray com.apple.print.PrintSettings.PMFirstPage 1 com.apple.print.ticket.client com.apple.printingmanager com.apple.print.ticket.modDate 2002-05-23T17:37:41Z com.apple.print.ticket.stateFlag 0 com.apple.print.PrintSettings.PMLastPage com.apple.print.ticket.creator com.apple.printingmanager com.apple.print.ticket.itemArray com.apple.print.PrintSettings.PMLastPage 2147483647 com.apple.print.ticket.client com.apple.printingmanager com.apple.print.ticket.modDate 2002-05-23T17:37:41Z com.apple.print.ticket.stateFlag 0 com.apple.print.PrintSettings.PMPageRange com.apple.print.ticket.creator com.apple.printingmanager com.apple.print.ticket.itemArray com.apple.print.PrintSettings.PMPageRange 1 2147483647 com.apple.print.ticket.client com.apple.printingmanager com.apple.print.ticket.modDate 2002-05-23T17:37:41Z com.apple.print.ticket.stateFlag 0 com.apple.print.ticket.APIVersion 00.20 com.apple.print.ticket.privateLock com.apple.print.ticket.type com.apple.print.PrintSettingsTicket x HH(Fg(HH(dh .@. IGOR'HHF((~^ com.apple.print.PageFormat.PMHorizontalRes com.apple.print.ticket.creator com.apple.printingmanager com.apple.print.ticket.itemArray com.apple.print.PageFormat.PMHorizontalRes 7.200000000000000e+01 com.apple.print.ticket.client com.apple.printingmanager com.apple.print.ticket.modDate 2002-05-23T17:37:41Z com.apple.print.ticket.stateFlag 0 com.apple.print.PageFormat.PMOrientation com.apple.print.ticket.creator com.apple.printingmanager com.apple.print.ticket.itemArray com.apple.print.PageFormat.PMOrientation 1 com.apple.print.ticket.client com.apple.printingmanager com.apple.print.ticket.modDate 2002-05-23T17:37:41Z com.apple.print.ticket.stateFlag 0 com.apple.print.PageFormat.PMScaling com.apple.print.ticket.creator com.apple.printingmanager com.apple.print.ticket.itemArray com.apple.print.PageFormat.PMScaling 1.000000000000000e+00 com.apple.print.ticket.client com.apple.printingmanager com.apple.print.ticket.modDate 2002-05-23T17:37:41Z com.apple.print.ticket.stateFlag 0 com.apple.print.PageFormat.PMVerticalRes com.apple.print.ticket.creator com.apple.printingmanager com.apple.print.ticket.itemArray com.apple.print.PageFormat.PMVerticalRes 7.200000000000000e+01 com.apple.print.ticket.client com.apple.printingmanager com.apple.print.ticket.modDate 2002-05-23T17:37:41Z com.apple.print.ticket.stateFlag 0 com.apple.print.PageFormat.PMVerticalScaling com.apple.print.ticket.creator com.apple.printingmanager com.apple.print.ticket.itemArray com.apple.print.PageFormat.PMVerticalScaling 1.000000000000000e+00 com.apple.print.ticket.client com.apple.printingmanager com.apple.print.ticket.modDate 2002-05-23T17:37:41Z com.apple.print.ticket.stateFlag 0 com.apple.print.subTicket.paper_info_ticket com.apple.print.PageFormat.PMAdjustedPageRect com.apple.print.ticket.creator com.apple.printingmanager com.apple.print.ticket.itemArray com.apple.print.PageFormat.PMAdjustedPageRect 0.000000000000000e+00 0.000000000000000e+00 7.300000000000000e+02 5.520000000000000e+02 com.apple.print.ticket.client com.apple.printingmanager com.apple.print.ticket.modDate 2002-05-23T17:37:41Z com.apple.print.ticket.stateFlag 0 com.apple.print.PageFormat.PMAdjustedPaperRect com.apple.print.ticket.creator com.apple.printingmanager com.apple.print.ticket.itemArray com.apple.print.PageFormat.PMAdjustedPaperRect -3.100000000000000e+01 -3.000000000000000e+01 7.610000000000000e+02 5.820000000000000e+02 com.apple.print.ticket.client com.apple.printingmanager com.apple.print.ticket.modDate 2002-05-23T17:37:41Z com.apple.print.ticket.stateFlag 0 com.apple.print.PaperInfo.PMMatchPaper com.apple.print.ticket.creator com.apple.printingmanager com.apple.print.ticket.itemArray com.apple.print.PaperInfo.PMMatchPaper com.apple.print.ticket.client com.apple.printingmanager com.apple.print.ticket.modDate 2002-05-23T17:37:41Z com.apple.print.ticket.stateFlag 0 com.apple.print.PaperInfo.PMUnadjustedPageRect com.apple.print.ticket.creator com.apple.printingmanager com.apple.print.ticket.itemArray com.apple.print.PaperInfo.PMUnadjustedPageRect 0.000000000000000e+00 0.000000000000000e+00 7.300000000000000e+02 5.520000000000000e+02 com.apple.print.ticket.client com.apple.printingmanager com.apple.print.ticket.modDate 2002-05-23T17:37:41Z com.apple.print.ticket.stateFlag 0 com.apple.print.PaperInfo.PMUnadjustedPaperRect com.apple.print.ticket.creator com.apple.printingmanager com.apple.print.ticket.itemArray com.apple.print.PaperInfo.PMUnadjustedPaperRect -3.100000000000000e+01 -3.000000000000000e+01 7.610000000000000e+02 5.820000000000000e+02 com.apple.print.ticket.client com.apple.printingmanager com.apple.print.ticket.modDate 2002-05-23T17:37:41Z com.apple.print.ticket.stateFlag 0 com.apple.print.ticket.APIVersion 00.20 com.apple.print.ticket.privateLock com.apple.print.ticket.type com.apple.print.PaperInfoTicket com.apple.print.ticket.APIVersion 00.20 com.apple.print.ticket.privateLock com.apple.print.ticket.type com.apple.print.PageFormatTicket com.apple.print.PrintSettings.PMColorMode com.apple.print.ticket.creator com.apple.printingmanager com.apple.print.ticket.itemArray com.apple.print.PrintSettings.PMColorMode 1 com.apple.print.ticket.client com.apple.printingmanager com.apple.print.ticket.modDate 2002-05-23T17:37:41Z com.apple.print.ticket.stateFlag 0 com.apple.print.PrintSettings.PMCopies com.apple.print.ticket.creator com.apple.printingmanager com.apple.print.ticket.itemArray com.apple.print.PrintSettings.PMCopies 1 com.apple.print.ticket.client com.apple.printingmanager com.apple.print.ticket.modDate 2002-05-23T17:37:41Z com.apple.print.ticket.stateFlag 0 com.apple.print.PrintSettings.PMDestinationType com.apple.print.ticket.creator com.apple.printingmanager com.apple.print.ticket.itemArray com.apple.print.PrintSettings.PMDestinationType 1 com.apple.print.ticket.client com.apple.printingmanager com.apple.print.ticket.modDate 2002-05-23T17:37:41Z com.apple.print.ticket.stateFlag 0 com.apple.print.PrintSettings.PMFirstPage com.apple.print.ticket.creator com.apple.printingmanager com.apple.print.ticket.itemArray com.apple.print.PrintSettings.PMFirstPage 1 com.apple.print.ticket.client com.apple.printingmanager com.apple.print.ticket.modDate 2002-05-23T17:37:41Z com.apple.print.ticket.stateFlag 0 com.apple.print.PrintSettings.PMLastPage com.apple.print.ticket.creator com.apple.printingmanager com.apple.print.ticket.itemArray com.apple.print.PrintSettings.PMLastPage 2147483647 com.apple.print.ticket.client com.apple.printingmanager com.apple.print.ticket.modDate 2002-05-23T17:37:41Z com.apple.print.ticket.stateFlag 0 com.apple.print.PrintSettings.PMPageRange com.apple.print.ticket.creator com.apple.printingmanager com.apple.print.ticket.itemArray com.apple.print.PrintSettings.PMPageRange 1 2147483647 com.apple.print.ticket.client com.apple.printingmanager com.apple.print.ticket.modDate 2002-05-23T17:37:41Z com.apple.print.ticket.stateFlag 0 com.apple.print.ticket.APIVersion 00.20 com.apple.print.ticket.privateLock com.apple.print.ticket.type com.apple.print.PrintSettingsTicket ^Graph*@@?ێ88?ڪWDashSettings#  !0oBNormal@ Geneva<HHHH$$0oBNormal@ Geneva<HHHH$$4444440 o7Normal@ Geneva<HHHH$$4 4 4 4 4 4 homeId Macintosh HD:Users:msailor:Documents:Data:V Macintosh HDH+ Data :D DocumentsU : Qz)Macintosh HD:Users:msailor:Documents:Data Data Macintosh HDUsers/msailor/Documents/Data/ 4Misc_EndXOPState_StartANOVASupport?ێ88?ڪData Browser :msailor:DocumenGizmoa:@\\|Surface Plotterurces/PrintCore.XLLoadWave InterpolateAD4011C44XOPState_End{>?~ĻB:j8aFCnticksLastA42fps?BY tryFPS@>U) UĄV_Flag?GEtchTime@pGSampleRate@@GL_ScaleFactor@pGR_ScaleFactor@AGTimeRemainingA GSelectFileMode@ numrepeats1@bnumrepeats2Stack1Layer1current@ALStack1Layer1time@$Stack1Layer2current@'Stack1Layer2timeStack2Layer1current@IStack2Layer1timeStack2Layer2current@YStack2Layer2timeMicrocavityCurrent@>MicrocavityTimeDelayTimeSampleRateScaleFactorCurrentRange@$EtchDuration@MeasCurrent1?MeasCurrent2@fffffgMeasCurrent3@fffffgMeasCurrent4@+MeasCurrent5@=333334GNominalTime?V_siga?HV_sigb?\up_V_chisq@9h#sV_q?V_Rab43V_Pr? 0FV_numNaNsV_numINFsV_npnts@V_nterms@V_nheldclbSP1clbSP2@f$I$IclbSP3@v$I$IclbSP4@mmclbSP5@mmWavelengthScale@SS&Period_vs_Wavelength_slope?AЄ1Period_vs_Wavelength_intercept qu"broadening@.Phase_shift@Phase@VNumrepeatsMaxCurrent@[MinCurrent@.Period@EtchArea?333333RampDurationRampStartCurrentS_waveNamesHtemp1;S_pathamesH Macintosh HD:Users:msailor:Data:S_fileNameHEtchProfileDisplay2.ibwGFileNameHRugatemeHRugateCompileWaveformHyesGWaveformTypemH&Fix to allow loading of spectrum filesWaveformLabelmHRugate_15_108_5s_1rE 502 524 505 505 500 505 500.1 505.2 500.1 505.2 c8EtchProfile'?@bMĔtĔtBBBBBBBBBBBBnBSB5BBBBBzBNBBBBBKBBBBQB BB|B0BBB>BBB7BB{BBBPBB|BBB,BBABBKBBLBBDBB1BBBBBZBB&BBBFBBBPBBBEBBB$BjBBB,BhBߢBBB@BpB۞BBBBB׳ BױBװBׯfB׮*B׬B׫BתgBש!BקBצBץBBףBעBסMBןBמBםCBכBךBי#BחBזWBהBדBגBאB׏/B׍B׌AB׊B׉JBׇB׆JBׄB׃?BׁB׀,B~B}B{|ByBxPBvBuBs}BqBp9BnBlBkABiBgBf5BdBbBaB_WB]B[BZBXSBVBTBRBQ*BOYBMBKBIBGBF#BDDBBcB@B>BB BBϛB`B"BB Bտ\BռBոBյBղ2BծBիBը:BդBաB՞-B՚B՗nBՔ BՐBՍ>BՉBՆgBՂBB|BxBu&BqBn/BjBg.BcB`$B\BYBUBQBNbBJBG8BCB@BBfBBBBBB+BDBZBnBˀBƐBBҼBҷBҲBҭBҨBңBҞBҙBҔBҏBҊB҅BҀ}B{kBvVBq?Bl&Bg BaB\BWBRBM`BH7BC B=B8B3}B.IB)B#BBaB"BB BVB BBuB&BBB+BBxBBɼB[BѾBѹBѴ*BѮBѩSBѣBўtBљBѓBюBшBуB}BxBrBmBgBbB\zBVBQ[BKBF4B@B;B5iB/B*+B$BB>BB B=BBB(BrBBBBBڃBBB8BpBнBзBв BЬ;BЦhBРBКBДBЏBЉ'BЃGB}dBwBqBkBeB_BYBSBNBH BBB<B6B0B*B$BBBB BBBBBBxB\B>BBBB°BϼB϶\Bϰ/BϩBϣBϝBϗcBϑ+BϊBτB~uBx4BqBkBedB_BXBRBL/BEB?B91B2B,}B&BB^BB B,BBTBBuBBߌBBқBBšBο!BθBβBΫBΥ BΞBΗBΑcBΊB΄>B}BwBpvBiBc;B\BUBORBHBBB;WB4B-B'HB BB%B kBBB.BkBBBBJB|BȬBBͻBʹ/BͭWBͦ|B͟B͘B͑B͊B̈́B}0BvFBoZBhmBa}BZBSBLBEB>B7B0B)B"BBB BB~BnB\BHB1BBBBB̿B̸ḆZB̪3Ḅ B̛B̔B̍B̆PBBwBpBitBb8BZBSBLvBE2B=B6B/WB( B BiBB BiBBBVBBޔB0BBaBB˹B˲B˪Bˣ8B˛B˔LBˌB˅XB}Bv\BnBgWB_BXJBPBI4BAB:B2B*B#[BB(B BBMBBB_B޶B B_BǰBʿBʸLBʰBʨBʡ&BʙkBʑBʉBʂ,BziBrBjBcB[FBSxBKBCB<B4,B,TB$zBBB BBB2BJB_BsBՄB͔BšBɽBɵBɭBɥBɝBɕBɍBɅB}BuBmBeB]BUBMuBEbB=MB55B-B%BBB BBZB3B BB۱BӁBPBBȺBȲBȪvBȢ:BșBȑBȉ|Bȁ8BxBpBhbB`BWBOyBG'B>B6~B.'B%BrBB BSBBB"BBMBBpBBǸBǰBǧBǟ%BǖBǎ-BDžB},BtBl#BcB[BRBIBAkB8B0GB'BBB BJBB BhBBBsBBBƷmBƮBƦ BƝVBƔBƋBƃ-BzpBqBhB`0BWlBNBEB=B4HB+zB"BBB/BWB~BBBBB!BB!B5B B%BBBBB_BB8BB BoBB7BxBmBcUBXBN BCdB8B.B#dBBBTBBB6B}BBBKBBB BEBBwBlBb%BWXBLBAB6B,B!BBlB BBBB$BDBbB~BBBBBB~BsBh'B]5BRABGLB^B3@B( BBBBBiB@BBBúBBYB&BBBBuJBjB^BSBHUB=B1B&BFBBBjBBBׁB0BBB3BBB(B|BqnBfBZBOLBCB8B-B!BIB BpBBBBѬB7BBHBBSBBYBuBjWB^BSPBGB>B1tB$BB B=BlBBBBBEBmBBB}BqBd"BWBBJaB=B0B#BB BBB/BCBVBhBxBBBB{BnBaBTBGB:B-B BBBBBBBBBBBBBwBjB]BPsBCcB6QB)>B)BBBBBڳB͗B{B]B?BBB~BqBdBWnBJGB= B/B"BBtBGBBBӷBƅBRBBBByBw@BjB\BOBBQB5B'BB PB BBB=BBBdBBBB{2BmB`BSABEB8B+FBBBBBBB4BBzBBB[BB}Bp3BbBUhBHB:B-0BB[BBBBܣB2BBNBBeBB~yBqBcBVBHB;B-B BBBBBܔBBBB}BBkB}BpTBbBU:BGB:B,BBgBB>BBBzBBGBBBtB{Bn8B`BRBEUB7B*BjBBBvBB$BzBB!BtBBBxeBjB]BONBAB3B&/BwB BBLBBBBZBBBBYBsBeBXBJIBsB} B}B|B|B|B|B|m*B|OCB|1]B|vB{B{רB{B{B{}B{` B{B"B{$:B{QBziBzʁBzBzBzpBzRBz4Bz By#By9ByPByfBy}BycByEBy'By BxBxBxBx-BxtCBxVXBx8nBxBwBwޮBwBwBwBwgBwIBw+.Bw CBvXBvmBvBvBvwBvYBv;BvBvBuBu*Bu?BuTBujiBuL~Bu.BuBtBtBtBtBt{Bt]'Bt?=Bt!RBtgBs}BsǒBsBsBsmBsOBs1BsBr+BrABrWBrmBr~Br`BrBBr$BrBqBq Bq"Bq9BqqPBqShBq5BqBpBpBpBpBpBpd'BpF@Bp(XBp qBoBoΣBoBoBotBoW Bo9$Bo>BnXBnsBnBnBnBngBnIBn,Bn2BmNBmjBmBmBmxBmZBmBEWBEqBEBEBE{BE^BEBBE%%BEHBDlBDΑBDBDBDxBD[2BD>]BD!BDBCBCBCJBC}BCtBCWBC;BCWBCBBBB BBFBBBBqBBUBB8KBBBABABAeBABABAoFBARBA5BA4B@B@B@.B@B@B@m4B@PB@3B@GB?B?B?gB?B?.B?kB?NB?2bB?B>7B>ܣB>B>B>B>jdB>MB>1MB>B=;B=۵B=0B=B=*B=iB=M*B=0B=0BB)#B)SB(B(B(B(qB(>B(e B(IB(.B(B'ZB'3B' B'B'B'pB'UB':qB'WB'@B&+B&B&B&B&|B&aB&FB&+B&B%B%B%B%B%B%nB%SB%8B%B%B$!B$5B$LB$dB$|B$aB$FB$+B$B##B#KB#tB#B#B#oB#U/B#:cB#B#B" B"IB"B"B" B"dQB"IB".B".B!|B!B!B!sB!B!t#B!Y~B!>B!$:B! B B fB B 9B B jB OB 4B nBB`BBZBB{^B`BFjB+BBBܞB1BB]BrBXB>0B#B rBBԾBgBBBkqBQ$B6BBIBBBBEB BdBJB0gB5BBBǭBB^By;B_BDB*BBBܕBBpBbBtUBZKB@DB&?B BQ|B7BBFBBB%BuBBjBPrB6B(BBBJBBBBiBPaB6BHBB9BеB4BB:BjBQIB7BbBBBBBOBBlBS.B9B zB$BBԀB2BBBoVBVB\AA$AAA_A3AAAAEATA(AAך.Ar%AJ$A"*A7AKA֪fAւAZA2A AZAջAՓAlCADAAlAAԦWA~AW^A/AAAӹAӒoAk"ACAAfA6Aҧ AAXA1A AAѼAѕAnAGA!A,A[AЬAЅA_A8_AA AoAϝAwJAPA*AAAWAζAΐAj.ACAAGA AͪÄ́A^|A8[ABA1A'A̠$Az)AT5A.IAdAA˼A˖AqAK[A%AAIAʴAʏ AizACAkAAzAɮ AɈAcIA=AA\AAȨAȃA^A9gALA9A.Aǥ*Aǀ.A[9A6LAgAAdzAƢA~AY]A4AALAƫAŢA}AXA4sAAAAĢA~XAZA5AqA3AAäAÀA\A8qAaAYAXA¨_A„nA`AAARAAAAqAOrA-]A PAKAMAXAkAaA?AAA>AAAuASvA1ABAA.AA:AhAGeA&AAcAAAA^zA=TA5AAA A AwAV)A5CAeAAAA=ApAOA/4AAAtAArAkAKA+*A AyA,AAAiwAIKA)&A AAAAAhAI A)*A OA|AɲAA5AjAJA+7A A ÃAAAnANA/OAAA_A AAsATA5tA]AOAIAKAVA{hA\A=AAAAA†AA'AfAGA)WA AJAA_AArAT=A5AAeA.AAAAbADA&AAA̳AAAsAUTA7AA%A|AABAAh)AJA-2AA\AAAZA}A_ABA%xAUA:A'AAAw!AZ0A=HA hAAAA;AAsAW3A:AAvAAxAAAs;AVA:AIA AAɤA~AaAuLAY?A=;A!@AMAbÀAAAzA^NABA&A AAAAAAAfAJA/BAAAPAAAApAUgA:SAFACAHAUAkAA}AbAHA-[AAARA¶A"AAsAXA>*A#A aA AԻAuA8AAkAQA7AA}A|AτAAAAgAN.A4jAAARAͱAAAAgAN A4AAܣAAAAzAbAIA1ZAAAvA;A AAAoAWA?A'AAAAA,AdAAhAQAA9A"A nAAcAA{AA}AfbAOA7A A gA>AAAAA~AhAQA:9A#aA AA AWAAAnAmAWTA@A*^AAA/AAAQAAwAaAKA5AA AAݚADzAAA1ApnAZAEA/XAA!AAAÒAAATAmAXACgA.*AAAAِAĀAyA{AApA[AFA2 AEAAA#AAASAAxKAcAOgA;A&ATA AAՓAeA@A$AAqA]AIA5 A!:A ^AAAAGAAAUAoA\6AHA5AvHAv94Av)AvuAv 3AuAuAuAuAuAu4AuxAuAu7AuvAuhCAuYAuKAu=dAu/@Au!0Au2AuGAtpAtAtAt\AtAtYAtAtAtdAt~8Atq AtdAtW)AtJJAt=At0At$!AtAt AsAsJAsAsAsͳAsAsAsAsAs5AsAszAsoiAscAsXAsMIAsBAs6As+As AsAs AsIArArAriArArˈAr5ArArArArArArAr{ArqKArgAr^ArTArK#ArAAr8Ar/NAr&.Ar!Ar&Ar @ArlAqAqAqdAqAqiAq AqƻAqAqZAqGAqFAqYAqAqAqAqdAqwAqp\AqhAqaAqZaAqS4AqLAqEAq> Aq7@Aq0rAq)Aq#Aq~AqAqAq 7AqApApApApApApApAppApApPApAp~Ap1ApApApApApApAp3ApApApTApAp~vApz#ApuApqApmApiApeApaAp]ApZCApVApS ApOApL!ApHApEApBQAp?2Ap<'Ap9.Ap6IAp3wAp0Ap.Ap+vAp(Ap&Ap$!Ap!ApApyAphApjApApApAp2ApAp Ap Ap .Ap Ap ApvAp^Ap[ApjApApAp AphApApZApApApWAp&Ap ApAp Ap&ApWApApApZApAphAp ApApApjAp[Ap^ApvAp Ap Ap .Ap Ap ApAp2ApApApApjAphApyApAp!Ap$!Ap&Ap(Ap+vAp.Ap0Ap3wAp6IAp9.Ap<'Ap?2ApBQApEApHApL!ApOApS ApVApZCAp]ApaApeApiApmApqApuApz#Ap~vApApTApApAp3ApApApApApApAp1Ap~ApApPApAppApApApApApApApAqAq 7AqAqAq~Aq#Aq)Aq0rAq7@Aq> AqEAqLAqS4AqZaAqaAqhAqp\AqwAqdAqAqAqAqYAqFAqGAqZAqAqƻAq AqiAqAqdAqAqArlAr @Ar&Ar!Ar&.Ar/NAr8ArAArK#ArTAr^ArgArqKAr{ArArArArArArAr5ArˈArAriArArAsIAs AsAs As+As6AsBAsMIAsXAscAsoiAszAsAs5AsAsAsAsAsͳAsAsAsJAsAt AtAt$!At0At=AtJJAtW)AtdAtq At~8AtdAtAtAtYAtAt\AtAtAtpAuGAu2Au!0Au/@Au=dAuKAuYAuhCAuvAu7AuAuxAu4AuAuAuAuAuAv 3AvuAv)Av94AvHAvX>AvgAvwAv]Av9Av'Av(Av=AvdAvAvAwMAwAw)HAw9AwJAw[OAwl"Aw} AwAwAw-Aw`AwҥAwAwiAxAxyAx*Ax;AxMAx_~AxqoAxsAxAxAxAxAAxޤAxAyAy?Ay(Ay;AyNAyamAythAyvAyAyAyAylAyAyYAzAz"Az6KAzJAz]AzqAzAzAz0AznAzֿAz#AzA{#A{(A{=pA{R2A{gA{{A{A{A{A{PA{A{A|_A|%A|;rA|QA|fA||A|{A|mA|qA|ԉA|A}A}AA}-A}DA}ZA}q?A}A}A}A}lA}fA}sA~A~(A~@ A~WeA~nA~OA~A~A~A gA A7AOAfbA}AA{AAcAA nA"A9AQAAhAAdA,AAAAA'A?AWAoAAA A;AvAAA1ZAIAbAzAAAAܣA>A A&A?DAXApAArASA=A0A,A0A8=AQSAjqAAAACAAA*AXAsAA"A¶ARAAA-[AHAbA}AAkAUAHACAFA:SAUgApAAAAPAAA/BAJAfAAAAAA AA&ABA^NAzAAÀAbAMA!@A=;AY?AuLAaA~AɤAA AIA:AVAs;AAAxAAvAA:AW3AsAA;AAAA hA=HAZ0Aw!AAA'A:AUA%xABA_A}AZAAA\AA-2AJAh)AABAA|A%AA7AUTAsAAA̳AAA&ADAbAAAA.AeAA5AT=ArAA_AAJA A)WAGAfA'AA†AAAAA=A\A{hAVAKAIAOA]A5tATAsAA A_AAA/OANAnAAÃA A A+7AJAjA5AAɲA|A OA)*AI AhAAAAA A)&AIKAiwAAA,AyA A+*AKAkArAAtAAA/4AOApA=AAAAeA5CAV)AwA A AAA5A=TA^zAAAAcAA&AGeAhA:AA.AABA1ASvAuAAA>AAA?AaAkAXAMAKA PA-]AOrAqAAAARAA>Aa7AAAcAA SA/ARaAtAA3AAA"JAE AgAAAdAMA?A98A\8AAAQAjAA A.ARAuXAAADAA&AIvAlAiAAzAAABOAeAAiA,AAAAUAsA:AbA؊Aس2AtAA, ATcA|A٥'A͓AAAGAoAژAAPAA:AcTAیA۴AݗAfA/=AXA܀AܩAAA$AMAvAݠAAAAlADAmAޗA[AAA\AkAA_AAAJAwiA;AAA*AWAAAޭA A8AeAAA+AVAGAtAABAA)AW5AAA`A A:GAgAFAA_AAKAy3AAԊA?A/A]AAQA%AABApAḀAA(AVAAAAA=AkBAsAǩABB)8B@`BWBnBBBRBˌBBBKB(B?BW%BntBBBrBB+BBB)VB@BX-BoBBBBzBBzBB+BCBZBr0BBZBBАB/BBwB/BFB^xBv)BBBNB BBBSB4BKBcB{BZB1B BBB B"B:yBRdBjRBCB7B.B(B%B$B'B*,BB4BZ?BrMB^BqBBҡBBBB3#BKJBctB{BBB:BsBB B %-B =qB UB nB MB B B CB B B QB 0B IB ayB yB LB B +B ۞B B B %B =B VB nB B B (B зB IB B tB 3B KB dJB |B B 8B B ߐB ?B B )B B_B [B sB B YB B B BB!OB:"BRBkBBBhBKB1BBB2BKBdB}BBBȻBBBB,BEB^BwBBB3BMBjBB'B@BYBs#BOBBBBB VB#BBBBB]B*BBB9BSzBmTB1BBBBBB"B<{BVkBp]BRBIBBB=B0BXBrB]BB1BܞBBB+BFjB`B{^BBZBB`BB nB 4B OB jB B 9B B fB B! B!$:B!>B!Y~B!t#B!B!sB!B!B!|B".B".B"IB"dQB" B"B"B"IB" B#B#B#:cB#U/B#oB#B#B#tB#KB##B$B$+B$FB$aB$|B$dB$LB$5B$!B%B%B%8B%SB%nB%B%B%B%B%B&B&+B&FB&aB&|B&B&B&B&+B'@B'WB':qB'UB'pB'B'B' B'3B'ZB(B(.B(IB(e B(>B(qB(B(B(B)SB)#B)>B)ZB)uUB)B)B)+B)wB)B*B*4eB*OB*k B*dB*B*B*uB*B+5B+*B+EB+acB+|B+6B+B+B+B,B,!hB,B>1MB>MB>jdB>B>B>B>ܣB>7B?B?2bB?NB?kB?.B?B?gB?B?B@GB@3B@PB@m4B@B@B@.B@B@BA4BA5BARBAoFBABABAeBABABBBB8KBBUBBqBBBBFBB BBBCBCWBC;BCWBCtBC}BCJBCBCBDBD!BD>]BD[2BDxBDBDBDΑBDlBEHBE%%BEBBE^BE{BEBEBEqBEWBF >BF)'BFFBFbBFBFBFBFֵBFBGBG-BGJBGgxBGoBGhBGbBG]BGYBHVBH2UBHOUBHlVBHXBH[BH_BHeBHlBItBI7}BITBIqBIBIBIȼBIBJBJBJ=BJZBJw-BJDBJ\BJuBJBKBK%BKBBK`BK}#BKDBKfBKԉBKBLBL+BLI BLfHBLrBLBLBLBL"BMQBM2BMOBMlBMBMKBMāBMBMBN&BN9`BNVBNsBNBNOBNˎBNBOBO#OBO@BO]BO{BO_BOBOBO5BP BP*BPHBPeaBPBPBPLBPڜBPBQ?BQ2BQOBQmBo9$BoW BotBoBoBoΣBoBp qBp(XBpF@Bpd'BpBpBpBpBpBqBq5BqShBqqPBq9Bq"Bq BqBrBr$BrBBr`Br~BrmBrWBrABr+BsBs1BsOBsmBsBsBsǒBs}BtgBt!RBt?=Bt]'Bt{BtBtBtBtBuBu.BuL~BujiBuTBu?Bu*BuBvBvBv;BvYBvwBvBvBvmBvXBw CBw+.BwIBwgBwBwBwBwޮBwBxBx8nBxVXBxtCBx-BxBxBxBy By'ByEBycBy}ByfByPBy9By#Bz Bz4BzRBzpBzBzBzʁBziB{QB{$:B{B"B{` B{}B{B{B{רB{B|vB|1]B|OCB|m*B|B|B|B|B}B} B}>sB}\XB}z=B}!B}B}B}B~B~-B~KyB~i]B~@B~#B~B~B~BB:BXoBvPB1BBBBBB#B2BABPB_vBneB}TBCB2B BBBBBBBB!B0|B?iBNUB]BBl.B{BBBBBŵBԡBBwBaBLB6B. B= BKBZBiBxBBBkBSBBBgBB,B:BGBU:BbBpTB}BkBB}BBBBܔBBBBB B-B;BHBVBcBqB~yBBeBBNBB2BܣBBBB[BB-0B:BHBUhBbBp3B}BB[BBBzBB4BBBBBBB+FB8BEBSAB`BmB{2BBBBdBBB=BBB B PBB'B5BBQBOB\BjBw@ByBBBBRBƅBӷBBBGBtBB"B/B= BJGBWnBdBqB~BBB?B]B{B͗BڳBBBBB)B)>B6QBCcBPsB]BjBwBBBBBBBBBBBBB B-B:BGBTBaBnB{BBBBxBhBVBCB/BBB BB#B0B=BJaBWBBd"BqB}BBBmBEBBBBBlB=B BB$B1tB>>BKBWBdBq\B~ BBBfB%BBʠB\BBBB =BB#B0YB= BIBViBcBoB|nBBBgB BBUBBB7BBrBB B-AB9BFoBSB_Bl*BxBKBBgBB}BBЎBBBBB#BB(!B4BABMBZBfBrBtBBZBB^BIzBTB_BjBuBBBB%B3B?BJBSBZB`BdBgBhBgBeB&aB1\BB6BA@BKBV;B`Bk0BuBBBBuBBQBB'BӏBBZBBB~BB7B&B0B;ABEBOBZ;BdBnBy%BpBBBEBBB BIBՆBBB1BfBBBB'+B1XB;BEBOBYBdBn?Bx`B~BBBBBBB#B4BBBOBZBcBkBqBuB#wB-wB7vBArBKmBUgB_^BiSBsGB}9B*BBBBBB¥B̉BjBJB(BBBBBdB%8B/ B8BBBLsBV=B`BiBsB}SBBBBMBBBuB)BBތB;BBB=BBB".B+B5pB?BHBREB[BeuBo BxB‚.B‹B•KBžB¨aB±B»oBBvBBvBBnBB^BBHB#B-)B6B@BInBRB\=BeBoBxeBÁBË!BÔ}BÝBç.BðBùB)ByBBB^BBB2B uBBB)2B2mB;BDBNBWGB`yBiBrB|Bą-BĎUBė|BĠBĩBIJBļBB:BSBjBBBBB BBB(B1B:BCBLBUB^BgBpByBłBŋBŔBŝBŦBůlBŸUBBG'BOyBWB`BhbBpBxBȁ8Bȉ|BȑBșBȢ:BȪvBȲBȺBBPBӁB۱BB B3BZBB BBB%B-B55B=MBEbBMuBUB]BeBmBuB}BɅBɍBɕBɝBɥBɭBɵBɽBšB͔BՄBsB_BJB2BBB BBB$zB,TB4,B<BCBKBSxB[FBcBjBrBziBʂ,BʉBʑBʙkBʡ&BʨBʰBʸLBʿBǰB_B B޶B_BBBMBB B(BB#[B*B2B:BABI4BPBXJB_BgWBnBv\B}B˅XBˌB˔LB˛Bˣ8B˪B˲B˹BBaBB0BޔBBVBBBiB BBiB B( B/WB6B=BE2BLvBSBZBb8BitBpBwBB̆PB̍B̔B̛Ḅ B̪3ḆZB̸B̿BBBBB1BHB\BnB~BB BBB"B)B0B7B>BEBLBSBZBa}BhmBoZBvFB}0B̈́B͊B͑B͘B͟Bͦ|BͭWBʹ/BͻBBȬB|BJBBBBkB.BBB kB%BB B'HB-B4B;WBBBHBORBUB\Bc;BiBpvBwB}B΄>BΊBΑcBΗBΞBΥ BΫBβBθBο!BšBBқBBߌBBuBBTBB,B BB^BB&B,}B2B91B?BEBL/BRBXB_BedBkBqBx4B~uBτBϊBϑ+BϗcBϝBϣBϩBϰ/B϶\BϼB°BBBB>B\BxBBBBBB BBBB$B*B0B6B<BBBH BNBSBYB_BeBkBqBwB}dBЃGBЉ'BЏBДBКBРBЦhBЬ;Bв BзBнBpB8BBBڃBBBBBrB(BBB=B BB>BB$B*+B/B5iB;B@BF4BKBQ[BVB\zBbBgBmBrBxB}BуBшBюBѓBљBўtBѣBѩSBѮBѴ*BѹBѾB[BɼBBxBB+BBB&BuBB BVB BB"BaBB#B)B.IB3}B8B=BC BH7BM`BRBWB\BaBg Bl&Bq?BvVB{kBҀ}B҅BҊBҏBҔBҙBҞBңBҨBҭBҲBҷBҼBBƐBˀBnBZBDB+BBBBBBfB>BB BBBPBB"B'B,iB1*B5B:B?]BDBHBM}BR-BVB[B`1BdBi~Bn BrBw_B{BӀBӅ,BӉBӎTBӒBӗsBӛBӠBӥBөBӮBӲBӷBӻB BăBBjBBIBڴBBBBMBB BgBBBlB BB\BBB 8B$}B(B,B1=B5xB9B=BBBFOBJ~BNBRBWB['B_KBcmBgBkBoBsBwB| BԀBԄ*BԈ7BԌBBԐJBԔQBԘTBԜVBԠUBԤRBԨMBԬEB԰;BԴ/BԸ BԼBԿBBB˴BϗByBWB4BBBBB_B.BBBBPBBB BNBBBsB&B"B&B*/B-B1B5$B8BBՐBՔ B՗nB՚B՞-BաBդBը:BիBծBղ2BյBոBռBտ\B BB"B`BϛBB B>BpBߠBBB BFBiBBBBBBB!B2B @BLBVB^BcBeBfB dB#_B&XB)OB,DB/6B2&B5B7B:B=B@BCBFsBIOBL*BOBQBTBW}BZKB]B_BbBeoBh2BjBmBplBs&BuBxB{DB}BրBփMBօBֈB֋AB֍B֐B֓B֕B֘RB֚B֝|B֠ B֢B֥(B֧B֪:B֬B֯BBֱBִABֶBֹ7BֻB־"BBBrBBGB̭BBsBB/B؊BB8BߌBB,BxBB BOBBBBLBBBB#BSBBBB B B@B_B|BBBBBBB!B# B%B'B)B+B-B/B1 B3B4B6B8B:BB@BBcBDDBF#BGBIBKBMBOYBQ*BRBTBVBXSBZB[B]B_WBaBbBdBf5BgBiBkABlBnBp9BqBs}BuBvBxPByB{|B}B~B׀,BׁB׃?BׄB׆JBׇB׉JB׊B׌AB׍B׏/BאBגBדBהBזWBחBי#BךBכBםCBמBןBסMBעBףBץBBצBקBש!BתgB׫B׬B׮*BׯfBװBױB׳ B״>B׵nB׶B׷B׸B׺B׻:B׼\B׽{B׾B׿BBBBBBB)B0B5B7B7B5B0B)BBBBBBBԴBՙB}B^BBBB0B|BB BQBBBBKBBBBBNBzBBBBB5BSBnBBBBBBBBBB.EtchProfile_MagCts?@áĔt~7dCalculatedSpectrum?áá?tO?*=rT>F)>?=>u>E=H=3&==;f=&=xx<;<)9Lb8u99t+6"9e.9u8n9'9Y98ʥ9s918 ;9Rj9K7gQ9&o9U88n9OX8ƥ8s49<\9s769I9*8 ~8o 9.1B8!89%8m829+9789hM8<:859a88F]9H8No7Te86V8pf78h8"8JO8pI8@8b768ӽ,848U8l|7ފF8޲8˕8L08#887r,8=8`798Qu8U78@~88Iy7k8"P86)8l8h7\8PD88{8 B<8+8AW7wy8h8g$6b8Zg}8l7{8)8{8(7U8 8J6ے8P)8V7v8$R8^E7{7 8]A8 37m8J8,@Z5 8+z8@XZ7KӅ8Qb8F$ 7x"78=8M7G8(c8 868 8,7w7*8-"o797`H_8!8967}8 86j]7ڼ87R7~8+7:7X8 7n576287%}78 ^7K7O87> 6C7Ž7埇67?77B7o)7676R7 \7d7,5;7Z7Փu6؇7^T7j7V7@I7֐76چ7 7Nt67w77V07g77a77La7v6i77K6^F7P7p77/_7U7gP6l7744%7!7 6բ7O727*7T77g:65=776pK7d876'7"7172677d547n/7R6zm78ߐ7;7{6776 76T:7qS7]Q5o7G7td6747y>7 @6d7l77p]5@7O-7U]67%7dj6367b$746e9b7Oo74x371Mb7Kcz6fO7*7R667Kh575p7670E5W77?6\x6;7AAP6T6t,75.T7547_7*6 6\'7366670 6Y6o7 ]7557%7!6Pb67&4 6#$6rȤ7;657 ;I7B=5o6;7[6~X67#E6#6'77 6"3.h6[7 d66`7(66o7 ӗ6ƣt56ӗ65K:=675&686766NOd7yv6_5776M67l6l6K6n/6|5a656m4EE6R6Ǯ6 666u#60`6߱165]gi6Ƙ6V5v{6f6~6)~6e"6/65{66k4# 96X6e5_6F6\16E6/6-6K56eG6f466s66\6p6Y=566466P5L6~~x6{6)j6- 6+6c!5~z664ٿ6865~6RWM6J61{6؃6E6qg547 6iT645 }6o\6 526,l66B566x4#66x56I 6`6 B666K`5h?{626w46a65e6%66R566N4ױ6pC6vV56X6Ao65E*6%>6ݑ6,[r5h46z6Y3:6P6t:56#X6~65—6u%64A56[6VO4467C6lf566mt6 05|6a~674I|6E6Ue5F66an#5r5DG6\6ok55P6Kr6=}46-6R_{5>66Uý556NZ6{44666;Ll4j66Iv5d5@]6L6O5P?656?h5|5V6Cj6 @v4Ώ6*6&4I6G?645V52s67505nG6/6 34@~=6}6&5N56,5o5u6/5fF5A 6 6W3ڛ66!3o5D65y^6&5F5 i6!Ī5L14O6X64L566=y5O5&06!15ģ576[5d3y6 6 B45 6%v5Z5P6G6BY6 6 36Y5ᓈ56 [5G/5 6ZC55@6 |5]4(D5|64B158_6 65o<5P6 A5N5;5F+5:V3&5K65b5? 65P5K=6N5$45545ަ55GE5A5D555됍5gy3$5&554335D5jD5k+5Y5#5Q45ؾt5a3f5lj5=54505,P5N5!Z55o94o5k5dk4 5X5ݍ5@F5V5545652Ľ55Y[5|55W5e5&I5̀5455;)4Dn5>B5˚5n5],5˽5o5@5V5'35%54ː5i5P535:5T5C45V53h5c541<5g5_*5Z95"*5[5x4A25XP5K4pG5/55U$5;)5S5d:45E53{Y<5545a2F5r5-C5T55|4a\5V54 ɖ55[4+5G5-J5;Ƙ4C5c53554T5^545555X<4e5Sn5(d3օ5{C5445A8955+ {455a$4F5H5]G4Z5[ 545 o5Zr5?455r2C=C5q]5?45?5`5 4NA5h5K4TfG5T/5uu[3j5V:54q555#5l45<5WO475p5z4Pt5>ޱ5Q"4P5S5K504B5z]5j3d.5P5zz45#c55Ƥ5#5M5A&5W655/56Km67~WavelengthTempCts??@á ~á ~GG}BG(FF&FqF^F~FbFLF9F*YFbFEFuF7(EREWSE؃EވE= E{E}@E)WEkE2lEoYEEbEt'EEE|dEu.Enb_EgEaE\"EV}EQ}ELEGpECaE?E;!E7E3^E/ȻE,X4E) E%޼E"E\EEUnEE,7EE\EE ݲE EE?EhEѨDDmDD'D_D5D!rD"D8bDaDDFDLDؼD=DDmQD9DDʠ}DvDYDIDCDJ,D[mDwRDDͯDDJDDDIDDDDDDKD!%DDMDD7D@DDDjD/DD_D[DtbDRSD5DzDtDDDDDD.D1DDpD$D<DW!DuD9D$D5D\D=DnDE\D}D|&RDzDyDwBDv(DtDsH5DqHDp{Do|DmpDliDkDiɧDhDg:FDeDdDc[DbKwDaTD_D^D]D\uD[TDZ7DYDXDVuDUgDTqDSͅDRƖDQ–DP{DO6DNǽDMDLDKDJDJDIDH1DGK@DFfDEDDDCGDBLDBDA>D@iD?cD>?D=-D=-%D?CCFCCvC|CCP'C1C'CCCp&CߎCOCC2CC0CCCxCCg,C߉CXCғCM=CȧCDCC?[CCClC%C%CvC%YCCsC1CCu CM(C%eCC=CCC`iC9aCwCCCoCwCQC+uC]CcCCCn$CHC#6CCػCCCiCEC vCCׅC5CCjCFC# CCCۖCCCq1CMC*CCCC-C|CYC7C.CCCCCjCI#C'xCClC CCC_vC>tCCCC[CCz[CYC9CCrCqCCCyCZNC:CDCCܒCZC8C,C`5CATC"CC2CƧC1CCkCMMC/+CC%CACqCC|C^}C@C#C>CCCCCtCWC; CSCCCȜC0CCsCW^C;>C0C5CMCwCCCxdC\CA]C%C CYC'CCCChCM4C2kCCCzCCC#CxC^CDeC*GC:C>CSCxCCCuJC[CB'C(CFCCܥClCCC*Cx!C_(CF>C-dCCC3CʗC CCChCPoC8.CCCC׿CCCCxC_CHC1 CC.CTCՈCCCuCzCdXCMC7oC!C CwC?CCCCCoCYCD"C.QCCC-C׏CCzCCCl8CVCAC,fC9CCCCC C'COCoCZCF C1cCC4CC5CCcC CCyCeKCQ!C=C(CCCCC;CkCCCv?CbCOC;uC'CzC CUCC CgCACC~wC~GC~,C~%C~\3C~6WC~C}C}>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>JEtchWaveform'?@bMĔsĔsBBBBBBBBBBBBnBSB5BBBBBzBNBBBBBKBBBBQB BB|B0BBB>BBB7BB{BBBPBB|BBB,BBABBKBBLBBDBB1BBBBBZBB&BBBFBBBPBBBEBBB$BjBBB,BhBߢBBB@BpB۞BBBBB׳ BױBװBׯfB׮*B׬B׫BתgBש!BקBצBץBBףBעBסMBןBמBםCBכBךBי#BחBזWBהBדBגBאB׏/B׍B׌AB׊B׉JBׇB׆JBׄB׃?BׁB׀,B~B}B{|ByBxPBvBuBs}BqBp9BnBlBkABiBgBf5BdBbBaB_WB]B[BZBXSBVBTBRBQ*BOYBMBKBIBGBF#BDDBBcB@B>BB BBϛB`B"BB Bտ\BռBոBյBղ2BծBիBը:BդBաB՞-B՚B՗nBՔ BՐBՍ>BՉBՆgBՂBB|BxBu&BqBn/BjBg.BcB`$B\BYBUBQBNbBJBG8BCB@BBfBBBBBB+BDBZBnBˀBƐBBҼBҷBҲBҭBҨBңBҞBҙBҔBҏBҊB҅BҀ}B{kBvVBq?Bl&Bg BaB\BWBRBM`BH7BC B=B8B3}B.IB)B#BBaB"BB BVB BBuB&BBB+BBxBBɼB[BѾBѹBѴ*BѮBѩSBѣBўtBљBѓBюBшBуB}BxBrBmBgBbB\zBVBQ[BKBF4B@B;B5iB/B*+B$BB>BB B=BBB(BrBBBBBڃBBB8BpBнBзBв BЬ;BЦhBРBКBДBЏBЉ'BЃGB}dBwBqBkBeB_BYBSBNBH BBB<B6B0B*B$BBBB BBBBBBxB\B>BBBB°BϼB϶\Bϰ/BϩBϣBϝBϗcBϑ+BϊBτB~uBx4BqBkBedB_BXBRBL/BEB?B91B2B,}B&BB^BB B,BBTBBuBBߌBBқBBšBο!BθBβBΫBΥ BΞBΗBΑcBΊB΄>B}BwBpvBiBc;B\BUBORBHBBB;WB4B-B'HB BB%B kBBB.BkBBBBJB|BȬBBͻBʹ/BͭWBͦ|B͟B͘B͑B͊B̈́B}0BvFBoZBhmBa}BZBSBLBEB>B7B0B)B"BBB BB~BnB\BHB1BBBBB̿B̸ḆZB̪3Ḅ B̛B̔B̍B̆PBBwBpBitBb8BZBSBLvBE2B=B6B/WB( B BiBB BiBBBVBBޔB0BBaBB˹B˲B˪Bˣ8B˛B˔LBˌB˅XB}Bv\BnBgWB_BXJBPBI4BAB:B2B*B#[BB(B BBMBBB_B޶B B_BǰBʿBʸLBʰBʨBʡ&BʙkBʑBʉBʂ,BziBrBjBcB[FBSxBKBCB<B4,B,TB$zBBB BBB2BJB_BsBՄB͔BšBɽBɵBɭBɥBɝBɕBɍBɅB}BuBmBeB]BUBMuBEbB=MB55B-B%BBB BBZB3B BB۱BӁBPBBȺBȲBȪvBȢ:BșBȑBȉ|Bȁ8BxBpBhbB`BWBOyBG'B>B6~B.'B%BrBB BSBBB"BBMBBpBBǸBǰBǧBǟ%BǖBǎ-BDžB},BtBl#BcB[BRBIBAkB8B0GB'BBB BJBB BhBBBsBBBƷmBƮBƦ BƝVBƔBƋBƃ-BzpBqBhB`0BWlBNBEB=B4HB+zB"BBB/BWB~BBBBB!BB!B5B B%BBBBB_BB8BB BoBB7BxBmBcUBXBN BCdB8B.B#dBBBTBBB6B}BBBKBBB BEBBwBlBb%BWXBLBAB6B,B!BBlB BBBB$BDBbB~BBBBBB~BsBh'B]5BRABGLB^B3@B( BBBBBiB@BBBúBBYB&BBBBuJBjB^BSBHUB=B1B&BFBBBjBBBׁB0BBB3BBB(B|BqnBfBZBOLBCB8B-B!BIB BpBBBBѬB7BBHBBSBBYBuBjWB^BSPBGB>B1tB$BB B=BlBBBBBEBmBBB}BqBd"BWBBJaB=B0B#BB BBB/BCBVBhBxBBBB{BnBaBTBGB:B-B BBBBBBBBBBBBBwBjB]BPsBCcB6QB)>B)BBBBBڳB͗B{B]B?BBB~BqBdBWnBJGB= B/B"BBtBGBBBӷBƅBRBBBByBw@BjB\BOBBQB5B'BB PB BBB=BBBdBBBB{2BmB`BSABEB8B+FBBBBBBB4BBzBBB[BB}Bp3BbBUhBHB:B-0BB[BBBBܣB2BBNBBeBB~yBqBcBVBHB;B-B BBBBBܔBBBB}BBkB}BpTBbBU:BGB:B,BBgBB>BBBzBBGBBBtB{Bn8B`BRBEUB7B*BjBBBvBB$BzBB!BtBBBxeBjB]BONBAB3B&/BwB BBLBBBBZBBBBYBsBeBXBJIBsB} B}B|B|B|B|B|m*B|OCB|1]B|vB{B{רB{B{B{}B{` B{B"B{$:B{QBziBzʁBzBzBzpBzRBz4Bz By#By9ByPByfBy}BycByEBy'By BxBxBxBx-BxtCBxVXBx8nBxBwBwޮBwBwBwBwgBwIBw+.Bw CBvXBvmBvBvBvwBvYBv;BvBvBuBu*Bu?BuTBujiBuL~Bu.BuBtBtBtBtBt{Bt]'Bt?=Bt!RBtgBs}BsǒBsBsBsmBsOBs1BsBr+BrABrWBrmBr~Br`BrBBr$BrBqBq Bq"Bq9BqqPBqShBq5BqBpBpBpBpBpBpd'BpF@Bp(XBp qBoBoΣBoBoBotBoW Bo9$Bo>BnXBnsBnBnBnBngBnIBn,Bn2BmNBmjBmBmBmxBmZBmBEWBEqBEBEBE{BE^BEBBE%%BEHBDlBDΑBDBDBDxBD[2BD>]BD!BDBCBCBCJBC}BCtBCWBC;BCWBCBBBB BBFBBBBqBBUBB8KBBBABABAeBABABAoFBARBA5BA4B@B@B@.B@B@B@m4B@PB@3B@GB?B?B?gB?B?.B?kB?NB?2bB?B>7B>ܣB>B>B>B>jdB>MB>1MB>B=;B=۵B=0B=B=*B=iB=M*B=0B=0BB)#B)SB(B(B(B(qB(>B(e B(IB(.B(B'ZB'3B' B'B'B'pB'UB':qB'WB'@B&+B&B&B&B&|B&aB&FB&+B&B%B%B%B%B%B%nB%SB%8B%B%B$!B$5B$LB$dB$|B$aB$FB$+B$B##B#KB#tB#B#B#oB#U/B#:cB#B#B" B"IB"B"B" B"dQB"IB".B".B!|B!B!B!sB!B!t#B!Y~B!>B!$:B! B B fB B 9B B jB OB 4B nBB`BBZBB{^B`BFjB+BBBܞB1BB]BrBXB>0B#B rBBԾBgBBBkqBQ$B6BBIBBBBEB BdBJB0gB5BBBǭBB^By;B_BDB*BBBܕBBpBbBtUBZKB@DB&?B BQ|B7BBFBBB%BuBBjBPrB6B(BBBJBBBBiBPaB6BHBB9BеB4BB:BjBQIB7BbBBBBBOBBlBS.B9B zB$BBԀB2BBBoVBVB\AA$AAA_A3AAAAEATA(AAך.Ar%AJ$A"*A7AKA֪fAւAZA2A AZAջAՓAlCADAAlAAԦWA~AW^A/AAAӹAӒoAk"ACAAfA6Aҧ AAXA1A AAѼAѕAnAGA!A,A[AЬAЅA_A8_AA AoAϝAwJAPA*AAAWAζAΐAj.ACAAGA AͪÄ́A^|A8[ABA1A'A̠$Az)AT5A.IAdAA˼A˖AqAK[A%AAIAʴAʏ AizACAkAAzAɮ AɈAcIA=AA\AAȨAȃA^A9gALA9A.Aǥ*Aǀ.A[9A6LAgAAdzAƢA~AY]A4AALAƫAŢA}AXA4sAAAAĢA~XAZA5AqA3AAäAÀA\A8qAaAYAXA¨_A„nA`AAARAAAAqAOrA-]A PAKAMAXAkAaA?AAA>AAAuASvA1ABAA.AA:AhAGeA&AAcAAAA^zA=TA5AAA A AwAV)A5CAeAAAA=ApAOA/4AAAtAArAkAKA+*A AyA,AAAiwAIKA)&A AAAAAhAI A)*A OA|AɲAA5AjAJA+7A A ÃAAAnANA/OAAA_A AAsATA5tA]AOAIAKAVA{hA\A=AAAAA†AA'AfAGA)WA AJAA_AArAT=A5AAeA.AAAAbADA&AAA̳AAAsAUTA7AA%A|AABAAh)AJA-2AA\AAAZA}A_ABA%xAUA:A'AAAw!AZ0A=HA hAAAA;AAsAW3A:AAvAAxAAAs;AVA:AIA AAɤA~AaAuLAY?A=;A!@AMAbÀAAAzA^NABA&A AAAAAAAfAJA/BAAAPAAAApAUgA:SAFACAHAUAkAA}AbAHA-[AAARA¶A"AAsAXA>*A#A aA AԻAuA8AAkAQA7AA}A|AτAAAAgAN.A4jAAARAͱAAAAgAN A4AAܣAAAAzAbAIA1ZAAAvA;A AAAoAWA?A'AAAAA,AdAAhAQAA9A"A nAAcAA{AA}AfbAOA7A A gA>AAAAA~AhAQA:9A#aA AA AWAAAnAmAWTA@A*^AAA/AAAQAAwAaAKA5AA AAݚADzAAA1ApnAZAEA/XAA!AAAÒAAATAmAXACgA.*AAAAِAĀAyA{AApA[AFA2 AEAAA#AAASAAxKAcAOgA;A&ATA AAՓAeA@A$AAqA]AIA5 A!:A ^AAAAGAAAUAoA\6AHA5AvHAv94Av)AvuAv 3AuAuAuAuAuAu4AuxAuAu7AuvAuhCAuYAuKAu=dAu/@Au!0Au2AuGAtpAtAtAt\AtAtYAtAtAtdAt~8Atq AtdAtW)AtJJAt=At0At$!AtAt AsAsJAsAsAsͳAsAsAsAsAs5AsAszAsoiAscAsXAsMIAsBAs6As+As AsAs AsIArArAriArArˈAr5ArArArArArArAr{ArqKArgAr^ArTArK#ArAAr8Ar/NAr&.Ar!Ar&Ar @ArlAqAqAqdAqAqiAq AqƻAqAqZAqGAqFAqYAqAqAqAqdAqwAqp\AqhAqaAqZaAqS4AqLAqEAq> Aq7@Aq0rAq)Aq#Aq~AqAqAq 7AqApApApApApApApAppApApPApAp~Ap1ApApApApApApAp3ApApApTApAp~vApz#ApuApqApmApiApeApaAp]ApZCApVApS ApOApL!ApHApEApBQAp?2Ap<'Ap9.Ap6IAp3wAp0Ap.Ap+vAp(Ap&Ap$!Ap!ApApyAphApjApApApAp2ApAp Ap Ap .Ap Ap ApvAp^Ap[ApjApApAp AphApApZApApApWAp&Ap ApAp Ap&ApWApApApZApAphAp ApApApjAp[Ap^ApvAp Ap Ap .Ap Ap ApAp2ApApApApjAphApyApAp!Ap$!Ap&Ap(Ap+vAp.Ap0Ap3wAp6IAp9.Ap<'Ap?2ApBQApEApHApL!ApOApS ApVApZCAp]ApaApeApiApmApqApuApz#Ap~vApApTApApAp3ApApApApApApAp1Ap~ApApPApAppApApApApApApApAqAq 7AqAqAq~Aq#Aq)Aq0rAq7@Aq> AqEAqLAqS4AqZaAqaAqhAqp\AqwAqdAqAqAqAqYAqFAqGAqZAqAqƻAq AqiAqAqdAqAqArlAr @Ar&Ar!Ar&.Ar/NAr8ArAArK#ArTAr^ArgArqKAr{ArArArArArArAr5ArˈArAriArArAsIAs AsAs As+As6AsBAsMIAsXAscAsoiAszAsAs5AsAsAsAsAsͳAsAsAsJAsAt AtAt$!At0At=AtJJAtW)AtdAtq At~8AtdAtAtAtYAtAt\AtAtAtpAuGAu2Au!0Au/@Au=dAuKAuYAuhCAuvAu7AuAuxAu4AuAuAuAuAuAv 3AvuAv)Av94AvHAvX>AvgAvwAv]Av9Av'Av(Av=AvdAvAvAwMAwAw)HAw9AwJAw[OAwl"Aw} AwAwAw-Aw`AwҥAwAwiAxAxyAx*Ax;AxMAx_~AxqoAxsAxAxAxAxAAxޤAxAyAy?Ay(Ay;AyNAyamAythAyvAyAyAyAylAyAyYAzAz"Az6KAzJAz]AzqAzAzAz0AznAzֿAz#AzA{#A{(A{=pA{R2A{gA{{A{A{A{A{PA{A{A|_A|%A|;rA|QA|fA||A|{A|mA|qA|ԉA|A}A}AA}-A}DA}ZA}q?A}A}A}A}lA}fA}sA~A~(A~@ A~WeA~nA~OA~A~A~A gA A7AOAfbA}AA{AAcAA nA"A9AQAAhAAdA,AAAAA'A?AWAoAAA A;AvAAA1ZAIAbAzAAAAܣA>A A&A?DAXApAArASA=A0A,A0A8=AQSAjqAAAACAAA*AXAsAA"A¶ARAAA-[AHAbA}AAkAUAHACAFA:SAUgApAAAAPAAA/BAJAfAAAAAA AA&ABA^NAzAAÀAbAMA!@A=;AY?AuLAaA~AɤAA AIA:AVAs;AAAxAAvAA:AW3AsAA;AAAA hA=HAZ0Aw!AAA'A:AUA%xABA_A}AZAAA\AA-2AJAh)AABAA|A%AA7AUTAsAAA̳AAA&ADAbAAAA.AeAA5AT=ArAA_AAJA A)WAGAfA'AA†AAAAA=A\A{hAVAKAIAOA]A5tATAsAA A_AAA/OANAnAAÃA A A+7AJAjA5AAɲA|A OA)*AI AhAAAAA A)&AIKAiwAAA,AyA A+*AKAkArAAtAAA/4AOApA=AAAAeA5CAV)AwA A AAA5A=TA^zAAAAcAA&AGeAhA:AA.AABA1ASvAuAAA>AAA?AaAkAXAMAKA PA-]AOrAqAAAARAA>Aa7AAAcAA SA/ARaAtAA3AAA"JAE AgAAAdAMA?A98A\8AAAQAjAA A.ARAuXAAADAA&AIvAlAiAAzAAABOAeAAiA,AAAAUAsA:AbA؊Aس2AtAA, ATcA|A٥'A͓AAAGAoAژAAPAA:AcTAیA۴AݗAfA/=AXA܀AܩAAA$AMAvAݠAAAAlADAmAޗA[AAA\AkAA_AAAJAwiA;AAA*AWAAAޭA A8AeAAA+AVAGAtAABAA)AW5AAA`A A:GAgAFAA_AAKAy3AAԊA?A/A]AAQA%AABApAḀAA(AVAAAAA=AkBAsAǩABB)8B@`BWBnBBBRBˌBBBKB(B?BW%BntBBBrBB+BBB)VB@BX-BoBBBBzBBzBB+BCBZBr0BBZBBАB/BBwB/BFB^xBv)BBBNB BBBSB4BKBcB{BZB1B BBB B"B:yBRdBjRBCB7B.B(B%B$B'B*,BB4BZ?BrMB^BqBBҡBBBB3#BKJBctB{BBB:BsBB B %-B =qB UB nB MB B B CB B B QB 0B IB ayB yB LB B +B ۞B B B %B =B VB nB B B (B зB IB B tB 3B KB dJB |B B 8B B ߐB ?B B )B B_B [B sB B YB B B BB!OB:"BRBkBBBhBKB1BBB2BKBdB}BBBȻBBBB,BEB^BwBBB3BMBjBB'B@BYBs#BOBBBBB VB#BBBBB]B*BBB9BSzBmTB1BBBBBB"B<{BVkBp]BRBIBBB=B0BXBrB]BB1BܞBBB+BFjB`B{^BBZBB`BB nB 4B OB jB B 9B B fB B! B!$:B!>B!Y~B!t#B!B!sB!B!B!|B".B".B"IB"dQB" B"B"B"IB" B#B#B#:cB#U/B#oB#B#B#tB#KB##B$B$+B$FB$aB$|B$dB$LB$5B$!B%B%B%8B%SB%nB%B%B%B%B%B&B&+B&FB&aB&|B&B&B&B&+B'@B'WB':qB'UB'pB'B'B' B'3B'ZB(B(.B(IB(e B(>B(qB(B(B(B)SB)#B)>B)ZB)uUB)B)B)+B)wB)B*B*4eB*OB*k B*dB*B*B*uB*B+5B+*B+EB+acB+|B+6B+B+B+B,B,!hB,B>1MB>MB>jdB>B>B>B>ܣB>7B?B?2bB?NB?kB?.B?B?gB?B?B@GB@3B@PB@m4B@B@B@.B@B@BA4BA5BARBAoFBABABAeBABABBBB8KBBUBBqBBBBFBB BBBCBCWBC;BCWBCtBC}BCJBCBCBDBD!BD>]BD[2BDxBDBDBDΑBDlBEHBE%%BEBBE^BE{BEBEBEqBEWBF >BF)'BFFBFbBFBFBFBFֵBFBGBG-BGJBGgxBGoBGhBGbBG]BGYBHVBH2UBHOUBHlVBHXBH[BH_BHeBHlBItBI7}BITBIqBIBIBIȼBIBJBJBJ=BJZBJw-BJDBJ\BJuBJBKBK%BKBBK`BK}#BKDBKfBKԉBKBLBL+BLI BLfHBLrBLBLBLBL"BMQBM2BMOBMlBMBMKBMāBMBMBN&BN9`BNVBNsBNBNOBNˎBNBOBO#OBO@BO]BO{BO_BOBOBO5BP BP*BPHBPeaBPBPBPLBPڜBPBQ?BQ2BQOBQmBo9$BoW BotBoBoBoΣBoBp qBp(XBpF@Bpd'BpBpBpBpBpBqBq5BqShBqqPBq9Bq"Bq BqBrBr$BrBBr`Br~BrmBrWBrABr+BsBs1BsOBsmBsBsBsǒBs}BtgBt!RBt?=Bt]'Bt{BtBtBtBtBuBu.BuL~BujiBuTBu?Bu*BuBvBvBv;BvYBvwBvBvBvmBvXBw CBw+.BwIBwgBwBwBwBwޮBwBxBx8nBxVXBxtCBx-BxBxBxBy By'ByEBycBy}ByfByPBy9By#Bz Bz4BzRBzpBzBzBzʁBziB{QB{$:B{B"B{` B{}B{B{B{רB{B|vB|1]B|OCB|m*B|B|B|B|B}B} B}>sB}\XB}z=B}!B}B}B}B~B~-B~KyB~i]B~@B~#B~B~B~BB:BXoBvPB1BBBBBB#B2BABPB_vBneB}TBCB2B BBBBBBBB!B0|B?iBNUB]BBl.B{BBBBBŵBԡBBwBaBLB6B. B= BKBZBiBxBBBkBSBBBgBB,B:BGBU:BbBpTB}BkBB}BBBBܔBBBBB B-B;BHBVBcBqB~yBBeBBNBB2BܣBBBB[BB-0B:BHBUhBbBp3B}BB[BBBzBB4BBBBBBB+FB8BEBSAB`BmB{2BBBBdBBB=BBB B PBB'B5BBQBOB\BjBw@ByBBBBRBƅBӷBBBGBtBB"B/B= BJGBWnBdBqB~BBB?B]B{B͗BڳBBBBB)B)>B6QBCcBPsB]BjBwBBBBBBBBBBBBB B-B:BGBTBaBnB{BBBBxBhBVBCB/BBB BB#B0B=BJaBWBBd"BqB}BBBmBEBBBBBlB=B BB$B1tB>>BKBWBdBq\B~ BBBfB%BBʠB\BBBB =BB#B0YB= BIBViBcBoB|nBBBgB BBUBBB7BBrBB B-AB9BFoBSB_Bl*BxBKBBgBB}BBЎBBBBB#BB(!B4BABMBZBfBrBtBBZBB^BIzBTB_BjBuBBBB%B3B?BJBSBZB`BdBgBhBgBeB&aB1\BB6BA@BKBV;B`Bk0BuBBBBuBBQBB'BӏBBZBBB~BB7B&B0B;ABEBOBZ;BdBnBy%BpBBBEBBB BIBՆBBB1BfBBBB'+B1XB;BEBOBYBdBn?Bx`B~BBBBBBB#B4BBBOBZBcBkBqBuB#wB-wB7vBArBKmBUgB_^BiSBsGB}9B*BBBBBB¥B̉BjBJB(BBBBBdB%8B/ B8BBBLsBV=B`BiBsB}SBBBBMBBBuB)BBތB;BBB=BBB".B+B5pB?BHBREB[BeuBo BxB‚.B‹B•KBžB¨aB±B»oBBvBBvBBnBB^BBHB#B-)B6B@BInBRB\=BeBoBxeBÁBË!BÔ}BÝBç.BðBùB)ByBBB^BBB2B uBBB)2B2mB;BDBNBWGB`yBiBrB|Bą-BĎUBė|BĠBĩBIJBļBB:BSBjBBBBB BBB(B1B:BCBLBUB^BgBpByBłBŋBŔBŝBŦBůlBŸUBBG'BOyBWB`BhbBpBxBȁ8Bȉ|BȑBșBȢ:BȪvBȲBȺBBPBӁB۱BB B3BZBB BBB%B-B55B=MBEbBMuBUB]BeBmBuB}BɅBɍBɕBɝBɥBɭBɵBɽBšB͔BՄBsB_BJB2BBB BBB$zB,TB4,B<BCBKBSxB[FBcBjBrBziBʂ,BʉBʑBʙkBʡ&BʨBʰBʸLBʿBǰB_B B޶B_BBBMBB B(BB#[B*B2B:BABI4BPBXJB_BgWBnBv\B}B˅XBˌB˔LB˛Bˣ8B˪B˲B˹BBaBB0BޔBBVBBBiB BBiB B( B/WB6B=BE2BLvBSBZBb8BitBpBwBB̆PB̍B̔B̛Ḅ B̪3ḆZB̸B̿BBBBB1BHB\BnB~BB BBB"B)B0B7B>BEBLBSBZBa}BhmBoZBvFB}0B̈́B͊B͑B͘B͟Bͦ|BͭWBʹ/BͻBBȬB|BJBBBBkB.BBB kB%BB B'HB-B4B;WBBBHBORBUB\Bc;BiBpvBwB}B΄>BΊBΑcBΗBΞBΥ BΫBβBθBο!BšBBқBBߌBBuBBTBB,B BB^BB&B,}B2B91B?BEBL/BRBXB_BedBkBqBx4B~uBτBϊBϑ+BϗcBϝBϣBϩBϰ/B϶\BϼB°BBBB>B\BxBBBBBB BBBB$B*B0B6B<BBBH BNBSBYB_BeBkBqBwB}dBЃGBЉ'BЏBДBКBРBЦhBЬ;Bв BзBнBpB8BBBڃBBBBBrB(BBB=B BB>BB$B*+B/B5iB;B@BF4BKBQ[BVB\zBbBgBmBrBxB}BуBшBюBѓBљBўtBѣBѩSBѮBѴ*BѹBѾB[BɼBBxBB+BBB&BuBB BVB BB"BaBB#B)B.IB3}B8B=BC BH7BM`BRBWB\BaBg Bl&Bq?BvVB{kBҀ}B҅BҊBҏBҔBҙBҞBңBҨBҭBҲBҷBҼBBƐBˀBnBZBDB+BBBBBBfB>BB BBBPBB"B'B,iB1*B5B:B?]BDBHBM}BR-BVB[B`1BdBi~Bn BrBw_B{BӀBӅ,BӉBӎTBӒBӗsBӛBӠBӥBөBӮBӲBӷBӻB BăBBjBBIBڴBBBBMBB BgBBBlB BB\BBB 8B$}B(B,B1=B5xB9B=BBBFOBJ~BNBRBWB['B_KBcmBgBkBoBsBwB| BԀBԄ*BԈ7BԌBBԐJBԔQBԘTBԜVBԠUBԤRBԨMBԬEB԰;BԴ/BԸ BԼBԿBBB˴BϗByBWB4BBBBB_B.BBBBPBBB BNBBBsB&B"B&B*/B-B1B5$B8BBՐBՔ B՗nB՚B՞-BաBդBը:BիBծBղ2BյBոBռBտ\B BB"B`BϛBB B>BpBߠBBB BFBiBBBBBBB!B2B @BLBVB^BcBeBfB dB#_B&XB)OB,DB/6B2&B5B7B:B=B@BCBFsBIOBL*BOBQBTBW}BZKB]B_BbBeoBh2BjBmBplBs&BuBxB{DB}BրBփMBօBֈB֋AB֍B֐B֓B֕B֘RB֚B֝|B֠ B֢B֥(B֧B֪:B֬B֯BBֱBִABֶBֹ7BֻB־"BBBrBBGB̭BBsBB/B؊BB8BߌBB,BxBB BOBBBBLBBBB#BSBBBB B B@B_B|BBBBBBB!B# B%B'B)B+B-B/B1 B3B4B6B8B:BB@BBcBDDBF#BGBIBKBMBOYBQ*BRBTBVBXSBZB[B]B_WBaBbBdBf5BgBiBkABlBnBp9BqBs}BuBvBxPByB{|B}B~B׀,BׁB׃?BׄB׆JBׇB׉JB׊B׌AB׍B׏/BאBגBדBהBזWBחBי#BךBכBםCBמBןBסMBעBףBץBBצBקBש!BתgB׫B׬B׮*BׯfBװBױB׳ B״>B׵nB׶B׷B׸B׺B׻:B׼\B׽{B׾B׿BBBBBBB)B0B5B7B7B5B0B)BBBBBBBԴBՙB}B^BBBB0B|BB BQBBBBKBBBBBNBzBBBBB5BSBnBBBBBBBBBB~WWavelengthnm?@ááE?DDEDbDC7ClC]CRCC1cCzKCrSCjCdHC^^CY CT;]COڰCKwCH1CDҗCA C>ԃC<'C9C7VC5*1C3 DC15C/hC-nC,C*C)%C'6C&|RC%@C$C"DC!C CCCC2C_CCKCnC`C2C CgCHC3CCCC]CCfC C@C+CC<-CChCCCA-CC C0C _C YC 4mC C C JC >C C pC +C C C eTC &C DC C pC 6CC-CCZYC& CCC?C^C/CCUCCzCO]C$CPChC6CC[C5CBCcC!CyCfC]C;CCCQCwCC{=C\C>C!gCZCCˇCC[Cy]C^CDC*C,CC!B1B$B4B iBBBBBBBOB5B0B?BcBwBkB`JBTBIGB=B2B'TB)BB BB6BfBکBBbBBaBBB^B(B}BrBhB^BUBK;BAuB7B.B$~BBzB BB`BBBBЯBǦBBBBB@BBB:BxBp BgB_8BVBNBF7B=B5B-B%BzBwB BBBBBOBޚBBOBǹB.BB7BBiBBB~BDB~BvBoBhBaBZBSBLBEB?B84B1jB*B#B?BBB cBBPBB^BBB1BBϑBMBBBBBlBWBHBABBBJBYBoBzBtBnBiBcKB]BWBR"BLwBFBA7B;B6B0B+B%B BB;BB |B%BBBHB BBBuBOB/BBBBBBBBBB)BGBjBBBB-BkB}BxBtDBoBjBfKBaB]BX~BSBOdBJBF]BAB=jB8B4B0 B+B'[B#BBWB BB {B :BBBBdB9BBBBBߣBۑBׄB{BuBtBwB~B￉BﻗB﷪BBBBBBBkBBBB8BtBBB?B~BzBw+BsBoBl6BhBdBaaB]BZ9BVBSBOBLBHBEBAB> B:B7;B3B0bB,B)B&5B"B|B$BB}B.BB BTBBBBZB#BBBBcB:BBBB۳BؘBՀBkBXBHB;B0B(B#B B B#B(B0B:BGBWBiB}BBBBB B,BRBzBBBB2B}gBzBwBuBrNBoBlBjBg[BdBaB_BFBDBCBBLBAB?B>B=dB<,B:B9B8B7RB6B4B3B2B1QB0B.B-B,B+`B*1B)B'B&B%B$TB#)B"B BBB_B8BBBBBB]B;BBBBBB yB [B >B !B BBBBBBfBNB6BB BBBBBBBzBhBWBFB6B&BBBBBBBBBBBBBBByBrBkBeB_BZBUBQBNBKBHBFBDBCBCBCBCBDBFBHBJudWMT0IGR0DocsNotebook0Notebook0:Docs,9 HH(Fg(HH(dh $Normal <6666$$$Z@ About This Experiment   This experiment is designed to etch complex waveforms(multilayers) into porous Si samples. It generates a text file waveform that can be read by LABVIEW. If the analog board output is fed into a voltage to current converter, it acts as a programmable galvanostat.   How it works: The program generates a waveform that is saved as a text file. The file can then be read into LABVIEW using a separate program. The National Instruments DAQ board converts this to a voltage. This voltage is then fed into a voltage to current converter employing active feedback through an op amp and Darlington power transistor combination to provide a programmed, controlled current.  $Written by Michael J. Sailor 2/11/03ZhpNormal+ Normal+ Geneva// Platform=Macintosh, IGORVersion=5.050 DefaultFont "Geneva" MoveWindow/P 127,111,1079,719 MoveWindow/C 0,518,578,623 OpenNotebook/N=Notebook0/W=(0,44,526,244)/J=280766 "Docs" Table0() DesignWaveform() Graph3() Graph0() Graph2() Window Graph2() : Graph PauseUpdate; Silent 1 // building window... Display /W=(-1,44,555,496) EtchWaveform ModifyGraph grid=1 ModifyGraph minor=1 ModifyGraph lblMargin(left)=19 ModifyGraph axOffset(left)=3.28571 ModifyGraph lblLatPos(left)=-2 Label left "Current" Label bottom "Time, seconds" ShowInfo ControlBar 120 SetVariable MaxCurrent,pos={12,10},size={158,15},proc=UpdateDesignPanel,title="Maximum current (mA)" SetVariable MaxCurrent,limits={0,1000,1},value= MaxCurrent SetVariable WaveformPeriod,pos={64,48},size={107,15},proc=UpdateDesignPanel,title="Period (sec)" SetVariable WaveformPeriod,help={"This actually sets Stack1Layer1Time; Stack1Layer2Time, Stack2Layer1Time and Stack2Layer2Time are disabled (set to 0) for a rugate"} SetVariable WaveformPeriod,limits={0,inf,0.1},value= Period SetVariable MinCurrent,pos={15,29},size={156,15},proc=UpdateDesignPanel,title="Minimum current (mA)" SetVariable MinCurrent,limits={0,1000,1},value= MinCurrent SetVariable SetEtchDuration,pos={26,66},size={150,15},proc=UpdateDesignPanel,title="Etch Duration (sec)" SetVariable SetEtchDuration,value= EtchDuration ValDisplay EtchDurationMinutes,pos={181,66},size={76,14},format="%.1f minutes" ValDisplay EtchDurationMinutes,frame=0,limits={0,0,0},barmisc={0,1000} ValDisplay EtchDurationMinutes,value= #"EtchDuration/60" ValDisplay Number_of_repeats,pos={179,48},size={78,14},format="%.1f repeats" ValDisplay Number_of_repeats,frame=0,limits={0,0,0},barmisc={0,1000} ValDisplay Number_of_repeats,value= #"EtchDuration/Period" SetVariable SetPhaseShift,pos={30,84},size={150,15},proc=UpdateDesignPanel,title="Phase shift (degrees)" SetVariable SetPhaseShift,limits={-360,360,45},value= Phase SetVariable setvar0,pos={373,97},size={161,15},title="Timebase (pts/sec)" SetVariable setvar0,limits={0,inf,1000},value= GSampleRate Button MakeWaveform,pos={195,90},size={116,21},proc=GoToGenerateSineWaveform,title="Make Waveform" Button MoveToEtchProfile,pos={392,4},size={160,20},proc=CopyToEtchProfile,title="Copy to Etch Profile >>" Button AddToEtchProfile,pos={392,28},size={160,20},proc=AddToEtchProfile,title="Add to Etch Profile >>" ValDisplay Jmax,pos={176,11},size={75,14},labelBack=(65535,65535,65535) ValDisplay Jmax,format="%.1f mA/cm2",frame=0,limits={0,0,0},barmisc={0,1000} ValDisplay Jmax,value= #"MaxCurrent/EtchArea" SetVariable SetElectrodeArea,pos={40,101},size={140,15},title="Electrode area (cm2)" SetVariable SetElectrodeArea,limits={0,100,0.1},value= EtchArea ValDisplay Jmax1,pos={176,30},size={75,14},labelBack=(65535,65535,65535) ValDisplay Jmax1,format="%.1f mA/cm2",frame=0,limits={0,0,0},barmisc={0,1000} ValDisplay Jmax1,value= #"MinCurrent/EtchArea" EndMacro Window Graph0() : Graph PauseUpdate; Silent 1 // building window... Display /W=(555,44,1112,497) EtchProfile ModifyGraph grid=1 ModifyGraph minor=1 ModifyGraph lblMargin(left)=19 ModifyGraph axOffset(left)=3.28571 ModifyGraph lblLatPos(left)=-2 Label left "Current" Label bottom "Time, seconds" Cursor/P A EtchProfile 19999 ShowInfo ControlBar 120 Button SaveButton,pos={405,30},size={140,20},proc=SaveToDisk,title="Save profile to disk..." Button FFT,pos={406,54},size={140,20},proc=FourierTransformDisplayed,title="calculate spectrum" Button ChirpButton,pos={11,93},size={120,20},proc=GotoChirp,title="Chirp waveform" Button UnChirpButton,pos={141,92},size={50,20},proc=UndoChirp,title="undo" SetVariable setBroadening,pos={31,74},size={150,15},title="line broadening:" SetVariable setBroadening,value= broadening Button AddFirstPoint,pos={9,32},size={150,20},proc=AppendPoint0,title="Add zero at point 0" Button AddInRamp,pos={10,8},size={150,20},proc=GotoCurrentRamps,title="add current ramps..." EndMacro Window Graph3() : Graph PauseUpdate; Silent 1 // building window... Display /W=(549,518,1132,735) CalculatedSpectrum vs Wavelength ModifyGraph mirror=2 Label left "\\Z12Relative Intensity" Label bottom "\\F'Arial'\\Z12Wavelength, nm" SetAxis left -1.01048203218968,22.7811546536184 SetAxis bottom 350,1000 Cursor/P A CalculatedSpectrum 210 ShowInfo EndMacro Window DesignWaveform() : Panel PauseUpdate; Silent 1 // building window... NewPanel /W=(971,44,1253,275) SetDrawLayer UserBack SetDrawEnv fsize= 10 SetDrawEnv save SetDrawEnv linefgc= (65535,0,26214) SetDrawEnv save SetDrawEnv linethick= 5,linefgc= (1,4,52428),linebgc= (32768,54615,65535),fillpat= 0,fillfgc= (32768,54615,65535),fillbgc= (32768,54615,65535) DrawRect 2,4,263,199 ValDisplay Slope,pos={141,14},size={100,14},title="Slope" ValDisplay Slope,limits={0,0,0},barmisc={0,1000} ValDisplay Slope,value= #"Period_vs_wavelength_slope" ValDisplay Intercept,pos={141,31},size={100,14},title="Intercept" ValDisplay Intercept,limits={0,0,0},barmisc={0,1000} ValDisplay Intercept,value= #"Period_vs_wavelength_intercept" ValDisplay startperiod,pos={140,48},size={100,14},title="start period" ValDisplay startperiod,limits={0,0,0},barmisc={0,1000} ValDisplay startperiod,value= #"1/Frequencies[0]" EndMacro Window Table0() : Table PauseUpdate; Silent 1 // building window... Edit/W=(5,44,510,251) EtchProfile.xy EndMacro #pragma rtGlobals= 1 #include //this program is designed to etch complex waveforms into porous Si samples. //It generates a waveform that can be read by Labview and converted into a current waveform using a voltage-to-current //converter based on a darlington power transistor. Macro Initialize() //Variable/G GL_ScaleFactor=32000, GR_ScaleFactor=32000 //Variable/G GEtchTime Variable/G GSampleRate=2e3 // Set sample rate to 2kHz //Variable/G MeasCurrent1, MeasCurrent2, MeasCurrent3, MeasCurrent4, MeasCurrent5, GNominalTime //used in calibration routine String/G GFileName Variable/G WavelengthScale Variable/G Period_vs_Wavelength_slope, Period_vs_Wavelength_intercept //the rugate peak position has a linear relationship to current waveform period //Variables used by the Waveform Generator subroutine: Variable/G Broadening, Phase, Numrepeats, MaxCurrent, MinCurrent, Period, EtchArea //Variable/D/G Stack1Layer1current, Stack1Layer1time, Stack1Layer2current, Stack1Layer2time //Variable/D/G Stack2Layer1current, Stack2Layer1time, Stack2Layer2current, Stack2Layer2time //Variable/D/G MicrocavityCurrent, MicrocavityTime, DelayTime Variable/D/G SampleRate, CurrentRange, EtchDuration Variable/D/G RampDuration, RampStartCurrent //Variables used in the calibration subroutines: //Variable/D/G clbSP1, clbSP2, clbSP3, clbSP4, clbSP5 //set points to use in calibration run //Variables used in the EtchProfile Panel: String/G WaveformLabel="Rugate" EndMacro Window Graph0() : Graph PauseUpdate; Silent 1 // building window... Display /W=(555,44,1112,497) EtchProfile ModifyGraph grid=1 ModifyGraph minor=1 ModifyGraph lblMargin(left)=19 ModifyGraph axOffset(left)=3.28571 ModifyGraph lblLatPos(left)=-2 Label left "Current" Label bottom "Time, seconds" Cursor/P A EtchProfile 210039 ShowInfo ControlBar 120 Button SaveButton,pos={405,30},size={140,20},proc=SaveToDisk,title="Save profile to disk..." Button FFT,pos={406,54},size={140,20},proc=FourierTransformDisplayed,title="calculate spectrum" Button ChirpButton,pos={11,93},size={120,20},proc=GotoChirp,title="Chirp waveform" Button UnChirpButton,pos={141,92},size={50,20},proc=UndoChirp,title="undo" SetVariable setBroadening,pos={31,74},size={150,15},title="line broadening:" SetVariable setBroadening,value= broadening Button AddFirstPoint,pos={9,32},size={150,20},proc=AppendPoint0,title="Add zero at point 0" Button AddInRamp,pos={10,8},size={150,20},proc=GotoCurrentRamps,title="add current ramps..." SetDrawLayer UserFront EndMacro Function SelectFile(ctrlName,popNum,popStr) : PopupMenuControl String ctrlName Variable popNum String popStr NVAR GEtchTime=GEtchTime NVAR GSampleRate=GSampleRate NVAR GR_ScaleFactor=GR_ScaleFactor NVAR GSelectFileMode=GSelectFileMode SVAR GWaveformType=GWaveformType String EtchProfileWaveName if (cmpstr(popStr,"Create New...")==0) //Go to the panel that creates a new etch profile... GWaveformType="Rugate" DoWindow/F DesignRugateWaveform if (V_Flag==0) //window was not up Execute("DesignRugateWaveform()") endif else LoadWave/H/P=Home/O popStr EtchProfileWaveName=S_wavenames EtchProfileWaveName=EtchProfileWaveName[0,(strlen(EtchProfileWaveName)-2)] //strip the semicolon from the end of the wavename if (deltaX($EtchProfileWaveName)!=1/GSampleRate) DoAlert 0, "Load aborted. The file you are attempting to load has "+num2str(1000/deltaX(EtchProfile))+" kHz data spacing. This is not the standard "+num2str(1/(1000*GSampleRate))+" kHz data spacing. Redimension file before loading." PopupMenu SelectFile mode=GSelectFileMode // popup reverts to previously selected item (load aborted) ControlUpdate/W=EtchProfile SelectFile // update popup else GSelectFileMode=popNum if (cmpstr(EtchProfileWaveName,"EtchProfile")) Duplicate/O $EtchProfileWaveName EtchProfile //Appends this new wave to the EtchProfile display, overwrites the previous one. killwaves $EtchProfileWaveName //get rid of the original name, whatever it was... endif endif Wavestats/Q EtchProfile GEtchTime=numpnts(EtchProfile)*deltaX(EtchProfile) //needed to properly display the Etch duration on Graph0 if (V_max*GR_ScaleFactor>32000) DoAlert 0, "Currently selected file will overload the D/A converter. Maximum current requested is "+num2str(V_max)+" mA" endif endif End //********Subroutines added from original version of BraggMaker************** Function CalculateEtchDuration() //this is used by the DesignEtchWaveform panel and its subroutines variable IncludeMicrocavity nvar EtchDuration=EtchDuration nvar Stack1Layer1time=Stack1Layer1time nvar Stack1Layer2time=Stack1Layer2time nvar numrepeats1=numrepeats1 nvar Stack2Layer1time=Stack2Layer1time nvar Stack2Layer2time=Stack2Layer2time nvar numrepeats2=numrepeats2 nvar MicrocavityTime=MicrocavityTime nvar DelayTime=DelayTime if (MicrocavityTime>0) IncludeMicrocavity=1 else IncludeMicrocavity=0 endif EtchDuration=(Stack1Layer1time+Stack1Layer2time+2*DelayTime)*numrepeats1+(Stack2Layer1time+Stack2Layer2time+2*DelayTime)*numrepeats2+(MicrocavityTime+DelayTime)*IncludeMicrocavity End macro GenerateEtchProfileOld(ctrlName):ButtonControl //the front end of the GenerateEtchWaveform routines, tied to "make waveform" button String ctrlName //CalculateEtchDuration() //figure out how big the file will be Make/O/N=(EtchDuration*GSampleRate) EtchProfile //this wave contains the etch profile to the time resolution defined by GSampleRate SetScale/P x,0,(1/GSampleRate), EtchProfile GenerateEtchWaveform(ctrlName,EtchProfile) if (Wintype("Graph0")==0) //put up "Etch Profile" plot Graph0() else DoWindow/F Graph0 endif CheckDisplayed etchprofile //append the file if it isn't there already if (V_flag==0) AppendToGraph etchprofile endif //FourierAnalysis("EtchProfile") //do an FFT of this waveform to get an idea of what the reflectivity spectrum will look like endmacro macro GoToGenerateSineWaveform(ctrlName):ButtonControl //the front end of the GenerateSineWaveform routine, tied to "make waveform" button String ctrlName //figure out how big the file will be based on the sample rate and the desired etch duration Make/O/N=(EtchDuration*GSampleRate) EtchWaveform //this wave contains the etch profile to the time resolution defined by GSampleRate SetScale/P x,0,(1/GSampleRate), EtchWaveform GenerateSineWaveform(ctrlName) WaveformLabel="Rugate_"+num2str(round(MinCurrent))+"_"+num2str(round(MaxCurrent))+"_"+num2str(round(Period))+"s"+"_"+num2str(round(EtchDuration/Period))+"r" if (Wintype("Graph2")==0) //put up "Waveform" plot Graph2() else DoWindow/F Graph2 endif CheckDisplayed EtchWaveform //append the file if it isn't there already if (V_flag==0) AppendToGraph EtchWaveform endif endmacro //Function GenerateChirpedEtchWaveform(ctrlName,EtchProfile) // String ctrlName //This generates the EtchProfile file used by the etch, using a function to speed things up a bit. It inputs the parameters in mA, but outputs them in Amps // //it is a chirped waveform, that contains the frequency components from "Spectrum" // wave EtchProfile // wave Wavelength // wave Spectrum // variable Frequency, Amplitude,Phase,Offset //for calculating the sine wave // NVAR EtchDuration=EtchDuration // NVAR Period_vs_Wavelength_slope=Period_vs_Wavelength_slope // NVAR Period_vs_Wavelength_intercept=Period_vs_Wavelength_intercept // NVAR GEtchTime=GEtchTime // ////Generate the chirped waveform, starting with the highest frequency value represented in the spectrum, ending at the lowest. //Duplicate/O EtchProfile Frequencies //Duplicate/O EtchProfile Wavelengths //used to determine the range of periods represented in the final chirped waveform //Duplicate/O EtchProfile Amplitudes //used to determine the weightings for each period represented in the final chirped waveform //Interpolate2/T=1/N=(numpnts(EtchProfile))/Y=Wavelengths Wavelength //Interpolate2/T=1/N=(numpnts(EtchProfile))/Y=Amplitudes Spectrum //Frequencies=1/(Period_vs_Wavelength_slope*Wavelengths+Period_vs_Wavelength_intercept) //writes a separate frequency for each point in the waveform. ////this uses the plot of waveform period (in sec) vs peak wavelength (in nm) to calculate the appropriate conversion factor. This is different for every resistivity and electrolyte composition ////and so it must be determined by the user. //Amplitude=1 //Offset=2 //Phase=90 //EtchProfile=Amplitudes*sin(2*Pi*((x)*Frequencies+Phase/180))+Offset //sweeps the frequency range contained in wave "Frequencies" // EtchProfile=EtchProfile/1000 //convert mA to A // SetScale d 0,0,"A", EtchProfile // Wavestats/Q EtchProfile // GEtchTime=numpnts(EtchProfile)*deltaX(EtchProfile) //needed to properly display the Etch duration on Graph0 //End Function GenerateSineWaveform(ctrlName) String ctrlName //This generates a sine wave of the appropriate amplitude, number of repeats, and offset, and places it in the file EtchWaveform. //It inputs values in mA, and outputs them in mA WAVE EtchWaveform NVAR numrepeats=numrepeats NVAR Period=Period NVAR Phase=Phase NVAR MinCurrent=MinCurrent NVAR MaxCurrent=MaxCurrent variable Amplitude, Frequency,Offset //for calculating the sine wave NVAR EtchDuration=EtchDuration Amplitude=(MaxCurrent-MinCurrent)/2 Offset=Amplitude+MinCurrent Frequency=1/Period EtchWaveform=Amplitude*sin(2*Pi*((x)*Frequency+Phase/360))+Offset End Window DesignEtchWaveform() : Panel PauseUpdate; Silent 1 // building window... NewPanel /W=(551,44,825,575) SetDrawLayer UserBack SetDrawEnv fsize= 10 SetDrawEnv save SetDrawEnv linefgc= (65535,0,26214) SetDrawEnv save DrawRect 189,76,189,78 SetDrawEnv fsize= 12,fstyle= 1 DrawText 9,26,"Stack #1" SetDrawEnv linethick= 5,linefgc= (1,4,52428),linebgc= (32768,54615,65535),fillpat= 0,fillfgc= (32768,54615,65535),fillbgc= (32768,54615,65535) DrawRect 1,146,271,4 SetDrawEnv linethick= 5,linefgc= (1,4,52428),linebgc= (32768,54615,65535),fillpat= 0,fillfgc= (32768,54615,65535),fillbgc= (32768,54615,65535) DrawRect 1,141,271,200 SetDrawEnv linethick= 5,linefgc= (1,4,52428),linebgc= (32768,54615,65535),fillpat= 0,fillfgc= (32768,54615,65535),fillbgc= (32768,54615,65535) DrawRect 1,195,271,348 SetDrawEnv fsize= 12,fstyle= 1 DrawText 9,217,"Stack #2" SetDrawEnv linethick= 5,linefgc= (1,4,52428),linebgc= (32768,54615,65535),fillpat= 0,fillfgc= (32768,54615,65535),fillbgc= (32768,54615,65535) DrawRect 271,343,1,460 SetDrawEnv linethick= 5,linefgc= (1,4,52428) DrawRect 271,343,1,460 Button MakeWaveform,pos={74,492},size={116,21},proc=GenerateEtchProfile,title="Make Waveform" SetVariable S1L1Current,pos={45,25},size={190,15},proc=UpdateDesignPanel,title="Layer 1 Current (mA)" SetVariable S1L1Current,limits={0,1000,1},value= Stack1Layer1current SetVariable S1L1Time,pos={61,47},size={174,15},proc=UpdateDesignPanel,title="Layer 1 Time (sec)" SetVariable S1L1Time,limits={0,Inf,0.1},value= Stack1Layer1time SetVariable S1L2Current,pos={42,69},size={193,15},proc=UpdateDesignPanel,title="Layer 2 Current (mA)" SetVariable S1L2Current,limits={0,1000,1},value= Stack1Layer2current SetVariable S1L2Time,pos={66,93},size={169,15},proc=UpdateDesignPanel,title="Layer 2 Time (sec)" SetVariable S1L2Time,limits={0,Inf,0.1},value= Stack1Layer2time SetVariable setvar1_2,pos={33,355},size={216,15},proc=UpdateDesignPanel,title="Delay between layers (sec):" SetVariable setvar1_2,limits={0,Inf,0.1},value= DelayTime SetVariable NumRepts,pos={61,116},size={174,15},proc=UpdateDesignPanel,title="Number of repeats: " SetVariable NumRepts,limits={0,Inf,1},value= numrepeats1 SetVariable MCCurrent,pos={22,151},size={212,15},proc=UpdateDesignPanel,title="Microcavity Current (mA)" SetVariable MCCurrent,limits={0,1000,1},value= MicrocavityCurrent SetVariable MCTime,pos={39,172},size={194,15},proc=UpdateDesignPanel,title="Microcavity Time (sec)" SetVariable MCTime,limits={0,Inf,0.1},value= MicrocavityTime SetVariable S2L1Current,pos={50,235},size={190,15},proc=UpdateDesignPanel,title="Layer 1 Current (mA)" SetVariable S2L1Current,limits={0,1000,1},value= Stack2Layer1current SetVariable S2L1Time,pos={66,255},size={174,15},proc=UpdateDesignPanel,title="Layer 1 Time (sec)" SetVariable S2L1Time,limits={0,Inf,0.1},value= Stack2Layer1time SetVariable S2L2Current,pos={47,277},size={193,15},proc=UpdateDesignPanel,title="Layer 2 Current (mA)" SetVariable S2L2Current,limits={0,1000,1},value= Stack2Layer2current SetVariable S2L2Time,pos={71,298},size={169,15},proc=UpdateDesignPanel,title="Layer 2 Time (sec)" SetVariable S2L2Time,limits={0,Inf,0.1},value= Stack2Layer2time Button SameAsStack1,pos={121,206},size={128,22},proc=MirrorStack1,title="Mirror Stack #1" SetVariable NumRepts_2,pos={66,319},size={174,15},proc=UpdateDesignPanel,title="Number of repeats: " SetVariable NumRepts_2,limits={0,Inf,1},value= numrepeats2 ValDisplay valdisp0,pos={62,470},size={143,14},title="Time to etch (min):" ValDisplay valdisp0,format="%.1f",frame=0,limits={0,0,0},barmisc={0,1000} ValDisplay valdisp0,value= #"EtchDuration/60" PopupMenu Waveformpopup,pos={113,376},size={126,20},proc=SetWaveformType,title="Waveform:" PopupMenu Waveformpopup,value= #"\"Square;Rugate\"" GWaveformType="Rugate" PopupMenu Waveformpopup mode=2 // popup reverts to "Rugate" ControlUpdate Waveformpopup // update popup EndMacro Function SetEtchCurrentScale(ctrlName,popNum,popStr) : PopupMenuControl String ctrlName Variable popNum String popStr Nvar CurrentRange=CurrentRange print (num2str(popNum)) if (popNum==1) CurrentRange=1 //this is the low current range endif if (popNum==2) CurrentRange=10 //this is the high current range, set by the electronics to be approx 10 times the low one endif End Macro CopyIntoWave(ctrlName,varNum,varStr,varName) : SetVariableControl //this control function copies the selected value into either the CalibrationCurveSET or CalibrationCurveMEAS waves String ctrlName Variable varNum String varStr String varName Variable i String list_of_SETvariables="clbSP1;clbSP2;clbSP3;clbSP4;clbSP5" String list_of_MEASvariables="MeasCurrent1;MeasCurrent2;MeasCurrent3;MeasCurrent4;MeasCurrent5" i=WhichListItem(varName, list_of_SETvariables) if (i>-0.5) //Then it was found in the list, it belongs to the SET variables CalibrationCurveSET[i]=varNum endif i=WhichListItem(varName, list_of_MEASvariables) if (i>-0.5) //Then it was found in the list, it belongs to the MEASURED variables CalibrationCurveMEAS[i]=varNum endif End Macro Calibrate(ctrlName) : ButtonControl //This will do a polynomial fit to five points and write the correction data to variables k0, k1, and k2. String ctrlName variable i=0 string SetPoint //make sure that the set points are in the CalibrationCurveSET file: do SetPoint="clbSP"+num2str(i+1) CalibrationCurveSET[i]=$SetPoint i+=1 while(i<4.5) Dowindow/F Calibration_Curve if (V_Flag==0) //window was not up Calibration_Curve() endif CurveFit poly 3, CalibrationCurveMEAS /X=CalibrationCurveSET /D EndMacro Window CalibrationCurveData() : Table PauseUpdate; Silent 1 // building window... Edit/W=(213,375,528,518) CalibrationCurveSET,CalibrationCurveMEAS ModifyTable width(CalibrationCurveSET)=116,width(CalibrationCurveMEAS)=116 EndMacro Window Calibration_Curve() : Graph PauseUpdate; Silent 1 // building window... Display /W=(311,375,863,648)CalibrationCurveMEAS vs CalibrationCurveSET AppendToGraph fit_CalibrationCurveMEAS ModifyGraph mode(CalibrationCurveMEAS)=3 ModifyGraph marker(CalibrationCurveMEAS)=19 ModifyGraph rgb(CalibrationCurveMEAS)=(1,3,39321) ModifyGraph grid=2 ModifyGraph mirror=2 Label left "Measured Current (mA)" Label bottom "Set Point (cts/GRScaleFactor)" EndMacro Function UpdateDesignPanel(ctrlName,varNum,varStr,varName) : SetVariableControl String ctrlName Variable varNum String varStr String varName //CalculateEtchDuration() NVAR numrepeats=numrepeats NVAR Period=Period NVAR Phase=Phase NVAR MinCurrent=MinCurrent NVAR MaxCurrent=MaxCurrent End Macro RevertToFactorySettings(ctrlName) : ButtonControl //this will reload the original Scale Factor and calibration curve values String ctrlName GL_ScaleFactor=3000 GR_ScaleFactor=35 k0=0; k1=1; k2=0 //variables used in polynomial fit clbSP1= 0*31000/GR_ScaleFactor; clbSP2=0.2*31000/GR_ScaleFactor; clbSP3=0.4*31000/GR_ScaleFactor clbSP4=0.6*31000/GR_ScaleFactor;clbSP5=0.8*32000/GR_ScaleFactor //set points to use in calibration run EndMacro Function EtchCalibrate(SetPointCts) //This plays a given Set point intensity over the speakers to allow calibration of the power supply Variable SetPointCts NVAR L_ScaleFactor=GL_ScaleFactor NVAR R_ScaleFactor=GR_ScaleFactor NVAR GNominalTime=GNominalTime NVAR GSampleRate=GSampleRate Make/W/O/N=((GNominalTime*GSampleRate),2) StereoCarrier //Make 16 bit stereo carrier signal that will play for the dwell time SetScale/P x,0,(GSampleRate),StereoCarrier stereoCarrier[][0]=sin(2*Pi*500*x)*L_ScaleFactor //Create 0.5 Khz sinewave tone for the reference channel stereoCarrier[][1]=sin(2*Pi*500*x)*SetPointCts*R_ScaleFactor //Create 0.5 Khz sinewave tone, multiply by requested set point intensity //check to make sure that the output is not greater than 16 bits. Wavestats stereoCarrier if (v_max>31000) DoAlert 0, "D/A overload. Reduce value of requested set point" else PlaySound/A stereoCarrier endif End Proc EtchSetPoint(ctrlName) : ButtonControl String ctrlName EtchCalibrate($ctrlName) //this is the name of the global variable (clbSP1, clbSP2, etc.) that the button accesses EndMacro Proc ShowCalibrationCurve(ctrlName) : ButtonControl String ctrlName Dowindow/F Calibration_Curve if (V_Flag==0) //window was not up Calibration_Curve() endif EndMacro //Fourier Transform Routines Proc FourierAnalysis(filename) //Prepare spectral file and perform Fourier analysis (FTMagPhase) String filename String FTFilename PauseUpdate; Silent 1 Interpolate/Y=tempFT/N=4096 $filename //this is a small FFT; only use 4096 points FTMagPhase("tempFT",1,3,1,1,1) FTFilename=filename+"_Mag" duplicate/O tempFT_Mag $FTFilename tempFT_Mag[0,15]=0 //wipe out the first 15 points so we can find the true peak wavestats/Q tempFT_Mag if (Wintype("Graph1")==0) //put up "Fourier Analysis" plot Graph1() else DoWindow/F Graph1 endif CheckDisplayed $FTFilename //append the file if it isn't there already if (V_flag==0) AppendToGraph $FTFilename endif ModifyGraph mirror=2 //SetAxis bottom GxStart,GxEnd SetAxis left 0,(1.1*V_max) Endmacro Macro FTMagPhase(w,windowing,resolution,linlog,phase,phasetype) string w Prompt w,"Input data:",popup WaveList("*",";","") variable windowing Prompt windowing,"Windowing:",popup "None;Hann" variable resolution=1 Prompt resolution,"Resolution enhancement:",popup "none;2;4;8;16;32" variable linlog= 1 Prompt linlog,"Magnitude mode:",popup "Linear;dB" Variable phase= 1 Prompt phase,"Phase:",popup "No phase;Phase in radians;Phase in degrees" Variable phasetype=1 Prompt phasetype,"Unwrap phase?",popup,"No;Yes" ; PauseUpdate; silent 1 //Modified from Wavemetrics Library //Given an input wave ( doesn't have to be a power of two), creates a new wave //with the suffix "_Mag" that contains the normalized frequency response and //optionally a wave with the suffix "_Phase". //Several levels of resolution enhancement (really just sin x/x interpolation) are provided. //Options include windowing (Hann) vs no windowing, linear vs dB, phase vs no phase //If phase then option of radians or degrees,wrapped or unwrapped //You may want to modify the code at the end of this macro. It sets the display //style and that is a matter of taste. To do this, you should make a copy of this //code and give it a different name. string destw=w+"_Mag",phasew= w+"_Phase" Variable n= numpnts($w) if( (resolution<1) %| (resolution>6) ) Abort "resolution out of range" endif resolution -= 1 Duplicate/O $w $destw if(windowing==2) Hanning $destw; $destw *= 2 //assumes continuous rather than pulsed data endif Redimension/N=(CeilPwr2(n)*2^resolution) $destw //pad with zeros to power of 2 fft $destw $destw= r2polar($destw) //NOTE: depending on your application you may want to un-comment the next line // $destw[0] /= 2 // dc is special if( phase!=1 ) Duplicate/O $destw $phasew Redimension/R $phasew $phasew= imag($destw) if( phasetype==2 ) $phasew[0]= $phasew[1] //try to avoid glitch at dc UnWrap 2*Pi,$phasew $phasew[0]= 0 endif if(phase==3) $phasew *= 180/Pi SetScale y,0,0,"deg",$phasew else SetScale y,0,0,"rad",$phasew endif endif Redimension/R $destw if( linlog==2 ) WaveStats/Q $destw $destw= 20*log($destw/V_max) SetScale y,0,0,"dB",$destw else $destw /= n/2 SetScale y,0,0,"Cts",$destw endif end Window Graph1() : Graph PauseUpdate; Silent 1 // building window... Display /W=(-1,512,528,714) EtchProfile_Mag ModifyGraph mirror=2 SetAxis left 0,56.0149973528689 SetAxis bottom -0.0150837333970245,0.441421021471746 Cursor/P A EtchProfile_Mag 60 ShowInfo EndMacro Macro FourierTransformDisplayed(ctrlName) : ButtonControl String ctrlName //Duplicate/O EtchProfile EtchProfileTemp FTMagPhase("EtchProfile",2,2,1,1,1) //codes: windowing (1=no, 2=Hanning),resolution (1,2,3,4,5,6 are none;2;4;8;16;32, respectively) //linlog (1=linear scale, 2 = log scale),phase (1=no, 2=yes),phasetype (1=no, 2=yes). Make/O/N=1024 CalculatedSpectrum CalculatedSpectrum=EtchProfile_Mag //just take the 1st 1024 points CalculatedSpectrum[0,10]=0 //zero out DC response Duplicate/O EtchProfile_Mag Wavelength Redimension/N=1024 Wavelength Wavelength=(1/x-Period_vs_wavelength_intercept)/Period_vs_wavelength_slope //convert frequency of FFT back to wavelength in nm, with proper scaling. SetScale d 0,0,"nm", Wavelength if (Wintype("Graph3")==0) //put up "Waveform" plot Graph3() else DoWindow/F Graph3 endif CheckDisplayed CalculatedSpectrum //append the file if it isn't there already if (V_flag==0) AppendToGraph CalculatedSpectrum vs Wavelength endif //Duplicate/O WavelengthTemp, xData //xData[0]=xData[1] //get rid of the inf at datapoint zero //Duplicate/O CalculatedSpectrum, yData //Sort xData, xData, yData // sort by increasing X //Duplicate/O yData, CalculatedSpectrum // make file to contain properly scaled waveform //SetScale/I x xData[0], xData[(numpnts(xData)-1)], tempFFT // set the range of X values //CalculatedSpectrum=interp(x, xData, yData) //Interpolate2/X=WavelengthTemp/Y=CalculatedSpectrum xData, yData EndMacro //Function Multiwave(ctrlName) : ButtonControl //String ctrlName //This generates the EtchProfile file used by the etch, using a function to speed things up a bit. It inputs the parameters in mA, but outputs them in Amps // //it is a summed waveform, that contains the frequency components from "Spectrum" ////PauseUpdate ////Silent 1 //wave EtchProfile //wave Wavelength //wave Spectrum //variable Frequency, Amplitude,Phase,Offset //for calculating the sine wave //NVAR EtchDuration=EtchDuration //NVAR Period_vs_Wavelength_slope=Period_vs_Wavelength_slope //NVAR Period_vs_Wavelength_intercept=Period_vs_Wavelength_intercept //NVAR GEtchTime=GEtchTime //NVAR GSampleRate=GSampleRate //NVAR EtchDuration=EtchDuration // //Make/O/N=(EtchDuration*GSampleRate) EtchProfile //this wave contains the etch profile to the time resolution defined by GSampleRate //SetScale/P x,0,(1/GSampleRate), EtchProfile // ////Generate the waveform, starting with the highest frequency value represented in the spectrum, ending at the lowest. ////Duplicate/O Wavelength Frequencies //Duplicate/O Wavelength Frequencies //used to determine the range of periods represented in the final waveform //Duplicate/O Spectrum Amplitudes //used to determine the weightings for each period represented in the final waveform //Frequencies=1/(Period_vs_Wavelength_slope*Wavelength+Period_vs_Wavelength_intercept) //writes a separate frequency for each point in the waveform based on the scaling of this particular etch type. ////this uses the plot of waveform period (in sec) vs peak wavelength (in nm) to calculate the appropriate conversion factor. This is different for every resistivity and electrolyte composition ////and so it must be determined by the user. //Offset=2 //Phase=0 //Variable i=0 //EtchProfile=0 //Do // Print "Making waveform for "+num2str(Wavelength[i])+" nm" // EtchProfile+=Amplitudes[i]*sin(2*Pi*((x)*Frequencies[i]+Phase/180)) //Generate a sine wave with frequency and amplitude corresponding to point i in the spectrum // i+=100 // phase+=45 //While (i<(numpnts(Amplitudes)-1)) // EtchProfile=EtchProfile/1000 //convert mA to A // SetScale d 0,0,"A", EtchProfile // Wavestats/Q EtchProfile // GEtchTime=numpnts(EtchProfile)*deltaX(EtchProfile) //needed to properly display the Etch duration on Graph0 //End Function GotoChirp(ctrlName) : ButtonControl String ctrlName NVAR broadening=broadening Chirp("EtchProfile",broadening) End Function Chirp(Profile,broadening) //takes a given wave (renamed "Profile" in this function) and chirps it, linearly making the 1st half of the wave a bit higher in frequency and the 2nd half a bit lower. //It does this by linearly expanding the x-axis of the wave and then interpolating it back into the original //The degree of chirping ("broadening") will determine the linewidth of the resulting rugate. String Profile Variable broadening //degree of broadening desired Duplicate/O $Profile Profile_old // in case we have to undo the chirping Duplicate/O $Profile ChirpWave Chirpwave=(p/(numpnts(Chirpwave))+broadening)^2 //generate wave in which the distance between each subsequent point is linearly increasing Interpolate2/T=1/N=(numpnts(Chirpwave))/Y=$Profile ChirpWave, Profile_old CopyScales Profile_old $Profile End Function UndoChirp(ctrlName) : ButtonControl String ctrlName Wave EtchProfile Wave Profile_old Duplicate/O Profile_old EtchProfile End Window DesignWaveform() : Panel PauseUpdate; Silent 1 // building window... NewPanel /W=(527,44,832,385) SetDrawLayer UserBack SetDrawEnv fsize= 10 SetDrawEnv save SetDrawEnv linefgc= (65535,0,26214) SetDrawEnv save DrawRect 189,76,189,78 SetDrawEnv linethick= 5,linefgc= (1,4,52428),linebgc= (32768,54615,65535),fillpat= 0,fillfgc= (32768,54615,65535),fillbgc= (32768,54615,65535) DrawRect 2,4,262,173 Button MakeWaveform,pos={133,225},size={116,21},proc=GenerateEtchProfile,title="Make Waveform" SetVariable S1L1Current,pos={56,40},size={190,15},proc=UpdateDesignPanel,title="Maximum current (mA)" SetVariable S1L1Current,limits={0,1000,1},value= Stack1Layer1current SetVariable S1L1Time,pos={72,62},size={174,15},proc=UpdateDesignPanel,title="Period (sec)" SetVariable S1L1Time,help={"This actually sets Stack1Layer1Time; Stack1Layer2Time, Stack2Layer1Time and Stack2Layer2Time are disabled (set to 0) for a rugate"} SetVariable S1L1Time,limits={0,inf,0.1},value= Stack1Layer1time SetVariable S1L2Current,pos={53,82},size={193,15},proc=UpdateDesignPanel,title="Minimum current (mA)" SetVariable S1L2Current,limits={0,1000,1},value= Stack1Layer2current SetVariable setvar1_2,pos={30,123},size={216,15},proc=UpdateDesignPanel,title="Delay between layers (sec):" SetVariable setvar1_2,limits={0,inf,0.1},value= DelayTime SetVariable NumRepts,pos={72,103},size={174,15},proc=UpdateDesignPanel,title="Number of repeats: " SetVariable NumRepts,limits={0,inf,1},value= numrepeats1 ValDisplay valdisp0,pos={106,202},size={143,14},title="Time to etch (min):" ValDisplay valdisp0,format="%.1f",frame=0,limits={0,0,0},barmisc={0,1000} ValDisplay valdisp0,value= #"EtchDuration/60" PopupMenu Waveformpopup,pos={11,13},size={120,20},proc=SetWaveformType,title="Waveform:" PopupMenu Waveformpopup,mode=1,popvalue="Rugate",value= #"\"Rugate;Microcavity;Bragg\"" SetVariable setvar0,pos={63,142},size={183,15},title="Timebase (pts/sec)" SetVariable setvar0,limits={0,inf,1000},value= GSampleRate EndMacro Window Graph2() : Graph PauseUpdate; Silent 1 // building window... Display /W=(-1,44,555,496) EtchWaveform ModifyGraph grid=1 ModifyGraph minor=1 ModifyGraph lblMargin(left)=19 ModifyGraph axOffset(left)=3.28571 ModifyGraph lblLatPos(left)=-2 Label left "Current" Label bottom "Time, seconds" ShowInfo ControlBar 120 SetVariable MaxCurrent,pos={12,10},size={158,15},proc=UpdateDesignPanel,title="Maximum current (mA)" SetVariable MaxCurrent,limits={0,1000,1},value= MaxCurrent SetVariable WaveformPeriod,pos={64,48},size={107,15},proc=UpdateDesignPanel,title="Period (sec)" SetVariable WaveformPeriod,help={"This actually sets Stack1Layer1Time; Stack1Layer2Time, Stack2Layer1Time and Stack2Layer2Time are disabled (set to 0) for a rugate"} SetVariable WaveformPeriod,limits={0,inf,0.1},value= Period SetVariable MinCurrent,pos={15,29},size={156,15},proc=UpdateDesignPanel,title="Minimum current (mA)" SetVariable MinCurrent,limits={0,1000,1},value= MinCurrent SetVariable SetEtchDuration,pos={26,66},size={150,15},proc=UpdateDesignPanel,title="Etch Duration (sec)" SetVariable SetEtchDuration,value= EtchDuration ValDisplay EtchDurationMinutes,pos={181,66},size={76,14},format="%.1f minutes" ValDisplay EtchDurationMinutes,frame=0,limits={0,0,0},barmisc={0,1000} ValDisplay EtchDurationMinutes,value= #"EtchDuration/60" ValDisplay Number_of_repeats,pos={179,48},size={78,14},format="%.1f repeats" ValDisplay Number_of_repeats,frame=0,limits={0,0,0},barmisc={0,1000} ValDisplay Number_of_repeats,value= #"EtchDuration/Period" SetVariable SetPhaseShift,pos={30,84},size={150,15},proc=UpdateDesignPanel,title="Phase shift (degrees)" SetVariable SetPhaseShift,limits={-360,360,45},value= Phase SetVariable setvar0,pos={373,97},size={161,15},title="Timebase (pts/sec)" SetVariable setvar0,limits={0,inf,1000},value= GSampleRate Button MakeWaveform,pos={195,90},size={116,21},proc=GoToGenerateSineWaveform,title="Make Waveform" Button MoveToEtchProfile,pos={392,4},size={160,20},proc=CopyToEtchProfile,title="Copy to Etch Profile >>" Button AddToEtchProfile,pos={392,28},size={160,20},proc=AddToEtchProfile,title="Add to Etch Profile >>" ValDisplay Jmax,pos={176,11},size={75,14},labelBack=(65535,65535,65535) ValDisplay Jmax,format="%.1f mA/cm2",frame=0,limits={0,0,0},barmisc={0,1000} ValDisplay Jmax,value= #"MaxCurrent/EtchArea" SetVariable SetElectrodeArea,pos={40,101},size={140,15},title="Electrode area (cm2)" SetVariable SetElectrodeArea,limits={0,100,0.1},value= EtchArea ValDisplay Jmax1,pos={176,30},size={75,14},labelBack=(65535,65535,65535) ValDisplay Jmax1,format="%.1f mA/cm2",frame=0,limits={0,0,0},barmisc={0,1000} ValDisplay Jmax1,value= #"MinCurrent/EtchArea" EndMacro Function CopyToEtchProfile(ctrlName) : ButtonControl String ctrlName WAVE EtchWaveform=EtchWaveform WAVE EtchProfile=EtchProfile WAVE EtchProfile_Mag=EtchProfile_Mag Duplicate/O EtchWaveform EtchProfile EtchProfile_Mag=0 End Function AddToEtchProfile(ctrlName) : ButtonControl String ctrlName WAVE EtchWaveform=EtchWaveform WAVE EtchProfile=EtchProfile WAVE EtchProfile_Mag=EtchProfile_Mag EtchProfile+=EtchWaveform EtchProfile_Mag=0 End Window Graph3() : Graph PauseUpdate; Silent 1 // building window... Display /W=(580,408,1163,625) CalculatedSpectrum vs Wavelength ModifyGraph mirror=2 Label left "\\Z12Relative Intensity" Label bottom "\\F'Arial'\\Z12Wavelength, nm" SetAxis bottom 350,1000 Cursor/P A CalculatedSpectrum 210 ShowInfo EndMacro Function AppendPoint0(ctrlName) : ButtonControl String ctrlName InsertPoints 0,1, EtchProfile End Macro SaveToDisk(ctrlName) : ButtonControl String ctrlName // if you want to add the date to the file: String theDate, ModifiedDate="" variable i=0 theDate=Secs2Date(DateTime,0) do if (cmpstr(theDate[i],"/")==0) ModifiedDate[i]="_" else ModifiedDate[i]=theDate[i] endif i+=1 while (i