Commit e513380a authored by Dick Hollenbeck's avatar Dick Hollenbeck

Add script to make a footprint library table from the KiCad Bazaar library...

Add script to make a footprint library table from the KiCad Bazaar library repository, either in s-expr or CSV format.  Add also the generation of such tables as of today.
parent 4fad477d
......@@ -495,7 +495,7 @@ public:
}
/// Return the initial comments block or NULL if none, without transfer of ownership.
const wxArrayString* GetInitialComments() { return m_initial_comments; }
const wxArrayString* GetInitialComments() const { return m_initial_comments; }
#if defined(DEBUG)
virtual void Show( int nestLevel, std::ostream& os ) const { ShowDummy( os ); } // override
......
#!/bin/sh
# Generate a footprint library table which can serve as a sensible initial
# personal/global table assuming you have all the footprint libraries installed
# from the bazaar library repo.
# Copyright (C) 2007-2011 SoftPLC Corporation, Dick Hollenbeck <dick@softplc.com>
# License GPLv2
# This program makes the table either in s-expression or CSV format.
# The CSV format can be loaded into a spreadsheet and then from there rows
# can be copied into either of the fp_table_dialog's table editors:
# a) personal/global or b) project
# Usage:
# $ make_global_table.sh [--csv] > outputfile
# Library Type: Legacy for now, Kicad in future
libtype="Legacy"
# Get a list of modules currently in the launchpad repo:
mods=`bzr ls -d lp:~kicad-lib-committers/kicad/library modules 2>/dev/null`
#echo "$mods"
mods=`echo "$mods" | egrep '\.mod$' | sort`
#echo "$mods"
csv=0
if [ $# -gt 0 -a "$1" == "--csv" ]; then
csv=1
fi
today=`date --rfc-3339=date`
if [ $csv -eq 1 ]; then
echo "NICKNAME,TYPE,URI,OPTIONS,DESCR,,FP LIB TABLE: made from KiCad's Bazaar 'library' repository on $today"
echo
echo "$mods" | while read mod;
do
# base filename w/o extension
bfn=`basename $mod .mod`
printf '%s,%s,${KISYSMOD}/%s,"",""\n' \
"$bfn" \
"$libtype" \
"$bfn.mod"
done
else
echo "# FP LIB TABLE: made from KiCad's Bazaar 'library' repository on $today"
echo "(fp_lib_table"
echo "$mods" | while read mod;
do
# base filename w/o extension
bfn=`basename $mod .mod`
printf ' (lib (name %s)(type %s)(uri ${KISYSMOD}/%s)(options "")(descr ""))\n' \
"$bfn" \
"$libtype" \
"$bfn.mod"
done
echo ")"
fi
# FP LIB TABLE: made from KiCad's Bazaar 'library' repository on 2013-06-25
(fp_lib_table
(lib (name Allegro_ACS754_ACS755_ACS756_HallCurrentSensor_RevA)(type Legacy)(uri ${KISYSMOD}/Allegro_ACS754_ACS755_ACS756_HallCurrentSensor_RevA.mod)(options "")(descr ""))
(lib (name capacitors)(type Legacy)(uri ${KISYSMOD}/capacitors.mod)(options "")(descr ""))
(lib (name Capacitors_SMD_RevA)(type Legacy)(uri ${KISYSMOD}/Capacitors_SMD_RevA.mod)(options "")(descr ""))
(lib (name connect)(type Legacy)(uri ${KISYSMOD}/connect.mod)(options "")(descr ""))
(lib (name connectors_molex_serial_53047-A123)(type Legacy)(uri ${KISYSMOD}/connectors_molex_serial_53047-A123.mod)(options "")(descr ""))
(lib (name Crystals_RevB_20Apr2013)(type Legacy)(uri ${KISYSMOD}/Crystals_RevB_20Apr2013.mod)(options "")(descr ""))
(lib (name DCDC-ACDC-Converter_RevC_20Jul2012)(type Legacy)(uri ${KISYSMOD}/DCDC-ACDC-Converter_RevC_20Jul2012.mod)(options "")(descr ""))
(lib (name Dioden_SMD_RevA_31May2013)(type Legacy)(uri ${KISYSMOD}/Dioden_SMD_RevA_31May2013.mod)(options "")(descr ""))
(lib (name Dioden_ThroughHole_RevC)(type Legacy)(uri ${KISYSMOD}/Dioden_ThroughHole_RevC.mod)(options "")(descr ""))
(lib (name dip_sockets)(type Legacy)(uri ${KISYSMOD}/dip_sockets.mod)(options "")(descr ""))
(lib (name discret)(type Legacy)(uri ${KISYSMOD}/discret.mod)(options "")(descr ""))
(lib (name display)(type Legacy)(uri ${KISYSMOD}/display.mod)(options "")(descr ""))
(lib (name divers)(type Legacy)(uri ${KISYSMOD}/divers.mod)(options "")(descr ""))
(lib (name Elko_ThroughHole_RevB-3_30Dec2011)(type Legacy)(uri ${KISYSMOD}/Elko_ThroughHole_RevB-3_30Dec2011.mod)(options "")(descr ""))
(lib (name EuroBoardoutline_RevC)(type Legacy)(uri ${KISYSMOD}/EuroBoardoutline_RevC.mod)(options "")(descr ""))
(lib (name Fiducials_RevC_04Aug2012)(type Legacy)(uri ${KISYSMOD}/Fiducials_RevC_04Aug2012.mod)(options "")(descr ""))
(lib (name Footprint-Symbols_RevD_28Aug2012)(type Legacy)(uri ${KISYSMOD}/Footprint-Symbols_RevD_28Aug2012.mod)(options "")(descr ""))
(lib (name FuseholderAndFuses_RevD_28Aug2012)(type Legacy)(uri ${KISYSMOD}/FuseholderAndFuses_RevD_28Aug2012.mod)(options "")(descr ""))
(lib (name Heatsinks_RevC)(type Legacy)(uri ${KISYSMOD}/Heatsinks_RevC.mod)(options "")(descr ""))
(lib (name inductors)(type Legacy)(uri ${KISYSMOD}/inductors.mod)(options "")(descr ""))
(lib (name IR-directFET_Packages_RevB)(type Legacy)(uri ${KISYSMOD}/IR-directFET_Packages_RevB.mod)(options "")(descr ""))
(lib (name iut)(type Legacy)(uri ${KISYSMOD}/iut.mod)(options "")(descr ""))
(lib (name Label_RevA_21Mar2011)(type Legacy)(uri ${KISYSMOD}/Label_RevA_21Mar2011.mod)(options "")(descr ""))
(lib (name led)(type Legacy)(uri ${KISYSMOD}/led.mod)(options "")(descr ""))
(lib (name libcms)(type Legacy)(uri ${KISYSMOD}/libcms.mod)(options "")(descr ""))
(lib (name Measurement_Point_RevA)(type Legacy)(uri ${KISYSMOD}/Measurement_Point_RevA.mod)(options "")(descr ""))
(lib (name Measurement-Scala_RevA)(type Legacy)(uri ${KISYSMOD}/Measurement-Scala_RevA.mod)(options "")(descr ""))
(lib (name Mechanical_Socket-Plug_DIN41612-Stuff_RevA)(type Legacy)(uri ${KISYSMOD}/Mechanical_Socket-Plug_DIN41612-Stuff_RevA.mod)(options "")(descr ""))
(lib (name MiniUniversalMate-N-LokSockets_13Aug2012)(type Legacy)(uri ${KISYSMOD}/MiniUniversalMate-N-LokSockets_13Aug2012.mod)(options "")(descr ""))
(lib (name MountingHole_RevA)(type Legacy)(uri ${KISYSMOD}/MountingHole_RevA.mod)(options "")(descr ""))
(lib (name muonde)(type Legacy)(uri ${KISYSMOD}/muonde.mod)(options "")(descr ""))
(lib (name Neosid_Air-Coil_SML_HAMxx31A_HDMxx31A_RevA_25Apr2012)(type Legacy)(uri ${KISYSMOD}/Neosid_Air-Coil_SML_HAMxx31A_HDMxx31A_RevA_25Apr2012.mod)(options "")(descr ""))
(lib (name Neosid_Filter_HF-Coil_25Apr2012)(type Legacy)(uri ${KISYSMOD}/Neosid_Filter_HF-Coil_25Apr2012.mod)(options "")(descr ""))
(lib (name Neosid_Inductor_21Apr2012)(type Legacy)(uri ${KISYSMOD}/Neosid_Inductor_21Apr2012.mod)(options "")(descr ""))
(lib (name NF-Transformer_ETAL_RevA_28Aug2012)(type Legacy)(uri ${KISYSMOD}/NF-Transformer_ETAL_RevA_28Aug2012.mod)(options "")(descr ""))
(lib (name Oddities_RevA_10Mar2011)(type Legacy)(uri ${KISYSMOD}/Oddities_RevA_10Mar2011.mod)(options "")(descr ""))
(lib (name Opto-Devices_RevC_03Oct2012)(type Legacy)(uri ${KISYSMOD}/Opto-Devices_RevC_03Oct2012.mod)(options "")(descr ""))
(lib (name Oscillator-Modul_RevA)(type Legacy)(uri ${KISYSMOD}/Oscillator-Modul_RevA.mod)(options "")(descr ""))
(lib (name Pentawatt_RevB_30Apr2011)(type Legacy)(uri ${KISYSMOD}/Pentawatt_RevB_30Apr2011.mod)(options "")(descr ""))
(lib (name pga_sockets)(type Legacy)(uri ${KISYSMOD}/pga_sockets.mod)(options "")(descr ""))
(lib (name pin_array)(type Legacy)(uri ${KISYSMOD}/pin_array.mod)(options "")(descr ""))
(lib (name Potentiometer_RevB_02Aug2010)(type Legacy)(uri ${KISYSMOD}/Potentiometer_RevB_02Aug2010.mod)(options "")(descr ""))
(lib (name powerint)(type Legacy)(uri ${KISYSMOD}/powerint.mod)(options "")(descr ""))
(lib (name Printtrafo_CHK_RevA_04Aug2010)(type Legacy)(uri ${KISYSMOD}/Printtrafo_CHK_RevA_04Aug2010.mod)(options "")(descr ""))
(lib (name Relay_ThroughHole_RevB)(type Legacy)(uri ${KISYSMOD}/Relay_ThroughHole_RevB.mod)(options "")(descr ""))
(lib (name Resistor_SMD_RevA)(type Legacy)(uri ${KISYSMOD}/Resistor_SMD_RevA.mod)(options "")(descr ""))
(lib (name Resistor_ThroughHole_RevB_22Apr2011)(type Legacy)(uri ${KISYSMOD}/Resistor_ThroughHole_RevB_22Apr2011.mod)(options "")(descr ""))
(lib (name Resistor_Universal-Experimental_RevA)(type Legacy)(uri ${KISYSMOD}/Resistor_Universal-Experimental_RevA.mod)(options "")(descr ""))
(lib (name SI570_SI571_Oscillator_RevA_11Jun2012)(type Legacy)(uri ${KISYSMOD}/SI570_SI571_Oscillator_RevA_11Jun2012.mod)(options "")(descr ""))
(lib (name SIP9_Housing_14Jun2013)(type Legacy)(uri ${KISYSMOD}/SIP9_Housing_14Jun2013.mod)(options "")(descr ""))
(lib (name smd_capacitors)(type Legacy)(uri ${KISYSMOD}/smd_capacitors.mod)(options "")(descr ""))
(lib (name smd_crystal&oscillator)(type Legacy)(uri ${KISYSMOD}/smd_crystal&oscillator.mod)(options "")(descr ""))
(lib (name smd_resistors)(type Legacy)(uri ${KISYSMOD}/smd_resistors.mod)(options "")(descr ""))
(lib (name smd_soic_packages)(type Legacy)(uri ${KISYSMOD}/smd_soic_packages.mod)(options "")(descr ""))
(lib (name smd_ssop_packages)(type Legacy)(uri ${KISYSMOD}/smd_ssop_packages.mod)(options "")(descr ""))
(lib (name smd_transistors)(type Legacy)(uri ${KISYSMOD}/smd_transistors.mod)(options "")(descr ""))
(lib (name Socket_MOLEX-KK-System)(type Legacy)(uri ${KISYSMOD}/Socket_MOLEX-KK-System.mod)(options "")(descr ""))
(lib (name sockets)(type Legacy)(uri ${KISYSMOD}/sockets.mod)(options "")(descr ""))
(lib (name Socket_WAGO734_RevA)(type Legacy)(uri ${KISYSMOD}/Socket_WAGO734_RevA.mod)(options "")(descr ""))
(lib (name SOT126_SOT32_Housings_RevA_22Oct2012)(type Legacy)(uri ${KISYSMOD}/SOT126_SOT32_Housings_RevA_22Oct2012.mod)(options "")(descr ""))
(lib (name SOT23_SOT143_SOT143R_TSOT6_MK06A_SC70-6_Housing_26Jul2012)(type Legacy)(uri ${KISYSMOD}/SOT23_SOT143_SOT143R_TSOT6_MK06A_SC70-6_Housing_26Jul2012.mod)(options "")(descr ""))
(lib (name SOT89-3_SOT89-5_Housing_RevA_02Sep2012)(type Legacy)(uri ${KISYSMOD}/SOT89-3_SOT89-5_Housing_RevA_02Sep2012.mod)(options "")(descr ""))
(lib (name TerminalBlock_WAGO236-RM5mm_RevA2-cache)(type Legacy)(uri ${KISYSMOD}/TerminalBlock_WAGO236-RM5mm_RevA2-cache.mod)(options "")(descr ""))
(lib (name TO-50_Housings_RevA_21Apr2013)(type Legacy)(uri ${KISYSMOD}/TO-50_Housings_RevA_21Apr2013.mod)(options "")(descr ""))
(lib (name TO-78_Housing_RevA_04Jun2013)(type Legacy)(uri ${KISYSMOD}/TO-78_Housing_RevA_04Jun2013.mod)(options "")(descr ""))
(lib (name TO-92_Housings_06Jun2013)(type Legacy)(uri ${KISYSMOD}/TO-92_Housings_06Jun2013.mod)(options "")(descr ""))
(lib (name TransformerSMPS_ThroughHole_RevA)(type Legacy)(uri ${KISYSMOD}/TransformerSMPS_ThroughHole_RevA.mod)(options "")(descr ""))
(lib (name Transistor_TO-220_RevB_03Sep2012)(type Legacy)(uri ${KISYSMOD}/Transistor_TO-220_RevB_03Sep2012.mod)(options "")(descr ""))
(lib (name Transistor_TO-247_RevC)(type Legacy)(uri ${KISYSMOD}/Transistor_TO-247_RevC.mod)(options "")(descr ""))
(lib (name valves)(type Legacy)(uri ${KISYSMOD}/valves.mod)(options "")(descr ""))
(lib (name VML0806_Housing_Rohm_RevA_26Oct2012)(type Legacy)(uri ${KISYSMOD}/VML0806_Housing_Rohm_RevA_26Oct2012.mod)(options "")(descr ""))
(lib (name WireConnections-Bridges_RevA)(type Legacy)(uri ${KISYSMOD}/WireConnections-Bridges_RevA.mod)(options "")(descr ""))
(lib (name WirePads_RevA_15Jun2010)(type Legacy)(uri ${KISYSMOD}/WirePads_RevA_15Jun2010.mod)(options "")(descr ""))
)
NICKNAME,TYPE,URI,OPTIONS,DESCR,,FP LIB TABLE: made from KiCad's Bazaar 'library' repository on 2013-06-25
Allegro_ACS754_ACS755_ACS756_HallCurrentSensor_RevA,Legacy,${KISYSMOD}/Allegro_ACS754_ACS755_ACS756_HallCurrentSensor_RevA.mod,"",""
capacitors,Legacy,${KISYSMOD}/capacitors.mod,"",""
Capacitors_SMD_RevA,Legacy,${KISYSMOD}/Capacitors_SMD_RevA.mod,"",""
connect,Legacy,${KISYSMOD}/connect.mod,"",""
connectors_molex_serial_53047-A123,Legacy,${KISYSMOD}/connectors_molex_serial_53047-A123.mod,"",""
Crystals_RevB_20Apr2013,Legacy,${KISYSMOD}/Crystals_RevB_20Apr2013.mod,"",""
DCDC-ACDC-Converter_RevC_20Jul2012,Legacy,${KISYSMOD}/DCDC-ACDC-Converter_RevC_20Jul2012.mod,"",""
Dioden_SMD_RevA_31May2013,Legacy,${KISYSMOD}/Dioden_SMD_RevA_31May2013.mod,"",""
Dioden_ThroughHole_RevC,Legacy,${KISYSMOD}/Dioden_ThroughHole_RevC.mod,"",""
dip_sockets,Legacy,${KISYSMOD}/dip_sockets.mod,"",""
discret,Legacy,${KISYSMOD}/discret.mod,"",""
display,Legacy,${KISYSMOD}/display.mod,"",""
divers,Legacy,${KISYSMOD}/divers.mod,"",""
Elko_ThroughHole_RevB-3_30Dec2011,Legacy,${KISYSMOD}/Elko_ThroughHole_RevB-3_30Dec2011.mod,"",""
EuroBoardoutline_RevC,Legacy,${KISYSMOD}/EuroBoardoutline_RevC.mod,"",""
Fiducials_RevC_04Aug2012,Legacy,${KISYSMOD}/Fiducials_RevC_04Aug2012.mod,"",""
Footprint-Symbols_RevD_28Aug2012,Legacy,${KISYSMOD}/Footprint-Symbols_RevD_28Aug2012.mod,"",""
FuseholderAndFuses_RevD_28Aug2012,Legacy,${KISYSMOD}/FuseholderAndFuses_RevD_28Aug2012.mod,"",""
Heatsinks_RevC,Legacy,${KISYSMOD}/Heatsinks_RevC.mod,"",""
inductors,Legacy,${KISYSMOD}/inductors.mod,"",""
IR-directFET_Packages_RevB,Legacy,${KISYSMOD}/IR-directFET_Packages_RevB.mod,"",""
iut,Legacy,${KISYSMOD}/iut.mod,"",""
Label_RevA_21Mar2011,Legacy,${KISYSMOD}/Label_RevA_21Mar2011.mod,"",""
led,Legacy,${KISYSMOD}/led.mod,"",""
libcms,Legacy,${KISYSMOD}/libcms.mod,"",""
Measurement_Point_RevA,Legacy,${KISYSMOD}/Measurement_Point_RevA.mod,"",""
Measurement-Scala_RevA,Legacy,${KISYSMOD}/Measurement-Scala_RevA.mod,"",""
Mechanical_Socket-Plug_DIN41612-Stuff_RevA,Legacy,${KISYSMOD}/Mechanical_Socket-Plug_DIN41612-Stuff_RevA.mod,"",""
MiniUniversalMate-N-LokSockets_13Aug2012,Legacy,${KISYSMOD}/MiniUniversalMate-N-LokSockets_13Aug2012.mod,"",""
MountingHole_RevA,Legacy,${KISYSMOD}/MountingHole_RevA.mod,"",""
muonde,Legacy,${KISYSMOD}/muonde.mod,"",""
Neosid_Air-Coil_SML_HAMxx31A_HDMxx31A_RevA_25Apr2012,Legacy,${KISYSMOD}/Neosid_Air-Coil_SML_HAMxx31A_HDMxx31A_RevA_25Apr2012.mod,"",""
Neosid_Filter_HF-Coil_25Apr2012,Legacy,${KISYSMOD}/Neosid_Filter_HF-Coil_25Apr2012.mod,"",""
Neosid_Inductor_21Apr2012,Legacy,${KISYSMOD}/Neosid_Inductor_21Apr2012.mod,"",""
NF-Transformer_ETAL_RevA_28Aug2012,Legacy,${KISYSMOD}/NF-Transformer_ETAL_RevA_28Aug2012.mod,"",""
Oddities_RevA_10Mar2011,Legacy,${KISYSMOD}/Oddities_RevA_10Mar2011.mod,"",""
Opto-Devices_RevC_03Oct2012,Legacy,${KISYSMOD}/Opto-Devices_RevC_03Oct2012.mod,"",""
Oscillator-Modul_RevA,Legacy,${KISYSMOD}/Oscillator-Modul_RevA.mod,"",""
Pentawatt_RevB_30Apr2011,Legacy,${KISYSMOD}/Pentawatt_RevB_30Apr2011.mod,"",""
pga_sockets,Legacy,${KISYSMOD}/pga_sockets.mod,"",""
pin_array,Legacy,${KISYSMOD}/pin_array.mod,"",""
Potentiometer_RevB_02Aug2010,Legacy,${KISYSMOD}/Potentiometer_RevB_02Aug2010.mod,"",""
powerint,Legacy,${KISYSMOD}/powerint.mod,"",""
Printtrafo_CHK_RevA_04Aug2010,Legacy,${KISYSMOD}/Printtrafo_CHK_RevA_04Aug2010.mod,"",""
Relay_ThroughHole_RevB,Legacy,${KISYSMOD}/Relay_ThroughHole_RevB.mod,"",""
Resistor_SMD_RevA,Legacy,${KISYSMOD}/Resistor_SMD_RevA.mod,"",""
Resistor_ThroughHole_RevB_22Apr2011,Legacy,${KISYSMOD}/Resistor_ThroughHole_RevB_22Apr2011.mod,"",""
Resistor_Universal-Experimental_RevA,Legacy,${KISYSMOD}/Resistor_Universal-Experimental_RevA.mod,"",""
SI570_SI571_Oscillator_RevA_11Jun2012,Legacy,${KISYSMOD}/SI570_SI571_Oscillator_RevA_11Jun2012.mod,"",""
SIP9_Housing_14Jun2013,Legacy,${KISYSMOD}/SIP9_Housing_14Jun2013.mod,"",""
smd_capacitors,Legacy,${KISYSMOD}/smd_capacitors.mod,"",""
smd_crystal&oscillator,Legacy,${KISYSMOD}/smd_crystal&oscillator.mod,"",""
smd_resistors,Legacy,${KISYSMOD}/smd_resistors.mod,"",""
smd_soic_packages,Legacy,${KISYSMOD}/smd_soic_packages.mod,"",""
smd_ssop_packages,Legacy,${KISYSMOD}/smd_ssop_packages.mod,"",""
smd_transistors,Legacy,${KISYSMOD}/smd_transistors.mod,"",""
Socket_MOLEX-KK-System,Legacy,${KISYSMOD}/Socket_MOLEX-KK-System.mod,"",""
sockets,Legacy,${KISYSMOD}/sockets.mod,"",""
Socket_WAGO734_RevA,Legacy,${KISYSMOD}/Socket_WAGO734_RevA.mod,"",""
SOT126_SOT32_Housings_RevA_22Oct2012,Legacy,${KISYSMOD}/SOT126_SOT32_Housings_RevA_22Oct2012.mod,"",""
SOT23_SOT143_SOT143R_TSOT6_MK06A_SC70-6_Housing_26Jul2012,Legacy,${KISYSMOD}/SOT23_SOT143_SOT143R_TSOT6_MK06A_SC70-6_Housing_26Jul2012.mod,"",""
SOT89-3_SOT89-5_Housing_RevA_02Sep2012,Legacy,${KISYSMOD}/SOT89-3_SOT89-5_Housing_RevA_02Sep2012.mod,"",""
TerminalBlock_WAGO236-RM5mm_RevA2-cache,Legacy,${KISYSMOD}/TerminalBlock_WAGO236-RM5mm_RevA2-cache.mod,"",""
TO-50_Housings_RevA_21Apr2013,Legacy,${KISYSMOD}/TO-50_Housings_RevA_21Apr2013.mod,"",""
TO-78_Housing_RevA_04Jun2013,Legacy,${KISYSMOD}/TO-78_Housing_RevA_04Jun2013.mod,"",""
TO-92_Housings_06Jun2013,Legacy,${KISYSMOD}/TO-92_Housings_06Jun2013.mod,"",""
TransformerSMPS_ThroughHole_RevA,Legacy,${KISYSMOD}/TransformerSMPS_ThroughHole_RevA.mod,"",""
Transistor_TO-220_RevB_03Sep2012,Legacy,${KISYSMOD}/Transistor_TO-220_RevB_03Sep2012.mod,"",""
Transistor_TO-247_RevC,Legacy,${KISYSMOD}/Transistor_TO-247_RevC.mod,"",""
valves,Legacy,${KISYSMOD}/valves.mod,"",""
VML0806_Housing_Rohm_RevA_26Oct2012,Legacy,${KISYSMOD}/VML0806_Housing_Rohm_RevA_26Oct2012.mod,"",""
WireConnections-Bridges_RevA,Legacy,${KISYSMOD}/WireConnections-Bridges_RevA.mod,"",""
WirePads_RevA_15Jun2010,Legacy,${KISYSMOD}/WirePads_RevA_15Jun2010.mod,"",""
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment