diff --git a/tpch/00_compile_tpch/EULA.txt b/tpch/00_compile_tpch/EULA.txt new file mode 100644 index 0000000..164a2f2 --- /dev/null +++ b/tpch/00_compile_tpch/EULA.txt @@ -0,0 +1,271 @@ +END USER LICENSE AGREEMENT +VERSION 2.0 + + +READ THE TERMS AND CONDITIONS OF THIS AGREEMENT (“AGREEMENT”) +CAREFULLY BEFORE INSTALLING OR USING THE ACCOMPANYING +SOFTWARE. BY INSTALLING OR USING THE SOFTWARE OR RELATED +DOCUMENTATION, YOU AGREE TO BE BOUND BY THE TERMS OF THIS +AGREEMENT. IF YOU DO NOT AGREE TO THE TERMS OF THIS AGREEMENT, +DO NOT INSTALL OR USE THE SOFTWARE. IF YOU ARE ACCESSING THE +SOFTWARE ON BEHALF OF YOUR ORGANIZATION, YOU REPRESENT AND +WARRANT THAT YOU HAVE SUFFICIENT AUTHORITY TO BIND YOUR +ORGANIZATION TO THIS AGREEMENT. + +USE AND RE-EXPORT OF THE SOFTWARE IS SUBJECT TO THE UNITED STATES +EXPORT CONTROL ADMINISTRATION REGULATIONS. THE SOFTWARE MAY +NOT BE USED BY UNLICENSED PERSONS OR ENTITIES, AND MAY NOT BE RE- +EXPORTED TO ANOTHER COUNTRY. SEE EXPORT ASSURANCE (CLAUSE 15) +OF THIS LICENSE. + +This is a legal agreement between you (or, if you are accessing the software on behalf of your +organization, your organization) (“You” or “User”) and the Transaction Processing Performance +Council (“TPC”). This Agreement states the terms and conditions upon which TPC offers to +license the Software, including, but not limited to, the source code, scripts, executable programs, +drivers, libraries and data files associated with such programs, and modifications thereof (the +“Software”), and online, electronic or printed documentation (“Documentation,” together with +the Software, “Materials”). + +The Software may contain proprietary third-party software which has been licensed to the TPC +to bundle and distribute as part of the benchmark. Any third-party software is subject to the +terms and conditions in its associated third-party license. + + +LICENSE + + 1. Definitions +“Executive Summary” shall mean a short summary of a TPC Benchmark Result that shows the +configuration, primary metrics, performance data, and pricing details. The exact requirements +for the Executive Summary are defined in each TPC Benchmark Standard. +“Full Disclosure Report (FDR)” shall mean a document that describes The TPC Benchmark +Result in sufficient detail such that the Result could be recreated. The exact requirements for the +FDR are defined in each TPC Benchmark Standard. + +“TPC Benchmark Result (Result)” shall mean a performance test submitted to the TPC +attested to meet the requirements of a TPC Benchmark Standard at the time of submission. A +Result is documented by an Executive Summary and, if required, a FDR +“TPC Benchmark Standard” shall mean a TPC Benchmark Specification and any associated +code or binaries approved by the TPC. The various TPC Benchmark Standards can be found +at http://www.tpc.org/information/current_specifications.asp. +“TPC Policies” shall mean the guiding principles for how the TPC conducts its operations and +business. The current TPC Policies can be found at +http://www.tpc.org/information/current_specifications.asp. + 2. Ownership. The Materials are licensed, not sold, to You for use only under the +terms of this Agreement. As between You and TPC (and, to the extent applicable, its licensors), +TPC retains all rights, title and interest to and ownership of the Materials and reserves all rights +not expressly granted to You. + 3. License Grant. Subject to Your compliance in all material respects with the +terms and conditions of this Agreement, TPC grants You a restricted, non-exclusive, revocable +license to install and use the Materials, but only as expressly permitted herein. You may only +use the Software on computer systems under Your direct control. You may download multiple +copies of the Materials and make verbatim copies of the original of the Software so long as Your +use of such copies complies with the terms of this Agreement. + a. Use by Individual. If You are accessing the Materials as an individual, +only You (as an individual) may access and use the Materials. + b. Use by Organization. If You are accessing the Materials on behalf of Your +organization, only You and those within Your organization may use the Materials. Your +organization must identify a contact person to TPC and conduct communications with TPC +through that contact person. + 4. Restrictions. The following restrictions apply to all use of the Materials by You. + a. General: You may not: (i) use, copy, print, modify, adapt, create derivative +works from, market, deliver, rent, lease, sublicense, make, have made, assign, pledge, transfer, +sell, offer to sell, import, reproduce, distribute, publicly perform, publicly display or otherwise +grant rights to the Materials, or any copy thereof, in whole or in part, except as expressly +permitted under this Agreement; (ii) use the Materials in any way that does not comply with all +applicable laws and regulations; or (iii) submit or contribute the Materials, or any part thereof, to +any open source software project or as part of any third-party software or project without the +express written consent of the TPC chair. + b. Public Disclosure: You may not publicly disclose any performance results +produced while using the Software except in the following circumstances: + (1) as part of a TPC Benchmark Result. For purposes of this +Agreement, a “TPC Benchmark Result” is a performance test submitted to the TPC, documented +by a Full Disclosure Report and Executive Summary, claiming to meet the requirements of an +official TPC Benchmark Standard. You agree that TPC Benchmark Results may only be +published in accordance with the TPC Policies. viewable at http: //www.tpc.org + (2) as part of an academic or research effort that does not imply or +state a marketing position + (3) any other use of the Software, provided that: + (a) any performance results must be clearly identified as not +being comparable to TPC Benchmark Results unless specifically authorized by TPC, and + (b) You secure written permission from the TPC. + 5. License Modification. Requests for modification of this license shall be +addressed to info@tpc.org. You may not remove or modify this license without permission. + 6. Copyright. The Materials are owned by TPC and/or its licensors, and are +protected by United States copyright laws and international treaty provisions. You may not +remove the copyright notice from the original or any copy of the Materials, and You must apply +the notice if You extract part of the Materials not bearing a notice. + 7. Use of Name. You acknowledge and agree that TPC owns all trademark and trade +name rights in the names, trademarks and logos used by TPC in the Materials. User shall +preserve any notices regarding such ownership. User may only use such names, trademarks and +logos in accordance with the usage guidelines specified by the TPC Policies. + 8. Merger or Integration. Any portion of the Materials merged into or integrated +with other software or documentation will continue to be subject to the terms and conditions of +this Agreement. + 9. Limited Grants of Sublicense. You may distribute the Software as provided or +as modified as permitted under clause 5 of this Agreement, provided You comply with all of the +terms of this Agreement and the following conditions: + a. If You distribute any portion of the Software in its original form You may +do so only under this Agreement by including a complete copy of this Agreement with Your +distribution, and if You distribute the Software in modified form, You may only do so under a +license that at a minimum provides all of the protections and conditions of use contained within +this Agreement; + b. You must include on each copy of the Software that You distribute the +following legend in all caps, at the top of the label and license, and in a font not less than 12 +point and no less prominent than any other printing: “THE TPC SOFTWARE IS AVAILABLE +WITHOUT CHARGE FROM TPC.”; + c. You must retain all copyright, patent, trademark, and attribution notices +that are present in the Software; and + d. You may not generate revenue directly or indirectly (e.g., by charging +service fees) for distribution of the Software or of any modifications permitted under clause 5.c. + 10. Term and Termination. + a. Term. The license granted to You is effective until terminated. + b. Termination. + i. By You. You may terminate this Agreement at any time by +returning the Materials (including any portions or copies thereof) to TPC or providing written +notice to the TPC that all copies of the Materials within Your custody or control have been +deleted or destroyed. + ii. By TPC. In the event You materially fail to comply with any term +or condition of this Agreement, and You fail to remedy such non-compliance within 30 days +after the receipt of notice to that effect, then TPC shall have the right to terminate this Agreement +immediately upon written notice at the end of such 30-day period. + c. Effect of Termination. Termination of this Agreement in accordance with +this clause 10 will not terminate the rights of end users sublicensed by You pursuant to this +Agreement. Moreover, upon termination and at TPC’s written request, You agree to either (1) +return the Materials (including any portions or copies thereof) to TPC or (2) immediately destroy +all copies of the Materials within Your custody or control and inform the TPC of the destruction +of the Materials. Upon termination, TPC may also enforce any rights provided by law. The +provisions of this Agreement that protect the proprietary rights of TPC and its Licensors will +continue in force after termination. + 11. No Warranty; Materials Provided “As Is”. TO THE MAXIMUM EXTENT +PERMITTED BY APPLICABLE LAW, THE MATERIALS ARE PROVIDED “AS IS” AND +WITH ALL FAULTS, AND TPC (AND ITS LICENSORS) AND THE AUTHORS AND +DEVELOPERS OF THE MATERIALS HEREBY DISCLAIM ALL WARRANTIES, +REPRESENTATIONS AND CONDITIONS, EITHER EXPRESS, IMPLIED OR +STATUTORY, INCLUDING, BUT NOT LIMITED TO, ANY IMPLIED WARRANTIES, +DUTIES OR CONDITIONS RELATING TO MERCHANTABILITY, FITNESS FOR A +PARTICULAR PURPOSE, ACCURACY OR COMPLETENESS OF RESPONSES, +RESULTS, WORKMANLIKE EFFORT, LACK OF VIRUSES, LACK OF NEGLIGENCE, +TITLE, QUIET ENJOYMENT, QUIET POSSESSION, CORRESPONDENCE TO +DESCRIPTION OR NONINFRINGEMENT. + USER RECOGNIZES THAT THE MATERIALS ARE THE RESULT OF A +COOPERATIVE, NON-PROFIT EFFORT AND THAT TPC DOES NOT CONDUCT A +TYPICAL BUSINESS. USER ACCEPTS THE MATERIALS “AS IS” AND WITHOUT ANY +WARRANTY, EXPRESS OR IMPLIED. + Without limitation, TPC (and its licensors) do not warrant that the functions contained in +the Software or Materials will meet Your requirements or that the operation of the Software will +be uninterrupted, error-free or free from malicious code. For purposes of this paragraph, +“malicious code” means any program code designed to contaminate other computer programs or +computer data, consume computer resources, modify, destroy, record, or transmit data, or in +some other fashion usurp the normal operation of the computer, computer system, or computer +network, including viruses, Trojan horses, droppers, worms, logic bombs, and the like. + TPC (and its licensors) shall not be liable for the accuracy of any information provided +by TPC or third-party technical support personnel, or any damages caused, either directly or +indirectly, by acts taken or omissions made by You as a result of such technical support. + You assume full responsibility for the selection of the Materials to achieve Your intended +results, and for the installation, use and results obtained from the Materials. You also assume the +entire risk as it applies to the quality and performance of the Materials. Should the Materials +prove defective, You (and not TPC) assume the entire liability of any and all necessary servicing, +repair or correction. + Some countries/states do not allow the exclusion of implied warranties, so the above +exclusion may not apply to You. TPC (and its licensors) further disclaims all warranties of any +kind if the Materials were customized, repackaged or altered in any way by any party other than +TPC (or its licensors). + 12. Disclaimer of Liability. TPC (and its licensors) assumes no liability with respect +to the Materials, including liability for infringement of intellectual property rights, negligence, or +any other liability. TPC is not aware of any infringement of copyright or patent that may result +from its grant of rights to User of the Materials. If User receives any notice of infringement, such +notice shall be immediately communicated to TPC who will have sole discretion to take action to +evaluate the claim and, if practicable, modify the Materials as necessary to avoid infringement. +In the event that TPC determines that the Materials cannot be modified to avoid such +infringement (or any other infringement claim communicated to TPC), TPC may terminate this +Agreement immediately. User shall suspend use of the Materials until modifications to avoid +claims of infringement have been completed. User waives any claim against TPC in the event of +such infringement claims by others. + 13. Export Assurance. Use and re-export of the Materials and related technical +information is subject to the Export Administration Regulations (EAR) of the United States +Department of Commerce. User hereby agrees that User (a) assumes responsibility for +compliance with the EAR in its use of the Materials and technical information, and (b) will not +export, re-export, or otherwise disclose directly or indirectly, the Materials, technical data, or any +direct product of the Materials or technical data in violation of the EAR. + 14. Limitation of Remedies And Damages. IN NO EVENT WILL TPC OR ITS +LICENSORS OR LICENSEE BE LIABLE FOR ANY INDIRECT, INCIDENTAL, SPECIAL +OR CONSEQUENTIAL DAMAGES OR FOR ANY LOST PROFITS, LOST SAVINGS, LOST +REVENUES OR LOST DATA ARISING FROM OR RELATING TO THE MATERIALS OR +THIS AGREEMENT, EVEN IF TPC OR ITS LICENSORS OR LICENSEE HAVE BEEN +ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. IN NO EVENT WILL TPC’S OR +ITS LICENSORS’ LIABILITY OR DAMAGES TO YOU OR ANY OTHER PERSON EVER +EXCEED U.S. ONE HUNDRED DOLLARS (US $100), REGARDLESS OF THE FORM OF +THE CLAIM. IN NO EVENT WILL LICENSEE'S LIABILITY OR DAMAGES TO TPC OR +ANY OTHER PERSON EVER EXCEED $1,000,000, REGARDLESS OF THE FORM OF +THE CLAIM. Some countries/states do not allow the limitation or exclusion of liability for +incidental or consequential damages, so the above limitation or exclusion may not apply to You. + 15. U.S. Government Restricted Rights. All Software and related documentation +are provided with restricted rights. Use, duplication or disclosure by the U.S. Government is +subject to restrictions as set forth in subdivision (b)(3)(ii) of the Rights in Technical Data and +Computer Software Clause at 252.227-7013. If You are using the Software outside of the United +States, You will comply with the applicable local laws of Your country, U.S. export control law, +and the English version of this Agreement. + 16. Contractor/Manufacturer. The Contractor/Manufacturer for the Software is: + Transaction Processing Performance Council + 572B Ruger Street, P.O. Box 29920 + San Francisco, CA 94129 + + 17. General. This Agreement is binding on You as well as Your employees, +employers, contractors and agents, and on any successors and assignees. This Agreement is +governed by the laws of the State of California (except to the extent federal law governs +copyrights and trademarks) without respect to any provisions of California law that would cause +application of the law of another state or country. The parties agree that the United Nations +Convention on Contracts for the International Sale of Goods will not govern this Agreement. +This Agreement is the entire agreement between us regarding the subject matter hereof and +supersedes any other understandings or agreements with respect to the Materials or the subject +matter hereof. If any provision of this Agreement is deemed invalid or unenforceable by any +court having jurisdiction, that particular provision will be deemed modified to the extent +necessary to make the provision valid and enforceable, and the remaining provisions will remain +in full force and effect. + + + + +SPECIAL PROVISIONS APPLICABLE TO THE EUROPEAN UNION + + If You acquired the Materials in the European Union (EU), the following provisions also +apply to You. If there is any inconsistency between the terms of the Software License Agreement +set out earlier and the following provisions, the following provisions shall take precedence. + + 1. Distribution. You may sublicense modifications of the Software covered in this +Agreement if they meet the requirements of clause 9 above. + 2. Limited Warranty. EXCEPT AS STATED EARLIER IN THIS AGREEMENT, AND +AS PROVIDED UNDER THE HEADING “STATUTORY RIGHTS”, THE SOFTWARE IS +PROVIDED AS-IS WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR +IMPLIED, INCLUDING, BUT NOT LIMITED TO, ANY IMPLIED WARRANTIES, +NONINFRINGEMENT, OR CONDITIONS OF MERCHANTABILITY, QUALITY AND +FITNESS FOR A PARTICULAR PURPOSE. + 3. Limitation of Remedy and Damages. THE LIMITATIONS OF REMEDIES AND +DAMAGES IN THE SOFTWARE LICENSE AGREEMENT SHALL NOT APPLY TO +PERSONAL INJURY (INCLUDING DEATH) TO ANY PERSON CAUSED BY TPC’S +NEGLIGENCE AND ARE SUBJECT TO THE PROVISION SET OUT UNDER THE +HEADING “STATUTORY RIGHTS”. + 4. Statutory Rights: Irish law provides that certain conditions and warranties may be +implied in contracts for the sale of goods and in contracts for the supply of services. Such +conditions and warranties are hereby excluded, to the extent such exclusion, in the context of this +transaction, is lawful under Irish law. Conversely, such conditions and warranties, insofar as they +may not be lawfully excluded, shall apply. Accordingly nothing in this Agreement shall +prejudice any rights that You may enjoy by virtue of Sections 12, 13, 14 or 15 of the Irish Sale of +Goods Act 1893 (as amended). + 5. General. This Agreement is governed by the laws of the Republic of Ireland. The local +language version of this agreement shall apply to Materials acquired in the EU. This Agreement +is the entire agreement between us with respect to the subject matter hereof and You agree that +TPC will not have any liability for any untrue statement or representation made by it, its agents +or anyone else (whether innocently or negligently) upon which You relied upon entering this +Agreement, unless such untrue statement or representation was made fraudulently. + + + + + -7- + + + + + + diff --git a/tpch/00_compile_tpch/dbgen/BUGS b/tpch/00_compile_tpch/dbgen/BUGS new file mode 100644 index 0000000..31b9cff --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/BUGS @@ -0,0 +1,993 @@ +# @(#) BUGS 2.1.8.20@(#) +# The following is a list of the various DBGEN/QGEN bugs that have been +# and are being fixed. Each entry is of the form: +# +# Problem #xx: STATUS -- MR ID and OPEN/closed +# followed by a detailed explanation +# TYPE: -- classification of the bug or issue +# SPEC FIX: -- details of any change to the spec +# DBGEN FIX: -- details of any change needed to QGEN/DBGEN +# ANSWER SETS: -- any effect on answer sets +# WORKAROUND: -- temporary fix, if available +# HELP NEEDED: -- any work/assistance required +# AUDITORS NOTIFIED: -- date auditors were notified, if appropriate +# OPENED AGAINST: -- date and effected versions +# CLOSED IN: -- date and fixed version +# +# OPEN BUGS +# ========== +# Problem #33: Parallel load doesn't work under NT +# +# OPEN Feature Requests +# ================= +# Problem #9: would like to include answer set formatting in query templates +# Problem #37: need way to validate DBGEN without large storage requriement +# Problem #58: Need way to track changes from one release to the next +# +# OPEN Documentation Errors +# ================= +# None +#--------------------------------------------------------------------- +#Complete Bug List +#================== +Problem #1: closed +Summary: Q10 returns no rows + Since orders can only be returned (l_returnflag = 'R') after they + have been received, and can't be received in the future, the + number of permissible orders for query 10 tails off early in + 1995. If you are lucky enough to get a parameter substitution + after February '95 (allowed in 2.12.3), things can go "quickly". +SEVERITY: +SPEC FIX: replace 2.12.3 (1) with "DATE is the first day in a + rundomly selected month between the first month of 1993 and the + last month of 1994" +DBGEN FIX: change permisible substitution range for query 10, + parameter 1 +ANSWER SETS: not effected. +WORKAROUND: use a different seed for qgen parameter substitution +HELP NEEDED: +AUDITORS NOTIFIED: +OPENED AGAINST: 1.0 +CLOSED IN: 1.0.1 (dbgen and qgen) + +Problem #2: closed +Summary: parallelism in load to gen differing data sets +the parallel load code was based on extensible data sets; since + each "extension" made an assumption of scale factor, the data + could end up clustered. Further, since the RNG is + self-modifying, different numbers of extension led to different + final data sets. +SEVERITY: +SPEC FIX: none. +DBGEN FIX: remove -E(xtensible) option and implement pure parallel +load with a known scale factor; rebuild seed files +ANSWER SETS: not effected. (parallelism not implemented for SF <= 1) +WORKAROUND: don't use the parallel load (-C) option to DBGEN +HELP NEEDED: testers needed. +AUDITORS NOTIFIED: yes. +OPENED AGAINST: 1.0 +CLOSED IN: 1.0.1 + +Problem #3: closed +Summary: some arithmetic tends to overflow at large SF +retailprice tends to SF/10 as SF increases. this can lead to + data corruption in extendedprice and aggregate calculations +SEVERITY: +SPEC FIX: will need rework of 1.3 wrt retailprice calculation +DBGEN FIX: modification to second term of rpb_routine() calcuation +to limit contibution of second term to the maximum seen at + SF=.1 +ANSWER SETS: not effected +WORKAROUND: code retail/extended price calculations as long long; +build smaller data sets +HELP NEEDED: +AUDITORS NOTIFIED: +OPENED AGAINST: 1.0 +CLOSED IN: 1.0.1 + +Problem #4: closed +Summary: dbgen not ported to NT +SEVERITY: +SPEC FIX: none +DBGEN FIX: need to roll in changes supplied by IBM +ANSWER SETS: not effected +WORKAROUND: N/A +HELP NEEDED: N/A +AUDITORS NOTIFIED: N/A +OPENED AGAINST: 1.0 +CLOSED IN: 1.1.0 + +Problem #5: closed +Summary: QGEN seed init inconsistent +A prior fix assured that parameter values were query order + independent when a seed was provided on the command line. need + to make this true when no seed is provided +SEVERITY: +SPEC FIX: none +DBGEN FIX: rework seed init loop in qgen.c +ANSWER SETS: not effected +WORKAROUND: supply seeds on command line +HELP NEEDED: none +AUDITORS NOTIFIED: N/A +OPENED AGAINST: 1.0 +CLOSED IN: 1.0.1 + +Problem #6: closed +Summary: command line options with abutting arguments mishandled +SEVERITY: +SPEC FIX: none +DBGEN FIX: minor fix to getopt routine in bm_utils.c +ANSWER SETS: not effected +WORKAROUND: separate options and arguments with a space +HELP NEEDED: none +AUDITORS NOTIFIED: N/A +OPENED AGAINST: 1.0 +CLOSED IN: 1.0.1 + +Problem #7: closed +Summary: '-O f' asking for new file names twice +SEVERITY: +SPEC FIX: none +DBGEN FIX: rework of set_files() in driver.c +ANSWER SETS: not effected +WORKAROUND: none +HELP NEEDED: none +AUDITORS NOTIFIED: N/A +OPENED AGAINST: 1.0 +CLOSED IN: 1.0.1 + +Problem #8: closed +Summary: Seed generation taking too long +SEVERITY: +SPEC FIX: N/A +DBGEN FIX: implement "skip and trudge" as discussed +ANSWER SETS: not effected +WORKAROUND: none +HELP NEEDED: +AUDITORS NOTIFIED: N/A +OPENED AGAINST: 1.0 +CLOSED IN: 1.0.1 + +Problem #9: OPEN +Summary: would like to include answer set formatting in query templates +SEVERITY: feature request +SPEC FIX: none +DBGEN FIX: additional flag in qgen() +ANSWER SETS: not effected +WORKAROUND: N/A +HELP NEEDED: asked for reproduction info 25 Oct 95 +AUDITORS NOTIFIED: N/A +OPENED AGAINST: 1.0 +CLOSED IN: + +Problem #10: closed +Summary: need to re-introduce ability to do incremental, flat file builds +SEVERITY: feature request +SPEC FIX: none +DBGEN FIX: add -S(tep) option to build one of many partial data sets +ANSWER SETS: not effected +WORKAROUND: N/A +HELP NEEDED: +AUDITORS NOTIFIED: N/A +OPENED AGAINST: 1.0 +CLOSED IN: 1.0.1 + +Problem #11: closed +Summary: Row count for first delete at 10/100 is incorrect +SEVERITY: Error +SPEC FIX: None +DBGEN FIX: +ANSWER SETS: No Effect +WORKAROUND: hand edit of first delete file +HELP NEEDED: +AUDITORS NOTIFIED: No +OPENED AGAINST: 1.0.1 +CLOSED IN: 2.0.0 (not sure of precise release) +CLOSED BY: jms@gradientsystems.com + +Problem #12: closed +Summary: Bad default rowcount generated for query 17 +SEVERITY: Error +SPEC FIX: None +DBGEN FIX: corrected rowcnt[] entries to be 1-based +ANSWER SETS: N/A +WORKAROUND: hand edit query or add explicit row count to template +HELP NEEDED: +AUDITORS NOTIFIED: N/A +OPENED AGAINST: 1.0.0 +CLOSED IN: 1.1.0 + +Problem #13: closed +Summary: Bad expansion of SET_OUTPUT for Teradata +SEVERITY: Error +SPEC FIX: N/A +DBGEN FIX: new macro in tpcd.h +ANSWER SETS: N/A +WORKAROUND: Hand edit query or hardcode output directive in templates +HELP NEEDED: +AUDITORS NOTIFIED: N/A +OPENED AGAINST: 1.0.1 +CLOSED IN: 1.1.0 + +Problem #14: closed +Summary: Badly formed range deletes +SEVERITY: Error +SPEC FIX: N/A +DBGEN FIX: TBD +ANSWER SETS: N/A +WORKAROUND: hand edit delete files +HELP NEEDED: asked for reproduction info 25 Oct 95 +AUDITORS NOTIFIED: N/A +OPENED AGAINST: 1.0.1 +CLOSED IN: 2.0.0 (not sure of precise release) +CLOSED BY: jms@gradientsystems.com + +Problem #15: closed +Summary: in a multi-stage load, parent tables are not properly named +when parent and child are build simultaneously +SEVERITY: Error +SPEC FIX: N/A +DBGEN FIX: reworked tdef[].name in pr_X_Y routines for master/detail +tables +ANSWER SETS: N/A +WORKAROUND: Build master/detail tables separately +HELP NEEDED: +AUDITORS NOTIFIED: N/A +OPENED AGAINST: 1.0.1 +CLOSED IN: 1.1.0 + +Problem #16: closed +Summary: update generation at large scale factors produced the wrong number +of rows due to overflow of 32-bit integer +SEVERITY: BUG +SPEC FIX: N/A +DBGEN FIX: corrected order of operations in row count calcuation in +driver.c +ANSWER SETS: N/A +WORKAROUND: use 64 bit integers +HELP NEEDED: None +AUDITORS NOTIFIED: N/A +OPENED AGAINST: 1.0.1 +CLOSED IN: 1.1.0 + +Problem #17: closed +Summary: comment fields may be truncated when using columnar output, due to +rounding/truncation in the length calculation +SEVERITY: BUG +SPEC FIX: N/A +DBGEN FIX: add ceil() calls around all PR_VSTR() calls in print.c +ANSWER SETS: N/A +WORKAROUND: N/A +HELP NEEDED: None +AUDITORS NOTIFIED: N/A +OPENED AGAINST: 1.0.1 +CLOSED IN: 1.1.0 + +Problem #18: closed +Summary: the output format for identifier fields in columnar output is +unneccessarily large, and is inconsistant +SEVERITY: minor +SPEC FIX: N/A +DBGEN FIX: revised PR_BCD2 macro +ANSWER SETS: N/A +WORKAROUND: avoid columnar output, or rework macro +HELP NEEDED: none +AUDITORS NOTIFIED: no +OPENED AGAINST: 1.1.0 +OPENED BY: jenn@torolab2.vnet.ibm.com +CLOSED IN: 1.1.0A +CLOSED BY: jms@informix.com + +Problem #19: closed +Summary: the case statement used to decipher substitution points in the +query template allowed extraneous :'s to re-initialize the +parameter substitution +SEVERITY: bug +SPEC FIX: N/A +DBGEN FIX: rework flag switch in qgen.c to explicitly call out numerics +ANSWER SETS: N/A +WORKAROUND: be sure that there are no "unknown" flags in the template +HELP NEEDED: none +AUDITORS NOTIFIED: yes +OPENED AGAINST: 1.0.1 +OPENED BY: jenn@torolab2.vnet.ibm.com +CLOSED IN: 1.1.0A +CLOSED BY: jms@informix.com + +Problem #20: closed +Summary: parameter substitution values were not effected by small changes +in seed values +SEVERITY: bug +SPEC FIX: N/A +DBGEN FIX: add UnifInt() calls to RNG init in qgen.c +ANSWER SETS: N/A +WORKAROUND: be sure seed values provide sufficient randomness in EQT +HELP NEEDED: none +AUDITORS NOTIFIED: yes +OPENED AGAINST: 1.1.0 +OPENED BY: alain_crolotte@elsegundoca.attgis.com +CLOSED IN: 1.1.0B +CLOSED BY: jms@informix.com + +Problem #21: closed +Summary: parameter logging doesn't properly handle the variable length of +the substitution list +SEVERITY: bug +SPEC FIX: N/A +DBGEN FIX: assure null termination of param list and bound the output +loop that logs parameter usage +ANSWER SETS: N/A +WORKAROUND: none +HELP NEEDED: none +AUDITORS NOTIFIED: N/A +OPENED AGAINST: 1.1.0B +OPENED BY: +CLOSED IN: 1.1.0C +CLOSED BY: jms@informix.com + +Problem #22: closed +Summary: parameter output for Q11 can overflow default formatting at very +large volumes +SEVERITY: bug +SPEC FIX: N/A +DBGEN FIX: expand format string to %11.10f +ANSWER SETS: N/A +WORKAROUND: hand code queries for large volumes +HELP NEEDED: none +AUDITORS NOTIFIED: N/A +OPENED AGAINST: 1.1.0B +OPENED BY: francois@ip.com +CLOSED IN: 1.1.0C +CLOSED BY: jms@informix.com + +Problem #23: closed +Summary: typos in variant 14c +SEVERITY: +SPEC FIX: N/A +DBGEN FIX: corrected query template +ANSWER SETS: N/A +WORKAROUND: none +HELP NEEDED: none +AUDITORS NOTIFIED: no +OPENED AGAINST: 1.1.0B +OPENED BY: francois@ip.com +CLOSED IN: 1.1.0C +CLOSED BY: jms@informix.com + +Problem #24: closed +Summary: macro PR_DATE was hard-coded to print t->alpha even though a +target was passed in as a parameter +SEVERITY: minor +SPEC FIX: N/A +SOURCE FIX: re-worked macro to properly use its arguments +ANSWER SETS: N/A +WORKAROUND: none +HELP NEEDED: none +AUDITORS NOTIFIED: no +OPENED AGAINST: 1.1.0A +OPENED BY: Robert.Lane@eng.sun.com +CLOSED IN: dbgen 1.1.0B +CLOSED BY: jms@informix.com + +Problem #25: closed +Summary: typos in variant 10a +SEVERITY: +SPEC FIX: N/A +DBGEN FIX: corrected query template +ANSWER SETS: N/A +WORKAROUND: none +HELP NEEDED: none +AUDITORS NOTIFIED: no +OPENED AGAINST: 1.1.0B +OPENED BY: francois@ip.com +CLOSED IN: 1.1.0C +CLOSED BY: jms@informix.com + +Problem #26: closed +Summary: the version numbers for QGEN and DBGEN do not match +SEVERITY: minor +SPEC FIX: N/A +SOURCE FIX: unified version numbers starting with 1.1.0C +ANSWER SETS: N/A +WORKAROUND: N/A +HELP NEEDED: none +AUDITORS NOTIFIED: no +OPENED AGAINST: 1.1.0B (or 1.1.0C, depending) +OPENED BY: Robert.Lane@eng.sun.com +CLOSED IN: 1.1.0C +CLOSED BY: jms@informix.com + +Problem #27: closed +Summary: correcting typos in 7, 9, 13 +SEVERITY: minor +SPEC FIX: N/A +SOURCE FIX: fixed them +ANSWER SETS: N/A +WORKAROUND: N/A +HELP NEEDED: none +AUDITORS NOTIFIED: N/A +OPENED AGAINST: 1.1.0C (pre-release) +OPENED BY: tblank@vnet.ibm.com +CLOSED IN: 1.1.0C +CLOSED BY: jms@informix.com + +Problem #28: closed +Summary: Seed generation fails with SF > 1000 due to 32 bit integer +arithmetic used to verify "divisible-ness" of data set +SEVERITY: bug +SPEC FIX: N/A +SOURCE FIX: TBD +ANSWER SETS: N/A +WORKAROUND: N/A +HELP NEEDED: none +AUDITORS NOTIFIED: N/A +OPENED AGAINST: 1.1.0C +OPENED BY: alain_colotte@elsegundoca.ncr.com +CLOSED IN: 1.3.0 +CLOSED BY: jms@gradientsystems.com + +Problem #29: closed +Summary: Compile time errors on Solaris 2.5.1 and SunOS +SEVERITY: bug +SPEC FIX: N/A +SOURCE FIX: Solaris fixed by renaming lineitem field from extended to + eprice; SunOS problem documented in Porting.Notes +ANSWER SETS: N/A +WORKAROUND: N/A +HELP NEEDED: N/A +AUDITORS NOTIFIED: N/A +OPENED AGAINST: 1.1.0D +OPENED BY: jms@informix.com +CLOSED IN: 1.2.0 +CLOSED BY: jms@informix.com + +Problem #30: closed +Summary: Cryptic comments in dists.dss +SEVERITY: flaw +SPEC FIX: N/A +SOURCE FIX: Cleaned up the comments in the file +ANSWER SETS: N/A +WORKAROUND: N/A +HELP NEEDED: N/A +AUDITORS NOTIFIED: N/A +OPENED AGAINST: 1.2.0 +OPENED BY: francois@sizing.com +CLOSED IN: 1.2.3 ALPHA 1 +CLOSED BY: jms@informix.com + +Problem #31: closed +Summary: Inconsistant handling of fopen() failures +SEVERITY: bug +SPEC FIX: N/A +SOURCE FIX: introduced OPEN_CHECK macro (defined in dss.h) +ANSWER SETS: N/A +WORKAROUND: N/A +HELP NEEDED: none +AUDITORS NOTIFIED: N/A +OPENED AGAINST: 1.2.0 +OPENED BY: schiefer@ca.ibm.com +CLOSED IN: 1.3.0 +CLOSED BY: jms@gradientsystems.com + +Problem #32: closed +Summary: Path separators were hard-coded +SEVERITY: bug +SPEC FIX: N/A +SOURCE FIX: introduced PATH_SEP in config.h +ANSWER SETS: N/A +WORKAROUND: N/A +HELP NEEDED: none +AUDITORS NOTIFIED: N/A +OPENED AGAINST: 1.2.0 +OPENED BY: +CLOSED IN: 1.3.0 +CLOSED BY: jms@gradientsystems.com + +Problem #33: OPEN +Summary: Parallel load doesn't work under NT +SEVERITY: bug +SPEC FIX: N/A +SOURCE FIX: +ANSWER SETS: N/A +WORKAROUND: use -S option to build each step independently +HELP NEEDED: none +AUDITORS NOTIFIED: N/A +OPENED AGAINST: 1.1.0 +OPENED BY: +CLOSED IN: +CLOSED BY: + +Problem #34: closed +Summary: P_NAME not properly populated +SEVERITY: bug +SPEC FIX: N/A +SOURCE FIX: Corrected color selection logic in agg_str() +ANSWER SETS: NFI for 1.x since it effect answer sets +WORKAROUND: N/A +HELP NEEDED: None +AUDITORS NOTIFIED: N/A +OPENED AGAINST: 1.2.3 +OPENED BY: schiefer@ca.ibm.com +CLOSED IN: 2.0.0 +CLOSED BY: jms@gradientsystems.com + +Problem #35: closed +Summary: mk_sparse() returning bad orderkeys +SEVERITY: bug +SPEC FIX: N/A +SOURCE FIX: corrected logic in mk_sparse() and bcd2_bin() +ANSWER SETS: N/A +WORKAROUND: N/A +HELP NEEDED: None +AUDITORS NOTIFIED: N/A +OPENED AGAINST: 1.3.0 +OPENED BY: jennc@ca.ibm.com +CLOSED IN: 1.3.1 +CLOSED BY: jms@gradientsystems.com + +Problem #36: closed +Summary: a_rnd() doesn't mask properly, uses small 'alphabet' +SEVERITY: bug +SPEC FIX: Corrected 4.2.2.6 to reflect 64 character set +SOURCE FIX: changed mask in a_rnd() from 067 to 077 +ANSWER SETS: NFI for 1.x since answers would be effected +WORKAROUND: N/A +HELP NEEDED: None +AUDITORS NOTIFIED: N/A +OPENED AGAINST: 1.2.3 +OPENED BY: pek@elsegundoca.ncr.com +CLOSED IN: 2.0.0 +CLOSED BY: jms@gradientsystems.com + +Problem #37: OPEN +Summary: need way to validate DBGEN without large storage requriement +SEVERITY: Feature Request +SPEC FIX: N/A +SOURCE FIX: Provide vrf_xxx routine to generate checksums +ANSWER SETS: N/A +WORKAROUND: N/A +HELP NEEDED: None +AUDITORS NOTIFIED: N/A +OPENED AGAINST: 1.2.3 +OPENED BY: jms@gradientsystems.com +CLOSED IN: +CLOSED BY: + +Problem #38: closed +Summary: need to be able to generate specific update set +SEVERITY: Feature Request +SPEC FIX: N/A +SOURCE FIX: Update update generation to use -S option +ANSWER SETS: N/A +WORKAROUND: N/A +HELP NEEDED: None +AUDITORS NOTIFIED: N/A +OPENED AGAINST: 1.3.1 +OPENED BY: jennc@ca.ibm.com +CLOSED IN: 2.0.0 (not certain of fix version) +CLOSED BY: jms@gradientsystems.com + +Problem #39: closed +Summary: README for dbgen is out of date +SEVERITY: Documentation error +SPEC FIX: N/A +SOURCE FIX: Rewrite of README +ANSWER SETS: N/A +WORKAROUND: N/A +HELP NEEDED: None +AUDITORS NOTIFIED: N/A +OPENED AGAINST: 2.0.0.6b +OPENED BY: jennc@ca.ibm.com +CLOSED IN: 2.0.0 +CLOSED BY: jms@gradientsystems.com + +Problem #40: closed +Summary: O_CUSTKEY is generated out of range at 10GB +SEVERITY: Bug +SPEC FIX: N/A +SOURCE FIX: Correction of CUST_MORTALITY calculation +ANSWER SETS: Unknown +WORKAROUND: N/A +HELP NEEDED: None +AUDITORS NOTIFIED: N/A +OPENED AGAINST: 2.0.0.7 +OPENED BY: wayne.smith@intel.com +CLOSED IN: 2.0.0.8 +CLOSED BY: jms@gradientsystems.com + +Problem #41: closed +Summary: V2 appears slower than V1 +SEVERITY: Bug +SPEC FIX: +SOURCE FIX: Used NthElement() in row_stop() +ANSWER SETS: N/A +WORKAROUND: N/A +HELP NEEDED: None +AUDITORS NOTIFIED: N/A +OPENED AGAINST: 2.0.0.8 +OPENED BY: jennc@ca.ibm.com +CLOSED IN: 2.01a +CLOSED BY: jms@gradientsystems.com + +Problem #42: closed +Summary: Dual declaration of articles causes C++ compilation error +SEVERITY: Bug +SPEC FIX: N/A +SOURCE FIX: Duplicate declaration removed +ANSWER SETS: N/A +WORKAROUND: N/A +HELP NEEDED: None +AUDITORS NOTIFIED: N/A +OPENED AGAINST: 2.0.0 +OPENED BY: jpm@informix.com +CLOSED IN: 2.0.0a +CLOSED BY: jms@gradientsystems.com + +Problem #43: closed +Summary: Subselect wild card not consistant with spec +SEVERITY: Bug +SPEC FIX: N/A +SOURCE FIX: Query templates corrected +ANSWER SETS: N/A +WORKAROUND: N/A +HELP NEEDED: None +AUDITORS NOTIFIED: N/A +OPENED AGAINST: 2.0.0 +OPENED BY: jpm@informix.com +CLOSED IN: 2.0.0a +CLOSED BY: jms@gradientsystems.com + +Problem #44: closed +Summary: small money values incorrect +SEVERITY: Bug +SPEC FIX: N/A +SOURCE FIX: reworked PR_xxx macros +ANSWER SETS: new answer included for Q22 +WORKAROUND: N/A +HELP NEEDED: None +AUDITORS NOTIFIED: N/A +OPENED AGAINST: 2.0.0 +OPENED BY: ac4@elsegundoca.ncr.com +CLOSED IN: 1.0.1 +CLOSED BY: jms@gradientsystems.com + +Problem #45: closed +Summary: L_ORDERKEY/O_ORDERKEY incorrect +SEVERITY: Bug +SPEC FIX: N/A +SOURCE FIX: corrected pointer arithmetic in print.c +ANSWER SETS: N/A +WORKAROUND: N/A +HELP NEEDED: None +AUDITORS NOTIFIED: N/A +OPENED AGAINST: 1.0.1 +OPENED BY: jpm@informix.com +CLOSED IN: 1.0.1a +CLOSED BY: jms@gradientsystems.com + +Problem #46: closed +Summary: L_ORDERKEY/O_ORDERKEY incorrect +SEVERITY: Dup (see #45) +SPEC FIX: N/A +SOURCE FIX: N/A +ANSWER SETS: N/A +WORKAROUND: N/A +HELP NEEDED: None +AUDITORS NOTIFIED: N/A +OPENED AGAINST: 1.0.1 +OPENED BY: jennc@ca.ibm.com +CLOSED IN: 1.0.1a +CLOSED BY: jms@gradientsystems.com + +Problem #47: closed +Summary: QGEN parameter substitution not random +SEVERITY: BUG +SPEC FIX: N/A +SOURCE FIX: corrected varsub RANDOM usage to reflect seed file removal +ANSWER SETS: N/A +WORKAROUND: N/A +HELP NEEDED: None +AUDITORS NOTIFIED: N/A +OPENED AGAINST: 1.0.1 +OPENED BY: wayne.smith@intel.com +CLOSED IN: 1.0.1a +CLOSED BY: jms@gradientsystems.com + +Problem #48: closed +Summary: QGEN parameter substitution not random for Q21 +SEVERITY: BUG +SPEC FIX: N/A +SOURCE FIX: corrected varsub to only reference nations2 distribution +ANSWER SETS: N/A +WORKAROUND: N/A +HELP NEEDED: None +AUDITORS NOTIFIED: N/A +OPENED AGAINST: 1.0.1a +OPENED BY: wayne.smith@intel.com +CLOSED IN: 1.0.1b +CLOSED BY: jms@gradientsystems.com + +Problem #49: closed +Summary: Extraneous trailing separator in delete files +SEVERITY: BUG +SPEC FIX: N/A +SOURCE FIX: special-cased the handling of deletes using PR_KEY +ANSWER SETS: N/A +WORKAROUND: N/A +HELP NEEDED: None +AUDITORS NOTIFIED: N/A +OPENED AGAINST: 1.0.1b +OPENED BY: wayne.smith@intel.com +CLOSED IN: 1.0.1c +CLOSED BY: jms@gradientsystems.com + +Problem #50: closed +Summary: qgen not generating valid parameter log files for defaults +SEVERITY: BUG +SPEC FIX: N/A +SOURCE FIX: corrected params/default reference +ANSWER SETS: N/A +WORKAROUND: N/A +HELP NEEDED: None +AUDITORS NOTIFIED: N/A +OPENED AGAINST: 1.0.1 +OPENED BY: cta@elsegundoca.ncr.com +CLOSED IN: 1.0.1d +CLOSED BY: jms@gradientsystems.com + +Problem #51: closed +Summary: inconistent/invariant substitutions in Q16, Q17, Q19 +SEVERITY: BUG +SPEC FIX: N/A +SOURCE FIX: corrected "brand" selection to make order irrelevent +ANSWER SETS: N/A +WORKAROUND: N/A +HELP NEEDED: None +AUDITORS NOTIFIED: N/A +OPENED AGAINST: 1.0.1 +OPENED BY: jennc@ca.ibm.com +CLOSED IN: 1.0.1d +CLOSED BY: jms@gradientsystems.com + +Problem #52: closed +Summary: qgen seeds make parameter substitutions position dependant + The current scheme uses an individual RNG stream for each query, and seeds + all streams identically. Accordingly, two queries that use the same domain + for the same parameter will always have the same value (e.g., q9 and q20). +SEVERITY: BUG +SPEC FIX: N/A +SOURCE FIX: seed the individual streams with the sequence of random + numbers produced by the global seed value +ANSWER SETS: N/A +WORKAROUND: N/A +HELP NEEDED: None +AUDITORS NOTIFIED: N/A +OPENED AGAINST: 990708 +OPENED BY: jennc@ca.ibm.com +CLOSED IN: 1.0.1a/1.1.0a (990727) +CLOSED BY: jms@gradientsystems.com +CHECKED BY: qa52 + +Problem #53: closed +Summary: number of lineitems in update files no longer varies + The RNG is not being set at the start of update generation; accordingly + the original data (including rowcounts) is being "regenerated" +SEVERITY: +SPEC FIX: N/A +SOURCE FIX: +ANSWER SETS: N/A +WORKAROUND: N/A +HELP NEEDED: None +AUDITORS NOTIFIED: N/A +OPENED AGAINST: 990708 +OPENED BY: jennc@ca.ibm.com +CLOSED IN: 990810 +CLOSED BY: jms@gradientsystems.com +CHECKED BY: qa53 + +Problem #54: closed +Summary: segmented update files fail when rows per file is small + A round off error could cause the wrong number of rows to be output to a + given update file +SEVERITY: BUG +SPEC FIX: N/A +SOURCE FIX: correction to driver.c and print.c to use division and modulo + to produce comparably sized files regardless of divisor +ANSWER SETS: N/A +WORKAROUND: N/A +HELP NEEDED: None +AUDITORS NOTIFIED: N/A +OPENED AGAINST: 990708 +OPENED BY: v-larryk@microsoft.com +CLOSED IN: 1.0.1a/1.1.0a (990727) +CLOSED BY: jms@gradientsystems.com (using code from larry) +CHECKED BY: + +Problem #55: closed +Summary: -S generates bad data when used with updates + The RNG is not being properly set +SEVERITY: BUG +SPEC FIX: N/A +SOURCE FIX: added the appropriate offset to the RNG, and simplified the + update generation code +ANSWER SETS: N/A +WORKAROUND: N/A +HELP NEEDED: None +AUDITORS NOTIFIED: N/A +OPENED AGAINST: 990708 +OPENED BY: jms@gradientsystems.com +CLOSED IN: 990816 +CLOSED BY: jms@gradientsystems.com (using code from larry) +CHECKED BY: qa55 + +Problem #56: closed +Summary: Need way to specify dists.dss location on the command line +SEVERITY: FEATURE +SPEC FIX: N/A +SOURCE FIX: added -b switch to driver.c and qgen.c +ANSWER SETS: N/A +WORKAROUND: N/A +HELP NEEDED: None +AUDITORS NOTIFIED: N/A +OPENED AGAINST: 990708 +OPENED BY: clevine@microsoft.com +CLOSED IN: 990830 +CLOSED BY: jms@gradientsystems.com +CHECKED BY: N/A + +Problem #57: closed +Summary: Need way to remove all DBGEN output unless there is an error +SEVERITY: FEATURE +SPEC FIX: N/A +SOURCE FIX: added -q switch to driver.c and changed verbose if's +ANSWER SETS: N/A +WORKAROUND: N/A +HELP NEEDED: None +AUDITORS NOTIFIED: N/A +OPENED AGAINST: 990708 +OPENED BY: clevine@microsoft.com +CLOSED IN: 990830 +CLOSED BY: jms@gradientsystems.com +CHECKED BY: N/A + +Problem #00058: OPEN +Summary: Need way to track changes from one release to the next +SEVERITY: FEATURE +SPEC FIX: N/A +SOURCE FIX: reintroduce and automate the CHANGES file. Require MRs for + all source code changes +ANSWER SETS: N/A +WORKAROUND: N/A +HELP NEEDED: None +AUDITORS NOTIFIED: N/A +OPENED AGAINST: 990708 +OPENED BY: mpoess@us.oracle.com +CLOSED IN: +CLOSED BY: +CHECKED BY: + +Problem #00059: closed +Summary: extra comma in Q2 template +SEVERITY: BUG +SPEC FIX: N/A +SOURCE FIX: Template corrected +ANSWER SETS: N/A +WORKAROUND: None. +HELP NEEDED: None. +AUDITORS NOTIFIED: N/A +OPENED AGAINST: 990830 +OPENED BY: jpm@informix.com +CLOSED ON: 990908 +CLOSED BY: jms@gradientsystems.com +CHECKED BY: N/A + + +Problem #00060: closed +Summary: segmented inserts/deletes creating an extra file +SEVERITY: BUG +SPEC FIX: N/A +SOURCE FIX: Adding in missed change from original roll-in +ANSWER SETS: N/A +WORKAROUND: N/A +HELP NEEDED: N/A +AUDITORS NOTIFIED: N/A +OPENED AGAINST: 990830 +OPENED BY: larryk@microsoft.com +CLOSED ON: 990111 +CLOSED BY: jms@gradientsystems.com +CHECKED BY: N/A + +Problem #00061: closed +Summary: 64-bit support under DigUnix leads to math errors +SEVERITY: BUG +SPEC FIX: N/A +SOURCE FIX: Calculation of dRange in rnd.c now uses double cast +ANSWER SETS: N/A +WORKAROUND: N/A +HELP NEEDED: N/A +AUDITORS NOTIFIED: N/A +OPENED AGAINST: 990830 +OPENED BY: nramesh@us.oracle.com +CLOSED ON: 000131 +CLOSED BY: jms@gradientsystems.com +CHECKED BY: N/A + +Problem #00062: closed +Summary: bad update rollover after 1000 refreshes + This test uses tpcH scale 0.01. We've encountered + an situation in which dbgen doesn't generate + the correct data for delete files delete.1000 and + above. In particular, file delete.1000 contains + keys to be deleted that have never been loaded. + Because of this problem, keys that should have been + deleted never are causing duplicate unique values + to appear in the incremental loads after we cycle + from the 4000th incremental update back around starting + again with the 1st one. +SEVERITY: BUG +SPEC FIX: N/A +SOURCE FIX: N/A +ANSWER SETS: N/A +WORKAROUND: N/A +HELP NEEDED: N/A +AUDITORS NOTIFIED: N/A +OPENED AGAINST: 19991101 +OPENED BY: Roger.McNicol@sybase.com +CLOSED ON: 20000509 +CLOSED BY: jms +CHECKED BY: N/A + +Problem #00063: closed +Summary: update copyright notice + N/A +SEVERITY: BUG +SPEC FIX: N/A +SOURCE FIX: N/A +ANSWER SETS: N/A +WORKAROUND: N/A +HELP NEEDED: N/A +AUDITORS NOTIFIED: N/A +OPENED AGAINST: N/A +OPENED BY: jms@gradientsystems.com +CLOSED ON: 20000131 +CLOSED BY: jms@gradientsystems.com +CHECKED BY: N/A + +Problem #00064: closed +Summary: permute() introduce 0 selection in [1..50] for q16 + N/A +SEVERITY: BUG +SPEC FIX: N/A +SOURCE FIX: rework permute() to be 1-based +ANSWER SETS: N/A +WORKAROUND: N/A +HELP NEEDED: N/A +AUDITORS NOTIFIED: N/A +OPENED AGAINST: 20000413 +OPENED BY: lorna@permetrics.com +CLOSED ON: 20000414 +CLOSED BY: jms@gradientsystems.com +CHECKED BY: N/A + +Problem #00065: OPEN +Summary: permute correction caused dataset changes + initial fix for #64 caused qa failures due to data set changes. New fix + is limited to query parameter substitution changes and has passed qa +SEVERITY: BUG +SPEC FIX: N/A +SOURCE FIX: N/A +ANSWER SETS: N/A +WORKAROUND: N/A +HELP NEEDED: N/A +AUDITORS NOTIFIED: N/A +OPENED AGAINST: 20000511 +OPENED BY: jms +CLOSED ON: N/A +CLOSED BY: N/A +CHECKED BY: N/A + +*********** +this file has been superceded by the bug tracking system available to +TPC members at: +www2.gradient system.com +*********** diff --git a/tpch/00_compile_tpch/dbgen/HISTORY b/tpch/00_compile_tpch/dbgen/HISTORY new file mode 100644 index 0000000..8258af8 --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/HISTORY @@ -0,0 +1,535 @@ +# @(#)HISTORY 2.1.8.3 +Changes as of 10/11/99 + -- versions: TPCH 1.2.0a, TPCR 1.1.0a + -- Correction to segmented updates that was causing extra file to be + generated + -- Porting changes for DigUnix +Changes as of 08/28/99 + -- versions: TPCH 1.2.0, TPCR 1.1.0 + -- reduced parameter substitution range for Q18 + -- added new option to specify location of dists file (-b) + -- added DBGEN option to suppress all output (-q) +Changes as of 08/16/99 + -- versions: TPCH 1.1.0a, TPCR 1.0.1e + -- prevent "reuse" of original data in update files + -- correction to lint target in makefile.suite + -- removal of vestigal l_partkey predicate from 21.sql + -- reorder lineitem/order join in q5 + -- removal of table aliases from 2.sql + -- randomize seeding of qgen RNG to close bug 52 + -- correct possible round off error in segmented update files + -- corrected soft copy answer set for Q22 + -- corrected percision of answer set for Q19 +Changes as of 07/08/99 + -- versions: TPCH 1.1.0, TPCR 1.0.1 + -- WORKLOAD must be set to either TPCH or TPCR in the makefile + -- unneeded reference to part table removed from q21 template +Changes as of 06/04/99 + -- version 1.0.1d + -- Restarted version numbering to match specification revisions for + TPC-H and TPC-R + -- Corrected answer set for for Q13 + -- Corrected parameter substitutions for Q16, Q17, Q19, Q20, Q21, Q22 + -- Corrected RNG initialization in qgen.c + -- added adhoc.c adhoc.h to code base to support randomized data sets; + currently disabled + -- replaced calls to UnifInt() row_stop with call to NthElement() + -- Corrected a problem that caused small negative money values to print as + a positive value + -- Simplication of PR_xxx macros + -- QGEN building correct parameter logs again + +****************** +* NOTE NOTE NOTE * +****************** +Below this line the file refers to TPC-D which was retired in favor of +TPC-H and TPC-R. Since the new speicifications are numbered from 1.0.0 +the program version was reset. +****************** +* NOTE NOTE NOTE * +****************** + +Changes as of 01/05/99 + -- version 2.0.1 + -- added 1999 to the copyright notice + -- corrected C++ compilation problem + -- sub-select phrasing corrected in Q4, Q21, Q22 + -- added support for segmenting update files (contributed by Larry Kemp, HP) +Changes as of 12/08/98 + -- version 2.0.0 + -- removed permute.h from clean target in makefile +Changes as of 11/17/98 + -- version 2.0.0 Alpha 8 + -- corrected o_custkey overrun bug + -- removed upper bound on -C command option + -- added static permute.h to distribution to match the specification +Changes as of 10/23/98 + -- version 2.0.0 Alpha 7 + -- removed references to DSS_SEED and SEED_TAG + -- minor query template cleanup + -- V2 answer sets added + -- correction to hd_sparse for SF > 300 + -- added static declaration to row types in gen_tbl to fix update problem + -- permuted params to Q22 +Changes as of 5/19/98 + -- version 2.0.0 Alpha6b + -- removed trailing apostrophe from dists.dss nouns for Tandem loader + -- corrected mk_sparse() problem with alpha6 + -- added 64b support for NCR/Metaware + -- corrected revision problem with 2.0.0.6 +Changes as of 5/7/98 + -- version 2.0.0 Alpha6 + -- corrected generation of parent/child tables in parallel + -- renamed ORDER table to ORDERS table + -- revision of DBGEN synced with revision of 2.0 specification + -- portability changes to process termination provided by John Matzka + -- portability changes for Watcom C provided by Andrew Eisenberg + -- indentation of specifications/templates now matches + -- queries now include a consistant header format +Changes as of 4/28/98 + -- version 2.0.0 Alpha5 + -- NO RELEASE OF ALPHA 5 ; skipped to sync spec/DBGEN revision levels +Changes as of 4/6/98 + -- version 2.0.0 Alpha4 + -- corrected parallel table generation + -- minor corrections to query templates + -- portability changes for HP +Changes as of 3/24/98 + -- version 2.0.0 Alpha3 + -- include substitution parameters for Q22 + -- correct substitution parameters for Q16 under AIX + -- include permute.h until unix/NT makefile fix + -- correct orderkey generation +Changes as of 3/20/98 + -- version 2.0.0 Alpha2 + -- correct runtime malloc error from bad INIT_HUGE macro + -- improve pseudo text distribution in comments + -- fix problem with parallelism of data gen + -- re-enable generation of parent/child tables + -- remove recombinaton code for parallel flat files +Changes as of 3/11/98 + -- version 2.0.0 Alpha1 + -- removed the TIME table + -- removed the need for seed files + -- made 1GB the validation database size + -- add pseudo text support in comments + -- correct character selection in a_rnd() + -- correct population of P_NAME + -- removed unclaimed variants + -- added new queries 18-22, replaced Q13 +Changes as of 2/6/98 + -- version 1.3.1 + -- Revised 64 bit support to clean up bcd2_bin()and mk_sparse() + -- Add 64b support for NT +Changes as of 12/31/97 + -- version 1.3.0 + -- support for seed generation > 1TB (data gen still to be tested) + -- rework of 64b support + -- added bcd support for subtraction, comparison, modulo + -- added 1998 to the copyright notice + -- clarified comments in dists.dss + -- corrected substitution problem in Q11 + -- standardized fopen() error messages with OPEN_CHECK() + -- introduced PATH_SEP in config.h to allow changes in path separators +Changes as of 12/15/96 + -- version 1.2.0 + -- corrected typos in queries 8a, 8c, 8d, 11a, 12F and 14F, 17a + -- added variant 15c + -- defined MAX_SCALE and MIN_SCALE; issued error messages for SF > 1000 + since implementation is incomplete + -- seed file generation can now be resumed with dbgen -R ... + -- corrected slight compile bug under Solaris 2.5.1 + -- documented compile problems under SunOS +Changes as of 8/1/96 + -- version 1.1.0D + -- included new variants for queries 8 and 15 + -- re-introduced answer sets in the source tree +Changes as of 5/1/96 + -- version 1.1.0C + -- unified version numbering of DBGEN and QGEN + -- updated BUGS list + -- removed FAQ from soft appendix; web site will keep the current + version of the FAQ + -- added 1996 to the copyright notice + -- corrected bug in PR_DATE macro; NO CHANGE TO DATA SET + -- properly initialize param values for cleaner logging + -- adjusted output format of Q11 partam to allow scaling to 1TB + -- corrected typos in variant 14c + -- corrected data type for YEAR in variant 8c + -- corrected typos in variant 10a + -- added variant 8d +Changes as of 1/23/96 + -- qgen version 1.1.0B + -- include support for ANSI semantics + -- improved patch for seed sensetivity +Changes as of 1/23/96 + -- updated BUGS list + -- dbgen version 1.1.0A + -- patch to limit BCD2 fields to 12 characters for columnar output + -- qgen version 1.1.0A + -- patch to fix the "unknown flag" problem + -- patch to fix the seed sensetivity problem +Changes as of 12/19/95 + -- updated BUGS list + -- dbgen version 1.1.0 + -- upped default value of MAX_CHILDREN to 1000 + -- corrected naming of detail tables in incremental load + -- corrected range delete output + -- forced delete files to truncate existing files + -- removed fixed size tables from seed generation + -- corrected overflow problem with large scale seed generation + -- allow date generation as MM-DD-YY based on config.h #define + -- correct truncation problem with columnar output in PR_VSTR() + -- added support for Windows NT + -- added PLATFORM macro to makefile, removed platform defines from + config.h + -- removed MAX_CHILDREN define from config.h (set to 1000 in dss.h) + -- qgen version 1.1.0 + -- correct SET_OUTPUT macro to TDAT + -- use %ld in output for q17; portability + -- add support for SQLSERVER database dialect + -- add support for SYBASE database dialect + -- adjust parameter ranges for Q1, Q3, Q6 + -- add -T/-t option to usage summary + -- added support for Windows NT +Changes as of 09/01/95 + -- qgen version 1.0.1 + -- formalized version numbering + -- -p now generates correct query permutations + -- added separate verion number for qgen + -- corrected Q3 substitution problem + -- updated permissible range for Q10 + -- corrected rowcount_dflt and the MAX row indicator (-1) + -- expanded param logging to include all possible parameters + -- allowed qgen's -d option to be used at all scale factors + -- made parameter substitution permutation-independent + -- added qgen suppport for END_TRAN (-E) and DFLT_NUM (-N) + -- correct handling of :n directive + -- added more complete explanation of QGEN to README + -- rename of random to rndm, for portability + -- dbgen version 1.0.1 + -- formalized version numbering + -- inclusion of SF=1 seed file + -- correct typo in usage() update example + -- patch to driver.c to allow correct updates + -- documentation change to README to clarify seed/stage/update + intereaction + -- corrected minor glitch in "open failed" error msg in print.c + -- added missing line continuation to makefile.suite + -- seed files are now based on scale factor and number of generators + -- seed files now hold seeds for one "step" of a given build + -- clean up of parallel load routines + -- inclusion of faster seed generation routines from Susanne Englert + -- removed the -E(xisting) option + -- assure proper scaling of O_CUSTKEY + -- corrected default update percentage + -- proper handling of child tables with '-O f' + -- removed seed files from the distribution + -- modified rpb_routine() to limit contribution of partkey in + retailprice + -- added '-S(tep)' option to allow multi-stage loads + -- roll in of 32 bit speed_seed routines from Dick Shelton + -- miscelaneous typo corrections in the documentation + -- cleanup of usage output +Changes as of 05/08/95 + -- version 1.0 + -- add Teradata defines to tpcd.h for QGEN + -- add :c to query templates for database CONNECT syntax + -- add examples of DBGEN and QGEN usage to README + -- add -T option to qgen to allow time able usage + -- query template names only requre .sql suffix, rest is arbitrary +Changes as of 03/13/95 + -- version 9.1 + -- surround DBNAME with ifndef in config.h + -- remove -DDBNAME from makefile.suite + -- sync varchar handling with 9.1 draft +Changes as of 02/21/95 + -- version 9.0a + -- fixed bug in qgen that incorrectly included rnd.h + -- included revised DDL with changes for char/varchar and l_quantity + -- updated DBGEN help message to include new single table options for + order/lineitem and part/partsupp + -- included handling for multi-set seed files TPCDSEED.xxx + -- generated seeds up through 400GB; headed to 1TB! + -- ANSI lint cleanup; more needed + -- UF2 now defaults to key lists; use "-O r" to generate key ranges + also note, this routine this routine does NOT use the BCD2_* + routines. As a result, it WILL fail if the keys being deleted + exceed 32 bits. Since this would require ~660 update iterations, + this seems an acceptable oversight +Changes as of 01/19/95 + -- version 9.0 + -- allowed command line seeding of RNG for QGEN + -- order and number of params in QGEN now matches + presentation in spec + -- fixed bug in time table format of O_ORDERDATE + -- changed l_QUANTITY to FLOAT in dss.ddl + -- reworked QGEN options to be more useful + -- allowed creation of sparse keys beyond 32 bits (for 1TB) + -- removed unused '#ifdef' and associated code + -- allowed independent generation of master/detail tables + (eg, order/lineitem) +Changes as of 12/06/94 + -- version 8.6 + -- fixed renaming of flat files for child tables + -- various documentation fixes + -- added naming convention section to Porting.Notes + -- added -DIBM flag to config.h + -- synced up QGEN with draft 8.1 +Changes as of 10/25/94 + -- version 8.5a + -- corrected bug in columnar output of pr_supp + -- added pr_drange to generate a list of order keys to be + deleted instead of generating SQL + -- added '-O d' to generate range delete as SQL + -- updated default values for QGEN to sync with spec 8.1 + -- corrected MK_SPARSE to reflect groups of 8 + -- corrected a bug in o_orderstatus + -- regenerated seed files for SF in [1,10] + -- ANSI cleanup (primarily function declarations) +Changes as of 10/11/94 + -- version 8.5 + -- remove deletes/inserts to other than order/lineitem + -- increased cardinality for part.type part.container + -- '-r' argument is now integer; percentage in basis points + -- initial roll-in of new update scheme + -- added BBB comments to supplier table +Changes as of 9/27/94 + -- version 8.4 + -- all money calculations now use integer math. This should + bring everyone's data sets into exact aggreement. +Changes as of 9/21/94 + -- version 8.3b + -- fixed handling of MAX_STREAM + -- added floor function to RPRICE bridge + -- misc lint cleanup (type fixes, new prototypes, etc.) + -- MONEY format becomes lf for DOS + -- further cleanup of PR_VSTR and its length argument + -- change to parameter generation for Q6 to allow for float + discount +Changes as of 9/15/94 + -- version 8.3a + -- isolated MONEY format for Unisys (Lf) using DOS + -- make sure all arguments to MAKE_MONEY were double's + -- rolled in NEW_PTEXT to allow Berni to experiment +Changes as of 9/12/94 + -- version 8.3 + -- added -T n and -T r to usage to match getopt() and README + -- changed PR_MONEY to remove leading blanks + -- included revised DDL from Berni + -- included some MVS portability fixes in re malloc.h + -- cleaned up error messages in qgen and made #define ofp usage + universal + -- additional DOS portability changes + -- added {c,a}len to provide specific length for columnar + output of varchar + -- added PR_VSTR to handle varchar printing under MVS + -- fixed bit masking in a_rnd and cleaned up prototype match + with V_STR + -- PR_MONEY now used %Lf + -- added revised pseudo text under NEW_PTEXT ifdef for + experiments +Changes as of 9/09/94 + -- version 8.2 + -- l_discount and l_tax are now fractional (per teleconference) + -- money calculations moved to scaled integer math to clean up + answer sets + -- changed PR_FLT() to PR_MONEY to clarify usage + -- portability changes for SYBASE: dbname --> db_name + STATUS --> DBGEN_STATUS + -- added nations2 to dists.dss to handle qgen needs for now + -- reintroduced #ifndef DOS + -- reintroduced U2200 define to control kill_load() + -- broke out nation and region separately in -T option + -- updated dss.ddl based on mail from Berni +Changes as of 8/31/94 + -- version 8.1 + -- scaling for clerks needed to be 1000 (was 100) + -- added qgen parameter for scale + -- changed qgen parameter from s)tream to p)ermutation + -- synced qgen paramter values with 8.0 spec + -- corrected duplications in dists.dss +Changes as of 8/24/94 + -- version 8.0 + -- added sparse keys to lineitem/order + -- added varchar generation for comments/addresses + -- added variable lineitems/orders + -- removed ifdef for normalized code_tables + -- included code for parameter generation and template->EQT + routines + -- updated README and Porting.Notes to reflect QGEN + -- included DDL and RI examples from Berni +Changes as of 6/15/94 + -- version 7.0b (numbers now match spec revsion) + -- rework of code tables to properly map nation/region; when + compiled with -DCODE_TABLES distributions are taken from + code.dss and two additional fields are generated for + customers and suppliers, [cs]_ncode and [cs]_rcode, + immediately following [cs]_region + -- replaced ifdef's around DEAD_DATA with opposites. DEAD_DATA + is now the default + -- worked through code to see that it conformed to 7.0 + specification + -- adjusted scale factors/rowcounts for 1 GB == sf1 + -- brought help message in line with current code + -- fixed order per customer at 10 + -- make suppkey scalable in lineitem/partsupp +Changes as of 4/25/94 + -- version 1.5 + -- added the customers with no orders; Compile with -DDEAD_DATA + to activate the change. + -- added the code table for nation and region; + Compile with -DCODE_TABLES to activate the change. +Changes as of 3/17/94 + -- version 1.41 + -- completed implementation of JULIAN_DAY after talks with Berni + -- misc cleanup in usage/README files + -- removed all tabs and capped line length at 75 + -- added -n option to allowing naming of inline-loaded database +Changes as of 3/16/94 + -- version 1.4 + -- prottyped julian day/month for query re-write work. Compile + with -DJULIAN_DAY to enable + -- removed gen_times() from driver.c + -- added VMS ifdef to config.h to clean up fork/signal issues + -- added ICL ifdef to config.h to clean up getopt() issues + -- changed header file references to config.h from machine.h +Changes as of 3/2/94 + -- version 1.31 + -- corrected format of C_NAME to match S_NAME and O_CLERK + -- re-allowed fractional scale factors < 1 (updates not + contiguous) + -- added DSS_CONFIG environemnt variable + -- reworked read_dist() to look for DSS_DIST in DSS_CONFIG + -- updated the README file +Changes as of 2/16/94 + -- version 1.3 + -- added command line options for parallel load and data set + expansion + -- changed dists.dss delimiter to | for portability + -- limited scale factors to integer values + -- added command line option for seed file generation + -- added all seed files to distribution for SFs 1 - 10 + -- moved machine.h to config.h and added MAX_CHILDREN define + -- added 'f' flag to options to allow renaming of output files + -- added generation of SQL delete statements to match updates + (Note: updates are still single-threaded; -C is cleared + by -U) + -- corrected field sizing in dsstypes.h typedefs to match v 6.4 + -- update percentage default set to 1% +Changes as of 12/3/93 + -- version 1.2 + -- added command line option to adjust update percentage + -- fixed update gneration for proper primary key ordering + -- renamed UUSR/PRC to RUSSIA/CHINA in dists.dss + -- cleaned up phone number generation to be consistant regard- + less of order of evaluation + -- adjusted size of lineitem comment to bring data in line with + 100 MB == SF=1 +Changes as of 10/15/93 + -- added command line option for update data creation + -- miscelaneous porting and cleanup changes + -- reworked table generation to allow reuse for updates + -- added comment field to tdefs structure + -- added load_state and store_state to sync data gen and + update gen +Changes as of 7/26/93 + -- combined loader and header stubs in load_stubs.c + -- separated Revision History (this file) from README + -- simplified makefile + -- removed redundancies from colors distribution + -- added getopt() for portability + -- created Porting.Notes + -- adjusted scaling rules + -- added help option to the command line +Changes as of 2/26/93 + -- combined all typedefs in one header: dsstypes.h + -- combined flat file generation in print.ec + -- combined typedef population in build.ec + -- added -P to control rowcnt scaling (P for percentage) + -- added -D option for Direct data generation and added + appropriate hooks in tdefs[] structure + -- added -F option for flat file generation + -- reused -T option (use -P 0.1 to build test size database) + now accepts suboptions c,o,p,s for single table builds. + -- dropped -M option (scaling is now by rowcount) + -- added -O option for optional controls. Currently defined: + -O t -- generate optional time table a join fields in + order/lineitem + -O h -- generate headers for flat file output + -O m -- generate fixed column-length output + -- removed dynamic memory allocation, redundant calls to + UnifInt, etc to improve performance +Changes as of 1/12/92 + -- julian() changed to handle orders->orderdate correctly + -- rflag distributions corrected in dists.dss + -- sea, gold removed from color distribution to clean up substring + problems + -- part->number and supplier-> adjusted for 1-based indexing + -- time->day changed to be day of month, not day of year + -- t.week changed to be week in year, not day of week +Changes as of 11/18/92 + -- checked line length and tab for transmission + -- another chapter in the portability wars. added #include + "machine.h" to dss.h (which is included by everyone else). Any + machine particular porting changes should go here. + -- fixed fixed-field formats to prevent double printing + -- expanded PR_FLT formats to %010.2 +Changes as of 10/21/92 + -- added fixed format and column header handling; users of headers + will have to define the header functions to be called in + int (*tdefs.header)() +Changes as of 10/09/92: + -- added ansi prototypes and recompiled with gcc -ansi. users may + need to change the CC definition in the makefile and the contents + of CFLAGS to reflect their particular ansi compiler. + -- replaced all int references with long + -- replaced all float references with double + -- found and fixed odate/julian problem TS mentioned in 10/09 phone + call + +Changes as of 9/09/92: + -- Park/Miller random number generator included + -- clerk scaling changed to 100 * scale + -- parts.name always built from 5 selections from colors set + -- test scaling changed to ~60MB (TEST_SCALING == 10) + -- logarithmic scaling removed + -- mfgcost removed and retail/supplier cost bounds adjusted + -- agg_str memory leak fixed + -- independent RNG streams on a per column basis + +This is the revised data generator for DSS. + +The rewrite tried to accomplish three things: (1) identify and isolate +all the implicit assumptions about limits, bounds, ranges, distribu- +tions, etc.; (2) standardize the way any given table was generated/ +printed to ease understanding and maintenance; (3) bring the generator +in line with the current work of the committee and the excellent spec +the Indira put together; (4) provide an easy way to adjust distribu- +tions, string contents and to facilitate experimentation to get a +better idea of the impact of data population changes. + +The files included are: + +driver.c ------- main and the calling routines for the generators +dist.c ------- should really be named dss_util.c; misc routines +customer.c ------- generation and print routines for customer table +orders.c ------- "" "" order table +parts.c ------- "" "" parts/partsupp +suppliers.c ------- "" "" suppliers table +time.c ------- "" "" time table +customer.h ------- associate header files; contain structure + definitions +dss.h dss.h holds the large number of assumptions and +orders.h values that have been used as IFDEFs. +parts.h +suppliers.h +time.h +dists.dss ------- string selections and weights; used to build + distributions + +Running make will create an executable (using the compiler flags in +CFLAGS, the ld flags in LDFLAGS and the libraries in LIBS [-O, -s, +and -lm by default]) which will create flat files suitable for dbload. +t + diff --git a/tpch/00_compile_tpch/dbgen/PORTING.NOTES b/tpch/00_compile_tpch/dbgen/PORTING.NOTES new file mode 100644 index 0000000..2916d20 --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/PORTING.NOTES @@ -0,0 +1,220 @@ +# @(#)PORTING.NOTES 2.1.8.1 + +Table of Contents +================== +1. General Program Structure +2. Naming Conventions and Variable Usage +3. Porting Procedures +4. Compilation Options +5. Customizing QGEN +6. Further Enhancements +7. Known Porting Problems +8. Reporting Problems + +1. General Program Structure + +The code provided with TPC-H and TPC-R benchmarks includes a database +population generator (DBGEN) and a query template translator(QGEN). It +is written in ANSI-C, and is meant to be easily portable to a broad variety +of platforms. The program is composed of five source files and some +support and header files. The main modules are: + + build.c: each table in the database schema is represented by a + routine mk_XXXX, which populates a structure + representing one row in table XXXX. + See Also: dss_types.h, bm_utils.c, rnd.* + print.c: each table in the database schema is represented by a + routine pr_XXXX, which prints the contents of a + structure representing one row in table XXX. + See Also: dss_types.h, dss.h + driver.c: this module contains the main control functions for + DBGEN, including command line parsing, distribution + management, database scaling and the calls to mk_XXXX + and pr_XXXX for each table generated. + qgen.c: this module contains the main control functions for + QGEN, including query template parsing. + varsub.c: each query template includes one or more parameter + substitution points; this routine handles the + parameter generation for the TPC-H/TPC-R benchmark. + +The support utilities provide a generalized set of functions for data +generation and include: + + bm_utils.c: data type generators, string management and + portability routines. + + rnd.*: a general purpose random number generator used + throughout the code. + + dss.h: + shared.h: a set of '#defines' for limits, formats and fixed + values + dsstypes.h: structure definitions for each table definition + +2. Naming Conventions and Variable Usage + +Since DBGEN will be maintained by a large number of people, it is +particularly important to observe the coding, variable naming and usage +conventions detailed here. + + #define + -------- + All #define directives are found in header files (*.h). In general, + the header files segregate variables and macros as follows: + rnd.h -- anything exclusively referenced by rnd.c + dss.h -- general defines for the benchmark, including *all* + extern declarations (see below). + shared.h -- defines related to the tuple definitions in + dsstypes.h. Isolated to ease automatic processing needed by many + direct load routines (see below). + dsstypes.h -- structure definitons and typedef directives to + detail the contents of each table's tuples. + config.h -- any porting and configuration related defines should + go here, to localize the changes necessary to move the suite + from one machine to another. + tpcd.h -- defines related to QGEN, rather than DBGEN + + extern + ------ + DBGEN and QGEN make extensive use of extern declarations. This could + probably stand to be changed at some point, but has made the rapid + turnaround of prototypes easier. In order to be sure that each + declaration was matched by exactly one definition per executatble, + they are all declared as EXTERN, a macro dependent on DECLARER. In + any module that defines DECLARER, all variables declared EXTERN will + be defined as globals. DECLARER should be declared only in modules + containing a main() routine. + + Naming Conventions + ------------------ + defines + o All defines use upper case + o All defines use a table prefix, if appropriate: + O_* relates to orders table + L_* realtes to lineitem table + P_* realtes to part table + PS_* relates to partsupplier table + C_* realtes to customer table + S_* relates to supplier table + N_* relates to nation table + R_* realtes to region table + T_* relates to time table + o All defines have a usage prefix, if appropriate: + *_TAG environment variable name + *_DFLT environment variable default + *_MAX upper bound + *_MIN lower bound + *_LEN average length + *_SD random number seed (see rnd.*) + *_FMT printf format string + *_SCL divisor (for scaled arithmetic) + *_SIZE tuple length + +3. Porting Procedures + +The code provided should be easily portable to any machine providing an +ANSI C compiler. + -- Copy makefile.suite to makefile + -- Edit the makefile to match the name of your C compiler + and to include appropriate compilation options in the CFLAGS + definition + -- make. + +Special care should be taken in modifying any of the monetary calcu- +lations in DBGEN. These have proven to be particularly sensitive to +portability problems. If you decide to create the routines for inline +data load (see below), be sure to compare the resulting data to that +generated by a flat file data generation to be sure that all numeric +conversions have been correct. + +If the compile generates errors, refer to "Compilation Options", below. +The problem you are encountering may already have been addressed in the +code. + +If the compile is successful, but QGEN is not generating the appropriate +query syntax for your environment, refer to "Customizing QGEN", below. + +For other problems, refer to "Reporting Problems" at the end of this +document. + +4. Compilation Options + +config.h and makefile.suite contain a number of compile time options intended +to make the process of porting the code provided with TPC-H/TPC-R as easy as +possible on a broad range of platforms. Most ports should consist of reviewing +the possible settings described in config.h and modifying the makefile +to employ them appropriately. + +5. Customizing QGEN + +QGEN relies on a number of vendor-specific conventions to generate +appropriate query syntax. These are controlled by #defines in tpcd.h, +and enabled by a #define in config.h. If you find that the syntax +generated by QGEN is not sufficient for your environment you will need +to modify these to files. It is strongly recomended that you not change +the general organization of the files. + +Currently defined options are: + +VTAG -- marks a variable substitution point [:] +QDIR_TAG -- environent variable which points to query templates + [DSS_QUERY] +GEN_QUERY_PLAN -- syntax to generate a query plan ["Set Explain On;"] +START_TRAN -- syntax to begin a transaction ["Begin Work;"] +END_TRAN -- syntax to end a transaction ["Commit Work;"] +SET_OUTPUT -- syntax to redirect query output ["Output to"] +SET_ROWCOUNT -- syntax to set the number of rows returned + ["{return %d rows}"] +SET_DBASE -- syntax to connect to a database + +6. Further Enhancements + +load_stub.c provides entry points for two likely enhancements. + +The ld_XXXX routines make it possible to load the +database directly from DBGEN without first writing the database +population out to the filesystem. This may prove particularly useful +when loading larger database populations. Be particularly careful about +monetary amounts. To assure portability, all monetary calcualtion are +done using long integers (which hold money amounts as a number of +pennies). These will need to be scaled to dollars and cents (by dividing +by 100), before the values are presented to the DBMS. + +The hd_XXXX routines allow header information to be written before the +creation of the flat files. This should allow system which require +formatting information in database load files to use DBGEN with only +a small amount of custom code. + +qgen.c defines the translation table for query templates in the +routine qsub(). + +varsub.c defines the parameter substitutions in the routine varsub(). + +If you are porting DBGEN to a machine that is not supports a native word +size larger that 32 bits, you may wish to modify the default values for +BITS_PER_LONG and MAX_LONG. These values are used in the generation of +the sparse primary keys in the order and lineitem tables. The code has +been structured to run on any machine supporting a 32 bit long, but +may be slightly more efficient on machines that are able to make use of +a larger native type. + +7. Known Porting Problems + +The current codeline will not compile under SunOS 4.1. Solaris 2.4 and later +are supported, and anyone wishing to use DBGEN on a Sun platform is +encouraged to use one of these OS releases. + + +8. Reporting Problems + +The code provided with TPC-H/TPC-R has been written to be easily portable, +and has been tested on a wide variety of platforms, If you have any +trouble porting the code to your platform, please help us to correct +the problem in a later release by sending the following information +to the TPC D subcommittee: + + Computer Make and Model + Compiler Type and Revision Number + Brief Description of the problem + Suggested modification to correct the problem + diff --git a/tpch/00_compile_tpch/dbgen/README b/tpch/00_compile_tpch/dbgen/README new file mode 100644 index 0000000..90bb2e9 --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/README @@ -0,0 +1,436 @@ +# @(#)README 2.4.0 + +Table of Contents +=================== + 0. What is this document? + 1. What is DBGEN? + 2. What will DBGEN create? + 3. How is DBGEN built? + 4. Command Line Options for DBGEN + 5. Building Large Data Sets with DBGEN + 6. DBGEN limitations and compliant usage + 7. Sample DBGEN executions + 8. What is QGEN? + 9. What will QGEN create? +10. How is QGEN built? +11. Command Line Options for QGEN +12. Query Template Syntax +13. Sample QGEN executions and Query Templates +14. Environment variable +15. Version Numbering in DBGEN and QGEN +16. Validated Platforms + +0. What is this document? + +This is the general README file for DBGEN and QGEN, the data- +base population and executable query text generation programs +used in the TPC-H benchmark. It covers the proper use +of DBGEN and QGEN. For information on porting the utility to your +particular platform see Porting.Notes. + +1. What is DBGEN? + +DBGEN is a database population program for use with the TPC-H benchmark. +It is written in ANSI 'C' for portability, and has +been successfully ported to over a dozen different systems. While the +TPC-H specification allow an implementor to use any utility +to populate the benchmark database, the resultant population must exactly +match the output of DBGEN. The source code has been provided to make the +process of building a compliant database population as simple as possible. + +2. What will DBGEN create? + +Without any command line options, DBGEN will generate 8 separate ascii +files. Each file will contain pipe-delimited load data for one of the +tables defined in the TPC-H database schema. The default tables +will contain the load data required for a scale factor 1 database. By +default the file will be created in the current directory and be +named .tbl. As an example, customer.tbl will contain the +load data for the customer table. + +When invoked with the '-U' flag, DBGEN will create the data sets to be +used in the update functions and the SQL syntax required to delete the +data sets. The update files will be created in the same directory as +the load data files and will be named "u_
.set". The delete +syntax will be written to "delete.set". For instance, the data set to +be used in the third query set to update the lineitem table will be +named "u_lineitem.tbl.3", and the SQL to remove those rows will be +found in "delete.3". The size of the update files can be controlled +with the '-r' flag. + +3. How is DBGEN built? + +Create an appropriate makefile, using makefile.suite as a basis, +and type make. Refer to Porting.Notes for more details and for +suggested compile time options. + +4. Command Line Options for DBGEN + +DBGEN's output is controlled by a combination of command line options +and environment variables. Command line options are assumed to be single +letter flags preceded by a minus sign. They may be followed by an +optional argument. + +option argument default action +------ -------- ------- ------ +-h Display a usage summary + +-f none Force. Existing data files will be + overwritten. + +-F none yes Flat file output. + +-D none Direct database load. ld_XXXX() routines + must be defined in load_stub.c + +-s 1 Scale of the database population. Scale + 1.0 represents ~1 GB of data + +-T
Generate the data for a particular table + ONLY. Arguments: p -- part/partuspp, + c -- customer, s -- supplier, + o -- orders/lineitem, n -- nation, r -- region, + l -- code (same as n and r), + O -- orders, L -- lineitem, P -- part, + S -- partsupp + +-O d Generate SQL for delete function + instead of key ranges + +-O f Allow over-ride of default output file + names + +-O h Generate headers in flat ascii files. + hd_XXX routines must be defined in + load_stub.c + +-O m Flat files generate fixed length records + +-O r Generate key ranges for the UF2 update + function + +-O v Verify data set without generating it. + +-r 10 Scale each udpate file to the given + percentage (expressed in basis points) + of the data set + +-v none Verbose. Progress messages are + displayed as data is generated. + +-n Use database for in-line load + +-C Use separate processes to + generate data + +-S Generate the th part of a multi-part load + or update set + +-U Create a specified number of data sets + in flat files for the update/delete + functions + +-i Split the inserted rows in an refresh pair + between files + +-d Split the deleted rows in an refresh pair + between files + +5. DBGEN limitations and compliant usage + +DBGEN is meant to be a robust population generator for use with the +TPC-H benchmark. It is hoped that DBGEN will make it easier +to experiment with and become proficient in the execution of TPC decision +support benchmarks. As a result, it includes a number of command line +options which are not, strictly speaking, necessary to generate a compliant +data set for a TPC-D run. In addition, some command line options will accept +arguments which result in the generation of NON-COMPLIANT data sets. Options +which should be used with care include: + +-s -- scale factor. TPC-H runs are only compliant when run against SF's + of 1, 10, 100, 300, 1000, 3000, 10000, 30000, 100000 +-r -- refresh percentage. TPC-H runs are only compliant when run with + -r 10, the default. + +6. Sample DBGEN executions + +DBGEN has been built to allow as much flexibility as possible, but is +fundementally intended to generate two things: a database population +against which the queries in TPC-H can be run, and the updates +that are used during the update functions in TPC-H. Here are +some sample uses of DBGEN. + + 1. To generate the database population for the qualification database + dbgen -s 1 + 2. To generate the lineitem table only, for a scale factor 10 database, + and over-write any existing flat files: + dbgen -s 10 -f -T L + 4. To geterate a 100GB data set in 1GB pieces, generate only the part and + partsupplier tables, and include some progress reports along the way: + dbgen -s 100 -S 1 -C 100 -T p -v (to generate the first 1GB file) + dbgen -s 100 -S 2 -C 100 -T p -v (to generate the second 1GB file) + (and so on, incrementing the argument to -S each time) + 5. To generate the update files needed for a 4 stream run of the throughput + test at 100 GB, using an existing set of seed files from an 8 process + load: + dbgen -s 100 -U 4 -C 8 + + +7. What is QGEN? + +QGEN is a query generation program for use with the TPC-H benchmark. +It is written in ANSI 'C' for portability, and has been successfully +ported to over a dozen different systems. While the benchmark specifications +allow an implementor to use any utility to create the benchmark query +sets, QGEN has been provided to make the process of building +a benchmark implementation as simple as possible. + +8. What will QGEN create? + +QGEN is a filter, triggered by :'s. It does line-at-a-time reads of its +input (more on that later), scanning for :foo, where foo determines the +substitution that occurs. Including: + +: replace with the appropriate value for parameter +:b replace with START_TRAN (from tpcd.h) +:c replace with SET_DBASE (from tpcd.h) +:n replace with SET_ROWCOUNT() (from tpcd.h) +:o replace with SET_OUTPUT (from tpcd.h) +:q replace with query number +:s replace with stream number +:x replace with GEN_QUERY_PLAN (from tpcd.h) + +Qgen takes an assortment of command line options, controlling which of these +options should be active during the translation from template to EQT, and a +list of query "names". It then translates the template found in +$DSS_QUERY/.sql and puts the result of stdout. + +Here is a sample query template: + +{ Sccsid: @(#)1.sql 9.1.1.1 1/25/95 10:51:56 } +:n 0 +:o +select + l_returnflag, + l_linestatus, + sum(l_quantity) as sum_qty, + sum(l_extendedprice) as sum_base_price, + sum(l_extendedprice * (1 - l_discount)) as sum_disc_price, + sum(l_extendedprice * (1 - l_discount) * (1 + l_tax)) as sum_charge, + avg(l_quantity) as avg_qty, + avg(l_extendedprice) as avg_price, + avg(l_discount) as avg_disc, + count(*) as count_order +from lineitem +where l_shipdate <= date '1998-12-01' - interval :1 day +group by l_returnflag, l_linestatus +order by l_returnflag, l_linestatus; + +And here is what is generated: +$ qgen -d 1 + +{return 0 rows} + +select + l_returnflag, + l_linestatus, + sum(l_quantity) as sum_qty, + sum(l_extendedprice) as sum_base_price, + sum(l_extendedprice * (1 - l_discount)) as sum_disc_price, + sum(l_extendedprice * (1 - l_discount) * (1 + l_tax)) as sum_charge, + avg(l_quantity) as avg_qty, + avg(l_extendedprice) as avg_price, + avg(l_discount) as avg_disc, + count(*) as count_order +from lineitem +where l_shipdate <= date('1998-12-01') - interval (90) day to day +group by l_returnflag, l_linestatus +order by l_returnflag, l_linestatus; + +See "Query Template Syntax" below for more detail on converting your prefered query +phrasing for use with QGEN. + +9. How is QGEN built? + +QGEN is built by the same makefile that creates DBGEN. If the makefile +is successfully creating DBGEN, no further compilation modifications +should be necessary. You may need to modify some of the options which +allow QGEN to integrate with your preferred query tool. Refer to +Porting.Notes for more detail. + +10. Command Line Options for QGEN + +Like DBGEN, QGEN is controlled by a combination of command line options +and environment variables (See "Environment Variables", below for more +detail). Command line options are assumed to be single +letter flags preceded by a minus sign. They may be followed by an +optional argument. + +option argument default action +------ -------- ------- ------ +-c none Retain comments in translation of template to + EQT + +-d none Default. Use the parameter substitutions + required for query validation + +-h Display a usage summary + +-i Use contents of to init a query stream + +-l Save query parameters to + +-n Use database for queries + +-N Always use default rowcount, and ignore :n directives + +-o Save query n's output in /n. + Uses -p option, and uses :o tag + +-p Use the query permutation defined for + stream . If this option is + omited, EQT will be generated for the + queries named on the command line. + +-r Seed the rnadom number generator with + +-s Set scale to for parameter + substitutions. + +-t Use contents of to complete a query + stream + +-T none Use time table format for date substitution + +-v none Verbose. Progress messages are + displayed as data is generated. + +-x none Generate a query plan as part of query + execution. + +11. Query Template Syntax + +QGEN is a simple ASCII text filter, meant to translate query generalized +query syntax("query template") into the executable query text(EQT) re- +quired by the benchmarks. It provides a number of shorthands and syntactic +extensions that allow the automatic generation of query parameters and some +control over the operation of the benchmark implementation. + +QGEN first strips all comments from the query template, recognizing both +{comment} and --comment styles. Next it traverses the query template +one line at a time, locating required substitution points, called +parameter tags. The values substituted for a given tag are summarized +below. QGEN does not support nested substitutions. That is, if +the text substituted for tag itself contains a valid tag the second tag +will not be expanded. + +Tag Converted To Based on +=== ============ ======== +:c database ;(1) -n from the command line +:x set explain on;(1) -x from the command line +: paremeter +:s stream number +:o output to outpath/qnum.stream;(1) + -o from command line, -s from + command line +:b BEGIN WORK;(1) -a from comand line +:e COMMIT WORK(1) -a from command line +:q query number +:n sets rowcount to be returned + to , unless -N appears on the command line + +Notes: + (1) This is Informix-specific syntax. Refer to Porting.Notes for + tailoring the generated text to your database environment. + +12. Sample QGEN executions and Query Templates + +QGEN translates generic query templates into valid SQL. In addition, it +allows conditional inclusion of the commands necessary to connect to a +database, produce diagnostic output, etc. Here are some sample of QGEN +usage, and the way that command line parameters and the query templates +interact to produce valid SQL. + + Template, in $DSS_QUERY/1.sql: + :c + :o + select count(*) from foo; + :x + select count(*) from lineitem + where l_orderdate < ':1'; + + 1. "qgen 1", would produce: + select count(*) from foo; + select count(*) from lineitem + where l_orderdate < '1997-01-01'; + Assuming that 1 January 1997 was a valid substitution for parameter 1. + + 2. "qgen -d -c dss1 1, would produce: + database dss1; + select count(*) from foo; + select count(*) from lineitem + where l_orderdate < '1995-07-18'; + Assuming that 18 July 1995 was the default substitution for parameter 1, + and using Informix syntax. + + 3. "qgen -d -c dss1 -x -o somepath 1, would produce: + database dss1; + output to "somepath/1.0" + select count(*) from foo; + set explain on; + select count(*) from lineitem + where l_orderdate < '1995-07-18'; + Assuming that 18 July 1995 was the default substitution for parameter 1, + and using Informix syntax. + + +13. Environment Variables + +Enviroment variables are used to control features of DBGEN and QGEN +which are unlikely to change from one execution to another. + +Variable Default Action +------- ------- ------ +DSS_PATH . Directory in which to build flat files +DSS_CONFIG . Directory in which to find configuration files +DSS_DIST dists.dss Name of distribution definition file +DSS_QUERY . Directory in which to find query templates + +14. Version Numbering in DBGEN and QGEN + +DBGEN and QGEN use a common version numbering algorithm. Each executable +is stamped with a version number which is displayed in the usage messages +available with the '-h' option. A version number is of the form: + + V.R.P.M + | | | | + | | | | + | | | | + | | | -- modification: alphabetic, incremented for any trivial changes + | | | to the source (e.g, porting ifdef's) + | | ---- patch level: numeric, incremented for any minor bug fix + | | (e.g, qgen parameter range) + | ------- release: numeric, incremented for each minor revision of the + | specification + |-------- version: numeric, incremented for each major revision of the + specification + +An implementation of TPC-H is valid only if it conforms to the +following version usage rules: + + -- The Version of DBGEN and QGEN must match the integer portion of the + current specification revision + +15. The current revisions are: + DBGEN: 2.4.0 + QGEN: 2.4.0 + +16. Validated Platforms + The following platforms have been validated to produce the reference + data set for TPC-H 2.4.0 + Processor Operating System (version) Compiler (version) Compiler Flags + ---------------------------------------------------------------------------- + POWER5 AIX 64-bit (5.3) C for AIX Compiler, v7 -q64 (no -g) + IA-64 HPUX 64-bit () icc + Linux 32-bit () gcc + diff --git a/tpch/00_compile_tpch/dbgen/answers/q1.out b/tpch/00_compile_tpch/dbgen/answers/q1.out new file mode 100644 index 0000000..03ca993 --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/answers/q1.out @@ -0,0 +1,5 @@ +l|l|sum_qty |sum_base_price |sum_disc_price |sum_charge |avg_qty |avg_price |avg_disc |count_order +A|F|37734107.00|56586554400.73|53758257134.87|55909065222.83|25.52|38273.13|0.05| 1478493 +N|F|991417.00|1487504710.38|1413082168.05|1469649223.19|25.52|38284.47|0.05| 38854 +N|O|74476040.00|111701729697.74|106118230307.61|110367043872.50|25.50|38249.12|0.05| 2920374 +R|F|37719753.00|56568041380.90|53741292684.60|55889619119.83|25.51|38250.85|0.05| 1478870 diff --git a/tpch/00_compile_tpch/dbgen/answers/q10.out b/tpch/00_compile_tpch/dbgen/answers/q10.out new file mode 100644 index 0000000..95f3039 --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/answers/q10.out @@ -0,0 +1,21 @@ +c_custkey |c_name |revenue |c_acctbal |n_name |c_address |c_phone |c_comment + 57040|Customer#000057040 |734235.25|632.87|JAPAN |Eioyzjf4pp |22-895-641-3466|sits. slyly regular requests sleep alongside of the regular inst + 143347|Customer#000143347 |721002.69|2557.47|EGYPT |1aReFYv,Kw4 |14-742-935-3718|ggle carefully enticing requests. final deposits use bold, bold pinto beans. ironic, idle re + 60838|Customer#000060838 |679127.31|2454.77|BRAZIL |64EaJ5vMAHWJlBOxJklpNc2RJiWE |12-913-494-9813| need to boost against the slyly regular account + 101998|Customer#000101998 |637029.57|3790.89|UNITED KINGDOM |01c9CILnNtfOQYmZj |33-593-865-6378|ress foxes wake slyly after the bold excuses. ironic platelets are furiously carefully bold theodolites + 125341|Customer#000125341 |633508.09|4983.51|GERMANY |S29ODD6bceU8QSuuEJznkNaK |17-582-695-5962|arefully even depths. blithely even excuses sleep furiously. foxes use except the dependencies. ca + 25501|Customer#000025501 |620269.78|7725.04|ETHIOPIA | W556MXuoiaYCCZamJI,Rn0B4ACUGdkQ8DZ |15-874-808-6793|he pending instructions wake carefully at the pinto beans. regular, final instructions along the slyly fina + 115831|Customer#000115831 |596423.87|5098.10|FRANCE |rFeBbEEyk dl ne7zV5fDrmiq1oK09wV7pxqCgIc|16-715-386-3788|l somas sleep. furiously final deposits wake blithely regular pinto b + 84223|Customer#000084223 |594998.02|528.65|UNITED KINGDOM |nAVZCs6BaWap rrM27N 2qBnzc5WBauxbA |33-442-824-8191| slyly final deposits haggle regular, pending dependencies. pending escapades wake + 54289|Customer#000054289 |585603.39|5583.02|IRAN |vXCxoCsU0Bad5JQI ,oobkZ |20-834-292-4707|ely special foxes are quickly finally ironic p + 39922|Customer#000039922 |584878.11|7321.11|GERMANY |Zgy4s50l2GKN4pLDPBU8m342gIw6R |17-147-757-8036|y final requests. furiously final foxes cajole blithely special platelets. f + 6226|Customer#000006226 |576783.76|2230.09|UNITED KINGDOM |8gPu8,NPGkfyQQ0hcIYUGPIBWc,ybP5g, |33-657-701-3391|ending platelets along the express deposits cajole carefully final + 922|Customer#000000922 |576767.53|3869.25|GERMANY |Az9RFaut7NkPnc5zSD2PwHgVwr4jRzq |17-945-916-9648|luffily fluffy deposits. packages c + 147946|Customer#000147946 |576455.13|2030.13|ALGERIA |iANyZHjqhyy7Ajah0pTrYyhJ |10-886-956-3143|ithely ironic deposits haggle blithely ironic requests. quickly regu + 115640|Customer#000115640 |569341.19|6436.10|ARGENTINA |Vtgfia9qI 7EpHgecU1X |11-411-543-4901|ost slyly along the patterns; pinto be + 73606|Customer#000073606 |568656.86|1785.67|JAPAN |xuR0Tro5yChDfOCrjkd2ol |22-437-653-6966|he furiously regular ideas. slowly + 110246|Customer#000110246 |566842.98|7763.35|VIETNAM |7KzflgX MDOq7sOkI |31-943-426-9837|egular deposits serve blithely above the fl + 142549|Customer#000142549 |563537.24|5085.99|INDONESIA |ChqEoK43OysjdHbtKCp6dKqjNyvvi9 |19-955-562-2398|sleep pending courts. ironic deposits against the carefully unusual platelets cajole carefully express accounts. + 146149|Customer#000146149 |557254.99|1791.55|ROMANIA |s87fvzFQpU |29-744-164-6487| of the slyly silent accounts. quickly final accounts across the + 52528|Customer#000052528 |556397.35|551.79|ARGENTINA |NFztyTOR10UOJ |11-208-192-3205| deposits hinder. blithely pending asymptotes breach slyly regular re + 23431|Customer#000023431 |554269.54|3381.86|ROMANIA |HgiV0phqhaIa9aydNoIlb |29-915-458-2654|nusual, even instructions: furiously stealthy n diff --git a/tpch/00_compile_tpch/dbgen/answers/q11.out b/tpch/00_compile_tpch/dbgen/answers/q11.out new file mode 100644 index 0000000..f48a898 --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/answers/q11.out @@ -0,0 +1,1049 @@ +ps_partkey |value + 129760|17538456.86 + 166726|16503353.92 + 191287|16474801.97 + 161758|16101755.54 + 34452|15983844.72 + 139035|15907078.34 + 9403|15451755.62 + 154358|15212937.88 + 38823|15064802.86 + 85606|15053957.15 + 33354|14408297.40 + 154747|14407580.68 + 82865|14235489.78 + 76094|14094247.04 + 222|13937777.74 + 121271|13908336.00 + 55221|13716120.47 + 22819|13666434.28 + 76281|13646853.68 + 85298|13581154.93 + 85158|13554904.00 + 139684|13535538.72 + 31034|13498025.25 + 87305|13482847.04 + 10181|13445148.75 + 62323|13411824.30 + 26489|13377256.38 + 96493|13339057.83 + 56548|13329014.97 + 55576|13306843.35 + 159751|13306614.48 + 92406|13287414.50 + 182636|13223726.74 + 199969|13135288.21 + 62865|13001926.94 + 7284|12945298.19 + 197867|12944510.52 + 11562|12931575.51 + 75165|12916918.12 + 97175|12911283.50 + 140840|12896562.23 + 65241|12890600.46 + 166120|12876927.22 + 9035|12863828.70 + 144616|12853549.30 + 176723|12832309.74 + 170884|12792136.58 + 29790|12723300.33 + 95213|12555483.73 + 183873|12550533.05 + 171235|12476538.30 + 21533|12437821.32 + 17290|12432159.50 + 156397|12260623.50 + 122611|12222812.98 + 139155|12220319.25 + 146316|12215800.61 + 171381|12199734.52 + 198633|12078226.95 + 167417|12046637.62 + 59512|12043468.76 + 31688|12034893.64 + 159586|12001505.84 + 8993|11963814.30 + 120302|11857707.55 + 43536|11779340.52 + 9552|11776909.16 + 86223|11772205.08 + 53776|11758669.65 + 131285|11616953.74 + 91628|11611114.83 + 169644|11567959.72 + 182299|11567462.05 + 33107|11453818.76 + 104184|11436657.44 + 67027|11419127.14 + 176869|11371451.71 + 30885|11369674.79 + 54420|11345076.88 + 72240|11313951.05 + 178708|11294635.17 + 81298|11273686.13 + 158324|11243442.72 + 117095|11242535.24 + 176793|11237733.38 + 86091|11177793.79 + 116033|11145434.36 + 129058|11119112.20 + 193714|11104706.39 + 117195|11077217.96 + 49851|11043701.78 + 19791|11030662.62 + 75800|11012401.62 + 161562|10996371.69 + 10119|10980015.75 + 39185|10970042.56 + 47223|10950022.13 + 175594|10942923.05 + 111295|10893675.61 + 155446|10852764.57 + 156391|10839810.38 + 40884|10837234.19 + 141288|10837130.21 + 152388|10830977.82 + 33449|10830858.72 + 149035|10826130.02 + 162620|10814275.68 + 118324|10791788.10 + 38932|10777541.75 + 121294|10764225.22 + 48721|10762582.49 + 63342|10740132.60 + 5614|10724668.80 + 62266|10711143.10 + 100202|10696675.55 + 197741|10688560.72 + 169178|10648522.80 + 5271|10639392.65 + 34499|10584177.10 + 71108|10569117.56 + 137132|10539880.47 + 78451|10524873.24 + 150827|10503810.48 + 107237|10488030.84 + 101727|10473558.10 + 58708|10466280.44 + 89768|10465477.22 + 146493|10444291.58 + 55424|10444006.48 + 16560|10425574.74 + 133114|10415097.90 + 195810|10413625.20 + 76673|10391977.18 + 97305|10390890.57 + 134210|10387210.02 + 188536|10386529.92 + 122255|10335760.32 + 2682|10312966.10 + 43814|10303086.61 + 34767|10290405.18 + 165584|10273705.89 + 2231|10270415.55 + 111259|10263256.56 + 195578|10239795.82 + 21093|10217531.30 + 29856|10216932.54 + 133686|10213345.76 + 87745|10185509.40 + 135153|10179379.70 + 11773|10167410.84 + 76316|10165151.70 + 123076|10161225.78 + 91894|10130462.19 + 39741|10128387.52 + 111753|10119780.98 + 142729|10104748.89 + 116775|10097750.42 + 102589|10034784.36 + 186268|10012181.57 + 44545|10000286.48 + 23307|9966577.50 + 124281|9930018.90 + 69604|9925730.64 + 21971|9908982.03 + 58148|9895894.40 + 16532|9886529.90 + 159180|9883744.43 + 74733|9877582.88 + 35173|9858275.92 + 7116|9856881.02 + 124620|9838589.14 + 122108|9829949.35 + 67200|9828690.69 + 164775|9821424.44 + 9039|9816447.72 + 14912|9803102.20 + 190906|9791315.70 + 130398|9781674.27 + 119310|9776927.21 + 10132|9770930.78 + 107211|9757586.25 + 113958|9757065.50 + 37009|9748362.69 + 66746|9743528.76 + 134486|9731922.00 + 15945|9731096.45 + 55307|9717745.80 + 56362|9714922.83 + 57726|9711792.10 + 57256|9708621.00 + 112292|9701653.08 + 87514|9699492.53 + 174206|9680562.02 + 72865|9679043.34 + 114357|9671017.44 + 112807|9665019.21 + 115203|9661018.73 + 177454|9658906.35 + 161275|9634313.71 + 61893|9617095.44 + 122219|9604888.20 + 183427|9601362.58 + 59158|9599705.96 + 61931|9584918.98 + 5532|9579964.14 + 20158|9576714.38 + 167199|9557413.08 + 38869|9550279.53 + 86949|9541943.70 + 198544|9538613.92 + 193762|9538238.94 + 108807|9536247.16 + 168324|9535647.99 + 115588|9532195.04 + 141372|9529702.14 + 175120|9526068.66 + 163851|9522808.83 + 160954|9520359.45 + 117757|9517882.80 + 52594|9508325.76 + 60960|9498843.06 + 70272|9495775.62 + 44050|9495515.36 + 152213|9494756.96 + 121203|9492601.30 + 70114|9491012.30 + 167588|9484741.11 + 136455|9476241.78 + 4357|9464355.64 + 6786|9463632.57 + 61345|9455336.70 + 160826|9446754.84 + 71275|9440138.40 + 77746|9439118.35 + 91289|9437472.00 + 56723|9435102.16 + 86647|9434604.18 + 131234|9432120.00 + 198129|9427651.36 + 165530|9426193.68 + 69233|9425053.92 + 6243|9423304.66 + 90110|9420422.70 + 191980|9419368.36 + 38461|9419316.07 + 167873|9419024.49 + 159373|9416950.15 + 128707|9413428.50 + 45267|9410863.78 + 48460|9409793.93 + 197672|9406887.68 + 60884|9403442.40 + 15209|9403245.31 + 138049|9401262.10 + 199286|9391770.70 + 19629|9391236.40 + 134019|9390615.15 + 169475|9387639.58 + 165918|9379510.44 + 135602|9374251.54 + 162323|9367566.51 + 96277|9360850.68 + 98336|9359671.29 + 119781|9356395.73 + 34440|9355365.00 + 57362|9355180.10 + 167236|9352973.84 + 38463|9347530.94 + 86749|9346826.44 + 170007|9345699.90 + 193087|9343744.00 + 150383|9332576.75 + 60932|9329582.02 + 128420|9328206.35 + 162145|9327722.88 + 55686|9320304.40 + 163080|9304916.96 + 160583|9303515.92 + 118153|9298606.56 + 152634|9282184.57 + 84731|9276586.92 + 119989|9273814.20 + 114584|9269698.65 + 131817|9268570.08 + 29068|9256583.88 + 44116|9255922.00 + 115818|9253311.91 + 103388|9239218.08 + 186118|9236209.12 + 155809|9235410.84 + 147003|9234847.99 + 27769|9232511.64 + 112779|9231927.36 + 124851|9228982.68 + 158488|9227216.40 + 83328|9224792.20 + 136797|9222927.09 + 141730|9216370.68 + 87304|9215695.50 + 156004|9215557.90 + 140740|9215329.20 + 100648|9212185.08 + 174774|9211718.00 + 37644|9211578.60 + 48807|9209496.24 + 95940|9207948.40 + 141586|9206699.22 + 147248|9205654.95 + 61372|9205228.76 + 52970|9204415.95 + 26430|9203710.51 + 28504|9201669.20 + 25810|9198878.50 + 125329|9198688.50 + 167867|9194022.72 + 134767|9191444.72 + 127745|9191271.56 + 69208|9187110.00 + 155222|9186469.16 + 196916|9182995.82 + 195590|9176353.12 + 169155|9175176.09 + 81558|9171946.50 + 185136|9171293.04 + 114790|9168509.10 + 194142|9165836.61 + 167639|9161165.00 + 11241|9160789.46 + 82628|9160155.54 + 41399|9148338.00 + 30755|9146196.84 + 6944|9143574.58 + 6326|9138803.16 + 101296|9135657.62 + 181479|9121093.30 + 76898|9120983.10 + 64274|9118745.25 + 175826|9117387.99 + 142215|9116876.88 + 103415|9113128.62 + 119765|9110768.79 + 107624|9108837.45 + 84215|9105257.36 + 73774|9102651.92 + 173972|9102069.00 + 69817|9095513.88 + 86943|9092253.00 + 138859|9087719.30 + 162273|9085296.48 + 175945|9080401.21 + 16836|9075715.44 + 70224|9075265.95 + 139765|9074755.89 + 30319|9073233.10 + 3851|9072657.24 + 181271|9070631.52 + 162184|9068835.78 + 81683|9067258.47 + 153028|9067010.51 + 123324|9061870.95 + 186481|9058608.30 + 167680|9052908.76 + 165293|9050545.70 + 122148|9046298.17 + 138604|9045840.80 + 78851|9044822.60 + 137280|9042355.34 + 8823|9040855.10 + 163900|9040848.48 + 75600|9035392.45 + 81676|9031999.40 + 46033|9031460.58 + 194917|9028500.00 + 133936|9026949.02 + 33182|9024971.10 + 34220|9021485.39 + 20118|9019942.60 + 178258|9019881.66 + 15560|9017687.28 + 111425|9016198.56 + 95942|9015585.12 + 132709|9015240.15 + 39731|9014746.95 + 154307|9012571.20 + 23769|9008157.60 + 93328|9007211.20 + 142826|8998297.44 + 188792|8996014.00 + 68703|8994982.22 + 145280|8990941.05 + 150725|8985686.16 + 172046|8982469.52 + 70476|8967629.50 + 124988|8966805.22 + 17937|8963319.76 + 177372|8954873.64 + 137994|8950916.79 + 84019|8950039.98 + 40389|8946158.20 + 69187|8941054.14 + 4863|8939044.92 + 50465|8930503.14 + 43686|8915543.84 + 131352|8909053.59 + 198916|8906940.03 + 135932|8905282.95 + 104673|8903682.00 + 152308|8903244.08 + 135298|8900323.20 + 156873|8899429.10 + 157454|8897339.20 + 75415|8897068.09 + 46325|8895569.09 + 1966|8895117.06 + 24576|8895034.75 + 19425|8890156.60 + 169735|8890085.56 + 32225|8889829.28 + 124537|8889770.71 + 146327|8887836.23 + 121562|8887740.40 + 44731|8882444.95 + 93141|8881850.88 + 187871|8873506.18 + 71709|8873057.28 + 151913|8869321.17 + 33786|8868955.39 + 35902|8868126.06 + 23588|8867769.90 + 24508|8867616.00 + 161282|8866661.43 + 188061|8862304.00 + 132847|8862082.00 + 166843|8861200.80 + 30609|8860214.73 + 56191|8856546.96 + 160740|8852685.43 + 71229|8846106.99 + 91208|8845541.28 + 10995|8845306.56 + 78094|8839938.29 + 36489|8838538.10 + 198437|8836494.84 + 151693|8833807.64 + 185367|8829791.37 + 65682|8820622.89 + 65421|8819329.24 + 122225|8816821.86 + 85330|8811013.16 + 64555|8810643.12 + 104188|8808211.02 + 54411|8805703.40 + 39438|8805282.56 + 70795|8800060.92 + 20383|8799073.28 + 21952|8798624.19 + 63584|8796590.00 + 158768|8796422.95 + 166588|8796214.38 + 120600|8793558.06 + 157202|8788287.88 + 55358|8786820.75 + 168322|8786670.73 + 25143|8786324.80 + 5368|8786274.14 + 114025|8786201.12 + 97744|8785315.94 + 164327|8784503.86 + 76542|8782613.28 + 4731|8772846.70 + 157590|8772006.45 + 154276|8771733.91 + 28705|8771576.64 + 100226|8769455.00 + 179195|8769185.16 + 184355|8768118.05 + 120408|8768011.12 + 63145|8761991.96 + 53135|8753491.80 + 173071|8750508.80 + 41087|8749436.79 + 194830|8747438.40 + 43496|8743359.30 + 30235|8741611.00 + 26391|8741399.64 + 191816|8740258.72 + 47616|8737229.68 + 152101|8734432.76 + 163784|8730514.34 + 5134|8728424.64 + 155241|8725429.86 + 188814|8724182.40 + 140782|8720378.75 + 153141|8719407.51 + 169373|8718609.06 + 41335|8714773.80 + 197450|8714617.32 + 87004|8714017.79 + 181804|8712257.76 + 122814|8711119.14 + 109939|8709193.16 + 98094|8708780.04 + 74630|8708040.75 + 197291|8706519.09 + 184173|8705467.45 + 192175|8705411.12 + 19471|8702536.12 + 18052|8702155.70 + 135560|8698137.72 + 152791|8697325.80 + 170953|8696909.19 + 116137|8696687.17 + 7722|8696589.40 + 49788|8694846.71 + 13252|8694822.42 + 12633|8694559.36 + 193438|8690426.72 + 17326|8689329.16 + 96124|8679794.58 + 143802|8676626.48 + 30389|8675826.60 + 75250|8675257.14 + 72613|8673524.94 + 123520|8672456.25 + 325|8667741.28 + 167291|8667556.18 + 150119|8663403.54 + 88420|8663355.40 + 179784|8653021.34 + 130884|8651970.00 + 172611|8648217.00 + 85373|8647796.22 + 122717|8646758.54 + 113431|8646348.34 + 66015|8643349.40 + 33141|8643243.18 + 69786|8637396.92 + 181857|8637393.28 + 122939|8636378.00 + 196223|8635391.02 + 50532|8632648.24 + 58102|8632614.54 + 93581|8632372.36 + 52804|8632109.25 + 755|8627091.68 + 16597|8623357.05 + 119041|8622397.00 + 89050|8621185.98 + 98696|8620784.82 + 94399|8620524.00 + 151295|8616671.02 + 56417|8613450.35 + 121322|8612948.23 + 126883|8611373.42 + 29155|8610163.64 + 114530|8608471.74 + 131007|8607394.82 + 128715|8606833.62 + 72522|8601479.98 + 144061|8595718.74 + 83503|8595034.20 + 112199|8590717.44 + 9227|8587350.42 + 116318|8585910.66 + 41248|8585559.64 + 159398|8584821.00 + 105966|8582308.79 + 137876|8580641.30 + 122272|8580400.77 + 195717|8577278.10 + 165295|8571121.92 + 5840|8570728.74 + 120860|8570610.44 + 66692|8567540.52 + 135596|8563276.31 + 150576|8562794.10 + 7500|8562393.84 + 107716|8561541.56 + 100611|8559995.85 + 171192|8557390.08 + 107660|8556696.60 + 13461|8556545.12 + 90310|8555131.51 + 141493|8553782.93 + 71286|8552682.00 + 136423|8551300.76 + 54241|8550785.25 + 120325|8549976.60 + 424|8547527.10 + 196543|8545907.09 + 13042|8542717.18 + 58332|8536074.69 + 9191|8535663.92 + 134357|8535429.90 + 96207|8534900.60 + 92292|8530618.78 + 181093|8528303.52 + 105064|8527491.60 + 59635|8526854.08 + 136974|8524351.56 + 126694|8522783.37 + 6247|8522606.90 + 139447|8522521.92 + 96313|8520949.92 + 108454|8520916.25 + 181254|8519496.10 + 71117|8519223.00 + 131703|8517215.28 + 59312|8510568.36 + 2903|8509960.35 + 102838|8509527.69 + 162806|8508906.05 + 41527|8508222.36 + 118416|8505858.36 + 180203|8505024.16 + 14773|8500598.28 + 140446|8499514.24 + 199641|8497362.59 + 109240|8494617.12 + 150268|8494188.38 + 45310|8492380.65 + 36552|8490733.60 + 199690|8490145.80 + 185353|8488726.68 + 163615|8484985.01 + 196520|8483545.04 + 133438|8483482.35 + 77285|8481442.32 + 55824|8476893.90 + 76753|8475522.12 + 46129|8472717.96 + 28358|8472515.50 + 9317|8472145.32 + 33823|8469721.44 + 39055|8469145.07 + 91471|8468874.56 + 142299|8466039.55 + 97672|8464119.80 + 134712|8461781.79 + 157988|8460123.20 + 102284|8458652.44 + 73533|8458453.32 + 90599|8457874.86 + 112160|8457863.36 + 124792|8457633.70 + 66097|8457573.15 + 165271|8456969.01 + 146925|8454887.91 + 164277|8454838.50 + 131290|8454811.20 + 179386|8450909.90 + 90486|8447873.86 + 175924|8444421.66 + 185922|8442394.88 + 38492|8436438.32 + 172511|8436287.34 + 139539|8434180.29 + 11926|8433199.52 + 55889|8431449.88 + 163068|8431116.40 + 138772|8428406.36 + 126821|8425180.68 + 22091|8420687.88 + 55981|8419434.38 + 100960|8419403.46 + 172568|8417955.21 + 63135|8415945.53 + 137651|8413170.35 + 191353|8413039.84 + 62988|8411571.48 + 103417|8411541.12 + 12052|8411519.28 + 104260|8408516.55 + 157129|8405730.08 + 77254|8405537.22 + 112966|8403512.89 + 168114|8402764.56 + 49940|8402328.20 + 52017|8398753.60 + 176179|8398087.00 + 100215|8395906.61 + 61256|8392811.20 + 15366|8388907.80 + 109479|8388027.20 + 66202|8386522.83 + 81707|8385761.19 + 51727|8385426.40 + 9980|8382754.62 + 174403|8378575.73 + 54558|8378041.92 + 3141|8377378.22 + 134829|8377105.52 + 145056|8376920.76 + 194020|8375157.64 + 7117|8373982.27 + 120146|8373796.20 + 126843|8370761.28 + 62117|8369493.44 + 111221|8367525.81 + 159337|8366092.26 + 173903|8365428.48 + 136438|8364065.45 + 56684|8363198.00 + 137597|8363185.94 + 20039|8361138.24 + 121326|8359635.52 + 48435|8352863.10 + 1712|8349107.00 + 167190|8347238.70 + 32113|8346452.04 + 40580|8342983.32 + 74785|8342519.13 + 14799|8342236.75 + 177291|8341736.83 + 198956|8340370.65 + 69179|8338465.99 + 118764|8337616.56 + 128814|8336435.56 + 82729|8331766.88 + 152048|8330638.99 + 171085|8326259.50 + 126730|8325974.40 + 77525|8323282.50 + 170653|8322840.50 + 5257|8320350.78 + 67350|8318987.56 + 109008|8317836.54 + 199043|8316603.54 + 139969|8316551.54 + 22634|8316531.24 + 173309|8315750.25 + 10887|8315019.36 + 42392|8312895.96 + 126040|8312623.20 + 101590|8304555.42 + 46891|8302192.12 + 138721|8301745.62 + 113715|8301533.20 + 78778|8299685.64 + 142908|8299447.77 + 64419|8297631.80 + 21396|8296272.27 + 4180|8295646.92 + 63534|8295383.67 + 135957|8294389.86 + 30126|8291920.32 + 158427|8288938.00 + 14545|8288395.92 + 75548|8288287.20 + 64473|8286137.44 + 149553|8285714.88 + 151284|8283526.65 + 171091|8282934.36 + 194256|8278985.34 + 952|8276136.00 + 121541|8275390.26 + 177664|8275315.20 + 51117|8274504.30 + 66770|8273407.80 + 37238|8272728.06 + 46679|8270486.55 + 165852|8268312.60 + 99458|8266564.47 + 114519|8265493.54 + 7231|8264881.50 + 19033|8264826.56 + 125123|8262732.65 + 18642|8261578.99 + 50386|8261380.05 + 193770|8259578.82 + 7276|8258101.60 + 178045|8253904.15 + 49033|8253696.23 + 187195|8251334.58 + 10590|8249227.40 + 143779|8247057.70 + 35205|8245675.17 + 19729|8245081.60 + 144946|8240479.80 + 123786|8239581.24 + 70843|8237973.20 + 112437|8236907.52 + 5436|8236039.57 + 163754|8235471.16 + 115945|8234811.36 + 27918|8233957.88 + 105712|8233571.86 + 41007|8229431.79 + 40476|8226640.41 + 145620|8221371.60 + 7771|8220413.33 + 86424|8215572.61 + 129137|8215478.40 + 76020|8210495.36 + 140213|8209831.80 + 32379|8208338.88 + 130616|8207715.75 + 195469|8206609.80 + 191805|8205147.75 + 90906|8200951.20 + 170910|8195558.01 + 105399|8193122.63 + 123798|8192385.97 + 90218|8191689.16 + 114766|8189339.54 + 11289|8187354.72 + 178308|8185750.50 + 71271|8185519.24 + 1115|8184903.38 + 152636|8184530.72 + 151619|8182909.05 + 116943|8181072.69 + 28891|8181051.54 + 47049|8180955.00 + 158827|8180470.90 + 92620|8179671.55 + 20814|8176953.54 + 179323|8176795.55 + 193453|8174343.94 + 56888|8173342.00 + 28087|8169876.30 + 164254|8169632.35 + 57661|8168848.16 + 7363|8167538.05 + 164499|8167512.08 + 197557|8165940.45 + 5495|8164805.22 + 966|8163824.79 + 98435|8161771.45 + 127227|8161344.92 + 194100|8160978.78 + 40134|8160358.08 + 107341|8159952.05 + 6790|8158792.66 + 43851|8157101.40 + 51295|8156419.20 + 69512|8151537.00 + 164274|8149869.93 + 130854|8145338.85 + 186865|8143586.82 + 176629|8141411.20 + 193739|8141377.77 + 6810|8139822.60 + 27732|8136724.96 + 50616|8134089.82 + 123908|8128920.54 + 140994|8128470.82 + 99039|8128290.78 + 62735|8124940.50 + 47829|8122796.50 + 192635|8122687.57 + 192429|8119268.00 + 145812|8119165.63 + 42896|8118529.80 + 146877|8118266.16 + 60882|8116095.04 + 18254|8114783.04 + 165464|8114571.80 + 57936|8111927.25 + 52226|8110723.32 + 128571|8106788.80 + 100308|8105837.04 + 8872|8102395.62 + 58867|8102033.19 + 145153|8100222.84 + 172088|8098138.20 + 59398|8095845.45 + 89395|8093576.10 + 171961|8093538.00 + 88736|8090762.16 + 174053|8090350.11 + 102237|8089103.22 + 43041|8086537.90 + 110219|8085296.90 + 126738|8084199.20 + 44787|8083628.40 + 31277|8083580.76 + 93595|8082188.80 + 189040|8080257.21 + 59851|8079024.24 + 175100|8077904.01 + 43429|8076729.96 + 154199|8074940.76 + 60963|8073894.40 + 8768|8072760.96 + 66095|8071421.70 + 111552|8068184.48 + 24563|8067500.40 + 16167|8067495.24 + 12662|8067248.85 + 94540|8063727.16 + 23308|8063463.18 + 27390|8062823.25 + 130660|8062787.48 + 8608|8062411.16 + 181552|8062008.30 + 199319|8060248.56 + 55475|8058850.92 + 142711|8057926.58 + 103499|8056978.00 + 105943|8056698.75 + 8432|8053052.16 + 149392|8049675.69 + 101248|8048855.49 + 140962|8047260.70 + 87101|8046651.83 + 133107|8046476.73 + 45126|8045924.40 + 87508|8042966.39 + 124711|8042722.72 + 173169|8042224.41 + 175161|8041331.98 + 167787|8040075.78 + 3242|8038855.53 + 114789|8038628.35 + 43833|8038545.83 + 141198|8035110.72 + 137248|8034109.35 + 96673|8033491.20 + 32180|8032380.72 + 166493|8031902.40 + 66959|8031839.40 + 85628|8029693.44 + 110971|8029469.70 + 130395|8027463.92 + 7757|8026840.37 + 178446|8025379.09 + 41295|8024785.53 + 100956|8024179.30 + 131917|8021604.78 + 24224|8020463.52 + 2073|8020009.64 + 121622|8018462.17 + 14357|8016906.30 + 135601|8016209.44 + 58458|8016192.52 + 73036|8015799.00 + 184722|8015680.31 + 151664|8014821.96 + 195090|8012680.20 + 162609|8011241.00 + 83532|8009753.85 + 50166|8007137.89 + 181562|8006805.96 + 175165|8005319.76 + 62500|8005316.28 + 36342|8004333.40 + 128435|8004242.88 + 92516|8003836.80 + 30802|8003710.88 + 107418|8000430.30 + 46620|7999778.35 + 191803|7994734.15 + 106343|7993087.76 + 59362|7990397.46 + 8329|7990052.90 + 75133|7988244.00 + 179023|7986829.62 + 135899|7985726.64 + 5824|7985340.02 + 148579|7984889.56 + 95888|7984735.72 + 9791|7982699.79 + 170437|7982370.72 + 39782|7977858.24 + 20605|7977556.00 + 28682|7976960.00 + 42172|7973399.00 + 56137|7971405.40 + 64729|7970769.72 + 98643|7968603.73 + 153787|7967535.58 + 8932|7967222.19 + 20134|7965713.28 + 197635|7963507.58 + 80408|7963312.17 + 37728|7961875.68 + 26624|7961772.31 + 44736|7961144.10 + 29763|7960605.03 + 36147|7959463.68 + 146040|7957587.66 + 115469|7957485.14 + 142276|7956790.63 + 181280|7954037.35 + 115096|7953047.55 + 109650|7952258.73 + 93862|7951992.24 + 158325|7950728.30 + 55952|7950387.06 + 122397|7947106.27 + 28114|7946945.72 + 11966|7945197.48 + 47814|7944083.00 + 85096|7943691.06 + 51657|7943593.77 + 196680|7943578.89 + 13141|7942730.34 + 193327|7941036.25 + 152612|7940663.71 + 139680|7939242.36 + 31134|7938318.30 + 45636|7937240.85 + 56694|7936015.95 + 8114|7933921.88 + 71518|7932261.69 + 72922|7930400.64 + 146699|7929167.40 + 92387|7928972.67 + 186289|7928786.19 + 95952|7927972.78 + 196514|7927180.70 + 4403|7925729.04 + 2267|7925649.37 + 45924|7925047.68 + 11493|7916722.23 + 104478|7916253.60 + 166794|7913842.00 + 161995|7910874.27 + 23538|7909752.06 + 41093|7909579.92 + 112073|7908617.57 + 92814|7908262.50 + 88919|7907992.50 + 79753|7907933.88 + 108765|7905338.98 + 146530|7905336.60 + 71475|7903367.58 + 36289|7901946.50 + 61739|7900794.00 + 52338|7898638.08 + 194299|7898421.24 + 105235|7897829.94 + 77207|7897752.72 + 96712|7897575.27 + 10157|7897046.25 + 171154|7896814.50 + 79373|7896186.00 + 113808|7893353.88 + 27901|7892952.00 + 128820|7892882.72 + 25891|7890511.20 + 122819|7888881.02 + 154731|7888301.33 + 101674|7879324.60 + 51968|7879102.21 + 72073|7877736.11 + 5182|7874521.73 diff --git a/tpch/00_compile_tpch/dbgen/answers/q12.out b/tpch/00_compile_tpch/dbgen/answers/q12.out new file mode 100644 index 0000000..752fbae --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/answers/q12.out @@ -0,0 +1,3 @@ +l_shipmode|high_line_count |low_line_count +MAIL | 6202| 9324 +SHIP | 6200| 9262 diff --git a/tpch/00_compile_tpch/dbgen/answers/q13.out b/tpch/00_compile_tpch/dbgen/answers/q13.out new file mode 100644 index 0000000..deecc0d --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/answers/q13.out @@ -0,0 +1,43 @@ +c_count |custdist + 0| 50005 + 9| 6641 + 10| 6532 + 11| 6014 + 8| 5937 + 12| 5639 + 13| 5024 + 19| 4793 + 7| 4687 + 17| 4587 + 18| 4529 + 20| 4516 + 15| 4505 + 14| 4446 + 16| 4273 + 21| 4190 + 22| 3623 + 6| 3265 + 23| 3225 + 24| 2742 + 25| 2086 + 5| 1948 + 26| 1612 + 27| 1179 + 4| 1007 + 28| 893 + 29| 593 + 3| 415 + 30| 376 + 31| 226 + 32| 148 + 2| 134 + 33| 75 + 34| 50 + 35| 37 + 1| 17 + 36| 14 + 38| 5 + 37| 5 + 40| 4 + 41| 2 + 39| 1 diff --git a/tpch/00_compile_tpch/dbgen/answers/q14.out b/tpch/00_compile_tpch/dbgen/answers/q14.out new file mode 100644 index 0000000..0e6571a --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/answers/q14.out @@ -0,0 +1,2 @@ +promo_revenue +16.38 diff --git a/tpch/00_compile_tpch/dbgen/answers/q15.out b/tpch/00_compile_tpch/dbgen/answers/q15.out new file mode 100644 index 0000000..ece5d59 --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/answers/q15.out @@ -0,0 +1,2 @@ +s_suppkey |s_name |s_address |s_phone |total_revenue + 8449|Supplier#000008449 |Wp34zim9qYFbVctdW |20-469-856-8873|1772627.21 diff --git a/tpch/00_compile_tpch/dbgen/answers/q16.out b/tpch/00_compile_tpch/dbgen/answers/q16.out new file mode 100644 index 0000000..854a168 --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/answers/q16.out @@ -0,0 +1,18315 @@ +p_brand |p_type |p_size |supplier_cnt +Brand#41 |MEDIUM BRUSHED TIN | 3| 28 +Brand#54 |STANDARD BRUSHED COPPER | 14| 27 +Brand#11 |STANDARD BRUSHED TIN | 23| 24 +Brand#11 |STANDARD BURNISHED BRASS | 36| 24 +Brand#15 |MEDIUM ANODIZED NICKEL | 3| 24 +Brand#15 |SMALL ANODIZED BRASS | 45| 24 +Brand#15 |SMALL BURNISHED NICKEL | 19| 24 +Brand#21 |MEDIUM ANODIZED COPPER | 3| 24 +Brand#22 |SMALL BRUSHED NICKEL | 3| 24 +Brand#22 |SMALL BURNISHED BRASS | 19| 24 +Brand#25 |MEDIUM BURNISHED COPPER | 36| 24 +Brand#31 |PROMO POLISHED COPPER | 36| 24 +Brand#33 |LARGE POLISHED TIN | 23| 24 +Brand#33 |PROMO POLISHED STEEL | 14| 24 +Brand#35 |PROMO BRUSHED NICKEL | 14| 24 +Brand#41 |ECONOMY BRUSHED STEEL | 9| 24 +Brand#41 |ECONOMY POLISHED TIN | 19| 24 +Brand#41 |LARGE PLATED COPPER | 36| 24 +Brand#42 |ECONOMY PLATED BRASS | 3| 24 +Brand#42 |STANDARD POLISHED TIN | 49| 24 +Brand#43 |PROMO BRUSHED TIN | 3| 24 +Brand#43 |SMALL ANODIZED COPPER | 36| 24 +Brand#44 |STANDARD POLISHED NICKEL | 3| 24 +Brand#52 |ECONOMY PLATED TIN | 14| 24 +Brand#52 |STANDARD BURNISHED NICKEL| 3| 24 +Brand#53 |MEDIUM ANODIZED STEEL | 14| 24 +Brand#14 |PROMO ANODIZED NICKEL | 45| 23 +Brand#32 |ECONOMY PLATED BRASS | 9| 23 +Brand#52 |SMALL ANODIZED COPPER | 3| 23 +Brand#11 |ECONOMY BRUSHED COPPER | 45| 20 +Brand#11 |ECONOMY PLATED BRASS | 23| 20 +Brand#11 |LARGE BRUSHED COPPER | 49| 20 +Brand#11 |LARGE POLISHED COPPER | 49| 20 +Brand#12 |STANDARD ANODIZED TIN | 49| 20 +Brand#12 |STANDARD PLATED BRASS | 19| 20 +Brand#13 |ECONOMY BRUSHED BRASS | 9| 20 +Brand#13 |ECONOMY BURNISHED STEEL | 14| 20 +Brand#13 |LARGE BURNISHED NICKEL | 19| 20 +Brand#13 |MEDIUM BURNISHED COPPER | 36| 20 +Brand#13 |SMALL BRUSHED TIN | 45| 20 +Brand#13 |STANDARD ANODIZED COPPER | 3| 20 +Brand#13 |STANDARD PLATED NICKEL | 23| 20 +Brand#14 |ECONOMY ANODIZED COPPER | 14| 20 +Brand#14 |ECONOMY PLATED TIN | 36| 20 +Brand#14 |ECONOMY POLISHED NICKEL | 3| 20 +Brand#14 |MEDIUM ANODIZED NICKEL | 3| 20 +Brand#14 |SMALL POLISHED TIN | 14| 20 +Brand#15 |MEDIUM ANODIZED COPPER | 9| 20 +Brand#15 |MEDIUM PLATED TIN | 23| 20 +Brand#15 |PROMO PLATED BRASS | 14| 20 +Brand#15 |SMALL ANODIZED COPPER | 45| 20 +Brand#15 |SMALL PLATED COPPER | 49| 20 +Brand#15 |STANDARD PLATED TIN | 3| 20 +Brand#21 |LARGE ANODIZED COPPER | 36| 20 +Brand#21 |LARGE BRUSHED TIN | 3| 20 +Brand#21 |MEDIUM ANODIZED COPPER | 14| 20 +Brand#21 |PROMO BRUSHED TIN | 36| 20 +Brand#21 |PROMO POLISHED NICKEL | 45| 20 +Brand#21 |SMALL ANODIZED COPPER | 9| 20 +Brand#21 |SMALL POLISHED NICKEL | 23| 20 +Brand#22 |LARGE ANODIZED COPPER | 36| 20 +Brand#22 |LARGE BRUSHED COPPER | 49| 20 +Brand#22 |PROMO ANODIZED TIN | 49| 20 +Brand#22 |PROMO POLISHED BRASS | 45| 20 +Brand#22 |SMALL BURNISHED STEEL | 45| 20 +Brand#23 |MEDIUM ANODIZED STEEL | 45| 20 +Brand#23 |PROMO POLISHED STEEL | 23| 20 +Brand#23 |STANDARD BRUSHED TIN | 14| 20 +Brand#23 |STANDARD PLATED NICKEL | 36| 20 +Brand#24 |PROMO PLATED COPPER | 49| 20 +Brand#24 |PROMO PLATED STEEL | 49| 20 +Brand#24 |PROMO POLISHED STEEL | 9| 20 +Brand#24 |STANDARD BRUSHED TIN | 36| 20 +Brand#25 |LARGE ANODIZED BRASS | 3| 20 +Brand#25 |PROMO BURNISHED TIN | 3| 20 +Brand#31 |ECONOMY POLISHED NICKEL | 3| 20 +Brand#31 |MEDIUM PLATED TIN | 45| 20 +Brand#31 |SMALL ANODIZED STEEL | 14| 20 +Brand#32 |ECONOMY ANODIZED COPPER | 36| 20 +Brand#32 |ECONOMY BRUSHED NICKEL | 49| 20 +Brand#32 |LARGE ANODIZED TIN | 19| 20 +Brand#32 |MEDIUM BURNISHED COPPER | 19| 20 +Brand#32 |SMALL ANODIZED STEEL | 45| 20 +Brand#33 |ECONOMY POLISHED COPPER | 19| 20 +Brand#33 |PROMO PLATED NICKEL | 14| 20 +Brand#33 |SMALL POLISHED TIN | 9| 20 +Brand#33 |STANDARD ANODIZED BRASS | 49| 20 +Brand#33 |STANDARD BURNISHED BRASS | 45| 20 +Brand#34 |ECONOMY BRUSHED NICKEL | 49| 20 +Brand#34 |LARGE BRUSHED BRASS | 19| 20 +Brand#34 |SMALL BRUSHED TIN | 3| 20 +Brand#34 |STANDARD PLATED COPPER | 9| 20 +Brand#35 |LARGE ANODIZED NICKEL | 3| 20 +Brand#35 |MEDIUM ANODIZED BRASS | 45| 20 +Brand#35 |MEDIUM ANODIZED STEEL | 23| 20 +Brand#35 |PROMO ANODIZED COPPER | 49| 20 +Brand#35 |SMALL POLISHED COPPER | 14| 20 +Brand#41 |LARGE ANODIZED STEEL | 3| 20 +Brand#41 |LARGE BRUSHED NICKEL | 23| 20 +Brand#41 |LARGE BURNISHED COPPER | 3| 20 +Brand#41 |MEDIUM PLATED STEEL | 19| 20 +Brand#41 |SMALL BURNISHED COPPER | 23| 20 +Brand#42 |MEDIUM BURNISHED BRASS | 14| 20 +Brand#42 |SMALL BURNISHED COPPER | 3| 20 +Brand#43 |ECONOMY POLISHED COPPER | 9| 20 +Brand#43 |SMALL PLATED STEEL | 3| 20 +Brand#43 |STANDARD BURNISHED TIN | 23| 20 +Brand#44 |LARGE ANODIZED STEEL | 23| 20 +Brand#44 |PROMO ANODIZED TIN | 23| 20 +Brand#51 |ECONOMY BRUSHED BRASS | 49| 20 +Brand#51 |ECONOMY POLISHED NICKEL | 9| 20 +Brand#51 |MEDIUM BRUSHED TIN | 9| 20 +Brand#51 |MEDIUM PLATED BRASS | 9| 20 +Brand#51 |PROMO BURNISHED BRASS | 9| 20 +Brand#51 |SMALL PLATED NICKEL | 49| 20 +Brand#51 |STANDARD ANODIZED NICKEL | 49| 20 +Brand#51 |STANDARD BRUSHED COPPER | 3| 20 +Brand#52 |ECONOMY ANODIZED BRASS | 3| 20 +Brand#52 |ECONOMY BRUSHED COPPER | 49| 20 +Brand#52 |LARGE ANODIZED NICKEL | 45| 20 +Brand#52 |MEDIUM ANODIZED TIN | 23| 20 +Brand#52 |MEDIUM BURNISHED TIN | 45| 20 +Brand#52 |SMALL PLATED COPPER | 36| 20 +Brand#52 |STANDARD ANODIZED BRASS | 45| 20 +Brand#53 |ECONOMY PLATED COPPER | 45| 20 +Brand#53 |PROMO ANODIZED COPPER | 49| 20 +Brand#53 |PROMO BRUSHED COPPER | 23| 20 +Brand#53 |PROMO PLATED TIN | 19| 20 +Brand#53 |PROMO POLISHED NICKEL | 3| 20 +Brand#53 |SMALL ANODIZED STEEL | 9| 20 +Brand#53 |SMALL BRUSHED COPPER | 3| 20 +Brand#53 |SMALL BRUSHED NICKEL | 3| 20 +Brand#54 |ECONOMY PLATED STEEL | 9| 20 +Brand#54 |ECONOMY POLISHED TIN | 3| 20 +Brand#54 |SMALL BRUSHED BRASS | 19| 20 +Brand#55 |MEDIUM ANODIZED COPPER | 3| 20 +Brand#55 |PROMO BURNISHED STEEL | 14| 20 +Brand#55 |PROMO POLISHED NICKEL | 49| 20 +Brand#55 |STANDARD ANODIZED BRASS | 19| 20 +Brand#55 |STANDARD BURNISHED COPPER| 45| 20 +Brand#43 |ECONOMY ANODIZED TIN | 3| 19 +Brand#11 |ECONOMY ANODIZED BRASS | 14| 16 +Brand#11 |ECONOMY ANODIZED BRASS | 23| 16 +Brand#11 |ECONOMY ANODIZED COPPER | 14| 16 +Brand#11 |ECONOMY BRUSHED BRASS | 49| 16 +Brand#11 |ECONOMY BRUSHED STEEL | 19| 16 +Brand#11 |ECONOMY BURNISHED NICKEL | 23| 16 +Brand#11 |LARGE ANODIZED COPPER | 14| 16 +Brand#11 |LARGE BRUSHED TIN | 45| 16 +Brand#11 |LARGE BURNISHED COPPER | 23| 16 +Brand#11 |LARGE BURNISHED NICKEL | 36| 16 +Brand#11 |LARGE PLATED STEEL | 14| 16 +Brand#11 |MEDIUM BRUSHED NICKEL | 14| 16 +Brand#11 |MEDIUM BRUSHED STEEL | 49| 16 +Brand#11 |MEDIUM BURNISHED NICKEL | 49| 16 +Brand#11 |MEDIUM BURNISHED TIN | 3| 16 +Brand#11 |MEDIUM PLATED COPPER | 9| 16 +Brand#11 |PROMO ANODIZED BRASS | 19| 16 +Brand#11 |PROMO ANODIZED BRASS | 49| 16 +Brand#11 |PROMO ANODIZED STEEL | 45| 16 +Brand#11 |PROMO PLATED BRASS | 45| 16 +Brand#11 |SMALL ANODIZED TIN | 45| 16 +Brand#11 |SMALL BRUSHED STEEL | 49| 16 +Brand#11 |SMALL BURNISHED COPPER | 19| 16 +Brand#11 |SMALL BURNISHED COPPER | 45| 16 +Brand#11 |SMALL BURNISHED NICKEL | 14| 16 +Brand#11 |SMALL POLISHED NICKEL | 36| 16 +Brand#11 |STANDARD ANODIZED BRASS | 19| 16 +Brand#11 |STANDARD ANODIZED COPPER | 14| 16 +Brand#11 |STANDARD BRUSHED STEEL | 45| 16 +Brand#11 |STANDARD POLISHED NICKEL | 23| 16 +Brand#12 |ECONOMY ANODIZED TIN | 14| 16 +Brand#12 |ECONOMY BRUSHED COPPER | 9| 16 +Brand#12 |ECONOMY BRUSHED COPPER | 36| 16 +Brand#12 |ECONOMY BURNISHED BRASS | 9| 16 +Brand#12 |ECONOMY BURNISHED NICKEL | 36| 16 +Brand#12 |LARGE ANODIZED BRASS | 14| 16 +Brand#12 |LARGE ANODIZED COPPER | 9| 16 +Brand#12 |LARGE ANODIZED STEEL | 23| 16 +Brand#12 |LARGE BURNISHED TIN | 36| 16 +Brand#12 |LARGE PLATED COPPER | 49| 16 +Brand#12 |LARGE POLISHED COPPER | 49| 16 +Brand#12 |MEDIUM PLATED COPPER | 19| 16 +Brand#12 |MEDIUM PLATED NICKEL | 23| 16 +Brand#12 |PROMO ANODIZED BRASS | 45| 16 +Brand#12 |PROMO ANODIZED STEEL | 49| 16 +Brand#12 |PROMO BURNISHED STEEL | 9| 16 +Brand#12 |SMALL BRUSHED NICKEL | 36| 16 +Brand#12 |SMALL BRUSHED TIN | 45| 16 +Brand#12 |STANDARD ANODIZED BRASS | 3| 16 +Brand#12 |STANDARD ANODIZED NICKEL | 14| 16 +Brand#12 |STANDARD BRUSHED BRASS | 3| 16 +Brand#12 |STANDARD BRUSHED TIN | 9| 16 +Brand#12 |STANDARD BRUSHED TIN | 36| 16 +Brand#12 |STANDARD POLISHED COPPER | 9| 16 +Brand#13 |ECONOMY ANODIZED STEEL | 45| 16 +Brand#13 |ECONOMY POLISHED BRASS | 3| 16 +Brand#13 |LARGE BRUSHED NICKEL | 23| 16 +Brand#13 |LARGE BURNISHED NICKEL | 9| 16 +Brand#13 |MEDIUM BRUSHED STEEL | 49| 16 +Brand#13 |MEDIUM BURNISHED NICKEL | 49| 16 +Brand#13 |MEDIUM PLATED BRASS | 49| 16 +Brand#13 |PROMO ANODIZED BRASS | 14| 16 +Brand#13 |PROMO ANODIZED COPPER | 3| 16 +Brand#13 |SMALL ANODIZED STEEL | 45| 16 +Brand#13 |SMALL BURNISHED STEEL | 19| 16 +Brand#13 |SMALL PLATED BRASS | 36| 16 +Brand#13 |STANDARD ANODIZED BRASS | 23| 16 +Brand#13 |STANDARD ANODIZED STEEL | 23| 16 +Brand#13 |STANDARD BURNISHED BRASS | 9| 16 +Brand#13 |STANDARD PLATED NICKEL | 9| 16 +Brand#13 |STANDARD PLATED TIN | 23| 16 +Brand#14 |ECONOMY BRUSHED STEEL | 3| 16 +Brand#14 |ECONOMY PLATED NICKEL | 9| 16 +Brand#14 |ECONOMY PLATED STEEL | 9| 16 +Brand#14 |ECONOMY POLISHED NICKEL | 19| 16 +Brand#14 |LARGE ANODIZED COPPER | 14| 16 +Brand#14 |LARGE BRUSHED NICKEL | 19| 16 +Brand#14 |LARGE POLISHED STEEL | 3| 16 +Brand#14 |LARGE POLISHED TIN | 23| 16 +Brand#14 |MEDIUM BURNISHED COPPER | 3| 16 +Brand#14 |PROMO ANODIZED STEEL | 36| 16 +Brand#14 |PROMO PLATED BRASS | 9| 16 +Brand#14 |PROMO PLATED NICKEL | 49| 16 +Brand#14 |PROMO POLISHED BRASS | 19| 16 +Brand#14 |PROMO POLISHED STEEL | 19| 16 +Brand#14 |PROMO POLISHED TIN | 45| 16 +Brand#14 |SMALL BRUSHED BRASS | 14| 16 +Brand#14 |SMALL BURNISHED COPPER | 45| 16 +Brand#14 |STANDARD BRUSHED TIN | 19| 16 +Brand#14 |STANDARD PLATED COPPER | 45| 16 +Brand#14 |STANDARD PLATED TIN | 9| 16 +Brand#14 |STANDARD POLISHED TIN | 49| 16 +Brand#15 |ECONOMY BRUSHED STEEL | 19| 16 +Brand#15 |LARGE BRUSHED BRASS | 14| 16 +Brand#15 |LARGE BRUSHED STEEL | 14| 16 +Brand#15 |LARGE BURNISHED NICKEL | 3| 16 +Brand#15 |LARGE PLATED COPPER | 49| 16 +Brand#15 |PROMO ANODIZED NICKEL | 3| 16 +Brand#15 |PROMO BURNISHED TIN | 49| 16 +Brand#15 |PROMO PLATED STEEL | 3| 16 +Brand#15 |PROMO POLISHED STEEL | 49| 16 +Brand#15 |SMALL BRUSHED COPPER | 9| 16 +Brand#15 |SMALL BRUSHED NICKEL | 23| 16 +Brand#15 |SMALL PLATED BRASS | 49| 16 +Brand#15 |STANDARD ANODIZED COPPER | 45| 16 +Brand#15 |STANDARD BRUSHED COPPER | 14| 16 +Brand#15 |STANDARD PLATED TIN | 36| 16 +Brand#21 |ECONOMY ANODIZED STEEL | 45| 16 +Brand#21 |ECONOMY BRUSHED COPPER | 9| 16 +Brand#21 |ECONOMY POLISHED STEEL | 19| 16 +Brand#21 |LARGE ANODIZED STEEL | 14| 16 +Brand#21 |MEDIUM ANODIZED STEEL | 36| 16 +Brand#21 |PROMO POLISHED BRASS | 14| 16 +Brand#21 |PROMO POLISHED TIN | 49| 16 +Brand#21 |SMALL BRUSHED COPPER | 3| 16 +Brand#21 |SMALL PLATED STEEL | 45| 16 +Brand#21 |SMALL PLATED TIN | 45| 16 +Brand#21 |STANDARD POLISHED STEEL | 36| 16 +Brand#22 |ECONOMY BRUSHED BRASS | 9| 16 +Brand#22 |ECONOMY BRUSHED NICKEL | 36| 16 +Brand#22 |ECONOMY POLISHED TIN | 36| 16 +Brand#22 |LARGE BRUSHED COPPER | 19| 16 +Brand#22 |LARGE BRUSHED TIN | 36| 16 +Brand#22 |LARGE POLISHED COPPER | 19| 16 +Brand#22 |MEDIUM ANODIZED BRASS | 23| 16 +Brand#22 |MEDIUM ANODIZED NICKEL | 9| 16 +Brand#22 |MEDIUM BRUSHED NICKEL | 14| 16 +Brand#22 |MEDIUM PLATED NICKEL | 23| 16 +Brand#22 |PROMO ANODIZED TIN | 45| 16 +Brand#22 |PROMO POLISHED STEEL | 49| 16 +Brand#22 |SMALL BRUSHED NICKEL | 45| 16 +Brand#22 |SMALL POLISHED BRASS | 36| 16 +Brand#22 |SMALL POLISHED STEEL | 9| 16 +Brand#22 |STANDARD BURNISHED BRASS | 45| 16 +Brand#22 |STANDARD BURNISHED NICKEL| 3| 16 +Brand#22 |STANDARD PLATED BRASS | 9| 16 +Brand#23 |ECONOMY BRUSHED TIN | 49| 16 +Brand#23 |ECONOMY BURNISHED COPPER | 45| 16 +Brand#23 |ECONOMY BURNISHED NICKEL | 19| 16 +Brand#23 |ECONOMY BURNISHED TIN | 9| 16 +Brand#23 |ECONOMY PLATED BRASS | 9| 16 +Brand#23 |ECONOMY PLATED COPPER | 14| 16 +Brand#23 |LARGE ANODIZED STEEL | 23| 16 +Brand#23 |LARGE ANODIZED STEEL | 49| 16 +Brand#23 |LARGE BURNISHED COPPER | 23| 16 +Brand#23 |LARGE POLISHED NICKEL | 9| 16 +Brand#23 |MEDIUM BRUSHED STEEL | 3| 16 +Brand#23 |PROMO ANODIZED COPPER | 19| 16 +Brand#23 |PROMO ANODIZED TIN | 3| 16 +Brand#23 |PROMO BURNISHED COPPER | 14| 16 +Brand#23 |PROMO PLATED BRASS | 3| 16 +Brand#23 |SMALL ANODIZED BRASS | 23| 16 +Brand#23 |SMALL BRUSHED BRASS | 45| 16 +Brand#23 |SMALL POLISHED TIN | 3| 16 +Brand#23 |STANDARD BURNISHED COPPER| 19| 16 +Brand#23 |STANDARD BURNISHED NICKEL| 49| 16 +Brand#23 |STANDARD PLATED BRASS | 9| 16 +Brand#23 |STANDARD PLATED COPPER | 45| 16 +Brand#23 |STANDARD POLISHED BRASS | 9| 16 +Brand#24 |ECONOMY ANODIZED BRASS | 3| 16 +Brand#24 |ECONOMY BRUSHED COPPER | 36| 16 +Brand#24 |ECONOMY BRUSHED STEEL | 14| 16 +Brand#24 |ECONOMY POLISHED COPPER | 36| 16 +Brand#24 |ECONOMY POLISHED NICKEL | 3| 16 +Brand#24 |LARGE ANODIZED BRASS | 23| 16 +Brand#24 |LARGE BURNISHED BRASS | 45| 16 +Brand#24 |LARGE BURNISHED STEEL | 14| 16 +Brand#24 |LARGE PLATED TIN | 9| 16 +Brand#24 |MEDIUM BRUSHED NICKEL | 49| 16 +Brand#24 |MEDIUM BURNISHED STEEL | 3| 16 +Brand#24 |PROMO BURNISHED COPPER | 49| 16 +Brand#24 |PROMO BURNISHED STEEL | 49| 16 +Brand#24 |PROMO POLISHED STEEL | 23| 16 +Brand#24 |SMALL ANODIZED NICKEL | 19| 16 +Brand#24 |STANDARD BURNISHED COPPER| 19| 16 +Brand#24 |STANDARD BURNISHED STEEL | 36| 16 +Brand#24 |STANDARD PLATED NICKEL | 23| 16 +Brand#24 |STANDARD PLATED TIN | 49| 16 +Brand#25 |ECONOMY ANODIZED COPPER | 14| 16 +Brand#25 |ECONOMY BURNISHED NICKEL | 9| 16 +Brand#25 |ECONOMY PLATED TIN | 14| 16 +Brand#25 |ECONOMY POLISHED TIN | 45| 16 +Brand#25 |LARGE ANODIZED STEEL | 9| 16 +Brand#25 |LARGE ANODIZED TIN | 45| 16 +Brand#25 |LARGE BRUSHED NICKEL | 36| 16 +Brand#25 |LARGE BURNISHED NICKEL | 14| 16 +Brand#25 |LARGE POLISHED STEEL | 19| 16 +Brand#25 |MEDIUM BRUSHED COPPER | 9| 16 +Brand#25 |MEDIUM BURNISHED COPPER | 49| 16 +Brand#25 |MEDIUM BURNISHED TIN | 3| 16 +Brand#25 |MEDIUM PLATED STEEL | 9| 16 +Brand#25 |PROMO ANODIZED BRASS | 49| 16 +Brand#25 |PROMO ANODIZED STEEL | 19| 16 +Brand#25 |PROMO ANODIZED TIN | 23| 16 +Brand#25 |PROMO BURNISHED COPPER | 49| 16 +Brand#25 |PROMO POLISHED COPPER | 14| 16 +Brand#25 |SMALL ANODIZED COPPER | 23| 16 +Brand#25 |SMALL BRUSHED STEEL | 23| 16 +Brand#25 |SMALL POLISHED COPPER | 23| 16 +Brand#25 |STANDARD BURNISHED STEEL | 23| 16 +Brand#25 |STANDARD BURNISHED TIN | 3| 16 +Brand#25 |STANDARD BURNISHED TIN | 36| 16 +Brand#25 |STANDARD PLATED BRASS | 45| 16 +Brand#25 |STANDARD PLATED COPPER | 49| 16 +Brand#31 |ECONOMY ANODIZED BRASS | 45| 16 +Brand#31 |ECONOMY BRUSHED COPPER | 14| 16 +Brand#31 |ECONOMY BRUSHED COPPER | 36| 16 +Brand#31 |LARGE ANODIZED STEEL | 45| 16 +Brand#31 |LARGE BURNISHED NICKEL | 45| 16 +Brand#31 |LARGE PLATED TIN | 14| 16 +Brand#31 |LARGE POLISHED COPPER | 49| 16 +Brand#31 |MEDIUM ANODIZED NICKEL | 49| 16 +Brand#31 |MEDIUM BURNISHED BRASS | 19| 16 +Brand#31 |PROMO ANODIZED NICKEL | 14| 16 +Brand#31 |PROMO BRUSHED TIN | 45| 16 +Brand#31 |PROMO BURNISHED STEEL | 36| 16 +Brand#31 |SMALL ANODIZED NICKEL | 23| 16 +Brand#31 |SMALL BRUSHED NICKEL | 14| 16 +Brand#31 |SMALL BRUSHED TIN | 19| 16 +Brand#31 |SMALL PLATED NICKEL | 23| 16 +Brand#31 |SMALL POLISHED BRASS | 23| 16 +Brand#31 |SMALL POLISHED TIN | 14| 16 +Brand#31 |SMALL POLISHED TIN | 45| 16 +Brand#31 |STANDARD BRUSHED COPPER | 45| 16 +Brand#31 |STANDARD POLISHED STEEL | 36| 16 +Brand#32 |ECONOMY BRUSHED STEEL | 9| 16 +Brand#32 |ECONOMY PLATED STEEL | 14| 16 +Brand#32 |LARGE ANODIZED BRASS | 36| 16 +Brand#32 |LARGE BURNISHED NICKEL | 36| 16 +Brand#32 |LARGE PLATED BRASS | 36| 16 +Brand#32 |LARGE PLATED STEEL | 23| 16 +Brand#32 |MEDIUM BRUSHED BRASS | 49| 16 +Brand#32 |MEDIUM BRUSHED TIN | 9| 16 +Brand#32 |MEDIUM PLATED COPPER | 36| 16 +Brand#32 |PROMO ANODIZED TIN | 36| 16 +Brand#32 |PROMO BRUSHED BRASS | 9| 16 +Brand#32 |PROMO BURNISHED STEEL | 36| 16 +Brand#32 |PROMO PLATED STEEL | 3| 16 +Brand#32 |PROMO PLATED TIN | 45| 16 +Brand#32 |SMALL BURNISHED TIN | 49| 16 +Brand#32 |SMALL PLATED NICKEL | 36| 16 +Brand#32 |SMALL POLISHED NICKEL | 36| 16 +Brand#32 |SMALL POLISHED STEEL | 9| 16 +Brand#32 |SMALL POLISHED TIN | 36| 16 +Brand#32 |STANDARD ANODIZED COPPER | 14| 16 +Brand#32 |STANDARD ANODIZED TIN | 9| 16 +Brand#32 |STANDARD BURNISHED COPPER| 45| 16 +Brand#32 |STANDARD BURNISHED COPPER| 49| 16 +Brand#32 |STANDARD POLISHED BRASS | 14| 16 +Brand#32 |STANDARD POLISHED STEEL | 14| 16 +Brand#33 |ECONOMY ANODIZED STEEL | 49| 16 +Brand#33 |ECONOMY PLATED BRASS | 36| 16 +Brand#33 |ECONOMY PLATED COPPER | 19| 16 +Brand#33 |ECONOMY POLISHED NICKEL | 19| 16 +Brand#33 |LARGE ANODIZED STEEL | 45| 16 +Brand#33 |LARGE ANODIZED TIN | 45| 16 +Brand#33 |LARGE BURNISHED COPPER | 45| 16 +Brand#33 |LARGE POLISHED STEEL | 3| 16 +Brand#33 |MEDIUM ANODIZED BRASS | 23| 16 +Brand#33 |MEDIUM ANODIZED NICKEL | 3| 16 +Brand#33 |MEDIUM ANODIZED TIN | 14| 16 +Brand#33 |MEDIUM BRUSHED COPPER | 49| 16 +Brand#33 |MEDIUM BURNISHED COPPER | 9| 16 +Brand#33 |PROMO BURNISHED BRASS | 9| 16 +Brand#33 |PROMO BURNISHED BRASS | 19| 16 +Brand#33 |PROMO PLATED STEEL | 49| 16 +Brand#33 |SMALL ANODIZED BRASS | 36| 16 +Brand#33 |SMALL BRUSHED BRASS | 3| 16 +Brand#33 |SMALL BRUSHED STEEL | 9| 16 +Brand#33 |SMALL POLISHED BRASS | 14| 16 +Brand#33 |SMALL POLISHED COPPER | 36| 16 +Brand#33 |SMALL POLISHED NICKEL | 19| 16 +Brand#33 |STANDARD ANODIZED BRASS | 9| 16 +Brand#33 |STANDARD ANODIZED TIN | 3| 16 +Brand#33 |STANDARD BURNISHED NICKEL| 49| 16 +Brand#33 |STANDARD PLATED NICKEL | 49| 16 +Brand#33 |STANDARD POLISHED BRASS | 9| 16 +Brand#33 |STANDARD POLISHED BRASS | 14| 16 +Brand#33 |STANDARD POLISHED COPPER | 49| 16 +Brand#33 |STANDARD POLISHED STEEL | 3| 16 +Brand#34 |ECONOMY BURNISHED BRASS | 14| 16 +Brand#34 |ECONOMY POLISHED STEEL | 36| 16 +Brand#34 |LARGE BRUSHED BRASS | 23| 16 +Brand#34 |LARGE PLATED BRASS | 36| 16 +Brand#34 |LARGE PLATED TIN | 3| 16 +Brand#34 |LARGE POLISHED COPPER | 14| 16 +Brand#34 |MEDIUM ANODIZED COPPER | 36| 16 +Brand#34 |MEDIUM BRUSHED STEEL | 23| 16 +Brand#34 |MEDIUM PLATED NICKEL | 23| 16 +Brand#34 |PROMO BRUSHED NICKEL | 45| 16 +Brand#34 |PROMO POLISHED TIN | 3| 16 +Brand#34 |SMALL ANODIZED NICKEL | 14| 16 +Brand#34 |SMALL BURNISHED TIN | 3| 16 +Brand#34 |SMALL POLISHED NICKEL | 36| 16 +Brand#34 |STANDARD ANODIZED STEEL | 9| 16 +Brand#34 |STANDARD BURNISHED NICKEL| 19| 16 +Brand#34 |STANDARD BURNISHED NICKEL| 23| 16 +Brand#34 |STANDARD POLISHED COPPER | 23| 16 +Brand#35 |ECONOMY ANODIZED COPPER | 36| 16 +Brand#35 |ECONOMY BURNISHED NICKEL | 19| 16 +Brand#35 |ECONOMY BURNISHED TIN | 9| 16 +Brand#35 |ECONOMY PLATED STEEL | 14| 16 +Brand#35 |LARGE ANODIZED BRASS | 9| 16 +Brand#35 |LARGE ANODIZED COPPER | 49| 16 +Brand#35 |LARGE ANODIZED NICKEL | 9| 16 +Brand#35 |LARGE BRUSHED TIN | 49| 16 +Brand#35 |LARGE BURNISHED COPPER | 23| 16 +Brand#35 |LARGE BURNISHED NICKEL | 9| 16 +Brand#35 |LARGE BURNISHED STEEL | 3| 16 +Brand#35 |LARGE PLATED COPPER | 19| 16 +Brand#35 |MEDIUM BRUSHED STEEL | 23| 16 +Brand#35 |MEDIUM PLATED NICKEL | 23| 16 +Brand#35 |PROMO BRUSHED NICKEL | 19| 16 +Brand#35 |SMALL ANODIZED BRASS | 45| 16 +Brand#35 |SMALL BRUSHED TIN | 49| 16 +Brand#41 |ECONOMY ANODIZED STEEL | 49| 16 +Brand#41 |ECONOMY PLATED STEEL | 3| 16 +Brand#41 |ECONOMY PLATED TIN | 3| 16 +Brand#41 |ECONOMY POLISHED STEEL | 19| 16 +Brand#41 |ECONOMY POLISHED STEEL | 45| 16 +Brand#41 |LARGE ANODIZED BRASS | 36| 16 +Brand#41 |LARGE BURNISHED BRASS | 23| 16 +Brand#41 |LARGE POLISHED BRASS | 36| 16 +Brand#41 |LARGE POLISHED NICKEL | 3| 16 +Brand#41 |MEDIUM BURNISHED TIN | 3| 16 +Brand#41 |MEDIUM PLATED STEEL | 3| 16 +Brand#41 |PROMO PLATED BRASS | 9| 16 +Brand#41 |PROMO PLATED STEEL | 36| 16 +Brand#41 |PROMO POLISHED STEEL | 36| 16 +Brand#41 |PROMO POLISHED TIN | 19| 16 +Brand#41 |SMALL ANODIZED COPPER | 23| 16 +Brand#41 |SMALL ANODIZED STEEL | 45| 16 +Brand#41 |SMALL BRUSHED NICKEL | 45| 16 +Brand#41 |SMALL BURNISHED NICKEL | 36| 16 +Brand#41 |SMALL POLISHED NICKEL | 9| 16 +Brand#41 |SMALL POLISHED STEEL | 45| 16 +Brand#41 |SMALL POLISHED TIN | 14| 16 +Brand#41 |STANDARD BRUSHED NICKEL | 45| 16 +Brand#42 |ECONOMY BRUSHED STEEL | 14| 16 +Brand#42 |ECONOMY BURNISHED STEEL | 9| 16 +Brand#42 |ECONOMY BURNISHED STEEL | 45| 16 +Brand#42 |LARGE ANODIZED TIN | 23| 16 +Brand#42 |LARGE BRUSHED STEEL | 14| 16 +Brand#42 |LARGE BURNISHED NICKEL | 19| 16 +Brand#42 |LARGE PLATED STEEL | 45| 16 +Brand#42 |LARGE POLISHED STEEL | 14| 16 +Brand#42 |MEDIUM ANODIZED STEEL | 14| 16 +Brand#42 |MEDIUM ANODIZED TIN | 19| 16 +Brand#42 |MEDIUM BRUSHED COPPER | 9| 16 +Brand#42 |MEDIUM BRUSHED STEEL | 14| 16 +Brand#42 |MEDIUM BURNISHED COPPER | 49| 16 +Brand#42 |MEDIUM BURNISHED NICKEL | 23| 16 +Brand#42 |MEDIUM BURNISHED TIN | 49| 16 +Brand#42 |PROMO ANODIZED NICKEL | 49| 16 +Brand#42 |PROMO ANODIZED STEEL | 49| 16 +Brand#42 |PROMO BURNISHED TIN | 49| 16 +Brand#42 |SMALL ANODIZED BRASS | 23| 16 +Brand#42 |SMALL ANODIZED NICKEL | 19| 16 +Brand#42 |SMALL ANODIZED TIN | 49| 16 +Brand#42 |SMALL PLATED COPPER | 23| 16 +Brand#42 |STANDARD ANODIZED BRASS | 9| 16 +Brand#42 |STANDARD ANODIZED NICKEL | 9| 16 +Brand#42 |STANDARD BRUSHED STEEL | 49| 16 +Brand#42 |STANDARD BRUSHED TIN | 45| 16 +Brand#42 |STANDARD PLATED TIN | 23| 16 +Brand#43 |ECONOMY BRUSHED STEEL | 23| 16 +Brand#43 |ECONOMY PLATED TIN | 49| 16 +Brand#43 |ECONOMY POLISHED TIN | 14| 16 +Brand#43 |LARGE BRUSHED COPPER | 9| 16 +Brand#43 |LARGE BURNISHED STEEL | 9| 16 +Brand#43 |LARGE PLATED BRASS | 14| 16 +Brand#43 |LARGE PLATED BRASS | 19| 16 +Brand#43 |LARGE PLATED NICKEL | 45| 16 +Brand#43 |MEDIUM ANODIZED COPPER | 49| 16 +Brand#43 |PROMO BRUSHED BRASS | 36| 16 +Brand#43 |PROMO BRUSHED STEEL | 49| 16 +Brand#43 |PROMO PLATED BRASS | 45| 16 +Brand#43 |SMALL BURNISHED COPPER | 19| 16 +Brand#43 |SMALL BURNISHED TIN | 23| 16 +Brand#43 |SMALL BURNISHED TIN | 45| 16 +Brand#43 |SMALL PLATED COPPER | 23| 16 +Brand#43 |SMALL POLISHED STEEL | 19| 16 +Brand#43 |STANDARD ANODIZED TIN | 45| 16 +Brand#43 |STANDARD PLATED BRASS | 3| 16 +Brand#44 |ECONOMY ANODIZED BRASS | 45| 16 +Brand#44 |ECONOMY BRUSHED TIN | 45| 16 +Brand#44 |ECONOMY PLATED COPPER | 23| 16 +Brand#44 |ECONOMY PLATED STEEL | 3| 16 +Brand#44 |LARGE BRUSHED BRASS | 9| 16 +Brand#44 |LARGE PLATED BRASS | 49| 16 +Brand#44 |LARGE PLATED STEEL | 14| 16 +Brand#44 |LARGE POLISHED TIN | 19| 16 +Brand#44 |MEDIUM ANODIZED NICKEL | 9| 16 +Brand#44 |MEDIUM ANODIZED TIN | 49| 16 +Brand#44 |MEDIUM BRUSHED NICKEL | 36| 16 +Brand#44 |MEDIUM BURNISHED NICKEL | 23| 16 +Brand#44 |MEDIUM BURNISHED NICKEL | 45| 16 +Brand#44 |MEDIUM PLATED BRASS | 9| 16 +Brand#44 |MEDIUM PLATED STEEL | 49| 16 +Brand#44 |PROMO BURNISHED TIN | 3| 16 +Brand#44 |SMALL ANODIZED COPPER | 9| 16 +Brand#44 |SMALL ANODIZED STEEL | 14| 16 +Brand#44 |SMALL BRUSHED STEEL | 19| 16 +Brand#44 |SMALL BRUSHED TIN | 14| 16 +Brand#44 |SMALL BURNISHED STEEL | 23| 16 +Brand#44 |SMALL PLATED STEEL | 19| 16 +Brand#44 |STANDARD ANODIZED NICKEL | 45| 16 +Brand#44 |STANDARD ANODIZED STEEL | 19| 16 +Brand#44 |STANDARD BRUSHED COPPER | 36| 16 +Brand#44 |STANDARD PLATED BRASS | 49| 16 +Brand#44 |STANDARD PLATED NICKEL | 45| 16 +Brand#44 |STANDARD PLATED STEEL | 36| 16 +Brand#51 |ECONOMY ANODIZED STEEL | 9| 16 +Brand#51 |ECONOMY BRUSHED STEEL | 23| 16 +Brand#51 |ECONOMY PLATED STEEL | 9| 16 +Brand#51 |LARGE BURNISHED COPPER | 14| 16 +Brand#51 |LARGE PLATED BRASS | 3| 16 +Brand#51 |LARGE PLATED BRASS | 36| 16 +Brand#51 |LARGE PLATED BRASS | 49| 16 +Brand#51 |LARGE POLISHED BRASS | 3| 16 +Brand#51 |LARGE POLISHED NICKEL | 19| 16 +Brand#51 |MEDIUM ANODIZED BRASS | 9| 16 +Brand#51 |MEDIUM ANODIZED TIN | 9| 16 +Brand#51 |MEDIUM PLATED BRASS | 14| 16 +Brand#51 |PROMO BURNISHED NICKEL | 14| 16 +Brand#51 |PROMO BURNISHED TIN | 9| 16 +Brand#51 |PROMO PLATED NICKEL | 14| 16 +Brand#51 |SMALL ANODIZED COPPER | 45| 16 +Brand#51 |SMALL BURNISHED COPPER | 36| 16 +Brand#51 |SMALL BURNISHED TIN | 9| 16 +Brand#51 |STANDARD BURNISHED STEEL | 45| 16 +Brand#51 |STANDARD BURNISHED TIN | 9| 16 +Brand#51 |STANDARD PLATED BRASS | 36| 16 +Brand#51 |STANDARD PLATED STEEL | 45| 16 +Brand#52 |ECONOMY BRUSHED NICKEL | 3| 16 +Brand#52 |ECONOMY BURNISHED COPPER | 9| 16 +Brand#52 |ECONOMY BURNISHED STEEL | 14| 16 +Brand#52 |LARGE ANODIZED BRASS | 23| 16 +Brand#52 |LARGE BRUSHED BRASS | 14| 16 +Brand#52 |LARGE BURNISHED TIN | 23| 16 +Brand#52 |MEDIUM ANODIZED COPPER | 23| 16 +Brand#52 |PROMO BRUSHED STEEL | 36| 16 +Brand#52 |PROMO PLATED COPPER | 14| 16 +Brand#52 |SMALL PLATED COPPER | 3| 16 +Brand#52 |STANDARD BRUSHED COPPER | 14| 16 +Brand#52 |STANDARD BURNISHED BRASS | 14| 16 +Brand#52 |STANDARD BURNISHED BRASS | 19| 16 +Brand#52 |STANDARD POLISHED NICKEL | 36| 16 +Brand#53 |ECONOMY ANODIZED BRASS | 19| 16 +Brand#53 |LARGE BRUSHED COPPER | 14| 16 +Brand#53 |LARGE BRUSHED NICKEL | 45| 16 +Brand#53 |LARGE BURNISHED COPPER | 36| 16 +Brand#53 |LARGE PLATED COPPER | 36| 16 +Brand#53 |LARGE PLATED STEEL | 36| 16 +Brand#53 |LARGE PLATED TIN | 14| 16 +Brand#53 |LARGE POLISHED BRASS | 14| 16 +Brand#53 |LARGE POLISHED STEEL | 49| 16 +Brand#53 |MEDIUM BRUSHED NICKEL | 49| 16 +Brand#53 |MEDIUM BURNISHED BRASS | 3| 16 +Brand#53 |MEDIUM BURNISHED COPPER | 49| 16 +Brand#53 |PROMO ANODIZED COPPER | 36| 16 +Brand#53 |PROMO ANODIZED NICKEL | 3| 16 +Brand#53 |PROMO BURNISHED STEEL | 9| 16 +Brand#53 |PROMO PLATED COPPER | 3| 16 +Brand#53 |SMALL ANODIZED TIN | 9| 16 +Brand#53 |STANDARD PLATED BRASS | 23| 16 +Brand#54 |ECONOMY BRUSHED BRASS | 45| 16 +Brand#54 |ECONOMY BRUSHED COPPER | 14| 16 +Brand#54 |LARGE ANODIZED NICKEL | 49| 16 +Brand#54 |LARGE BURNISHED BRASS | 49| 16 +Brand#54 |LARGE BURNISHED COPPER | 19| 16 +Brand#54 |LARGE POLISHED NICKEL | 36| 16 +Brand#54 |PROMO BURNISHED TIN | 19| 16 +Brand#54 |PROMO PLATED BRASS | 49| 16 +Brand#54 |PROMO POLISHED TIN | 23| 16 +Brand#54 |SMALL ANODIZED COPPER | 14| 16 +Brand#54 |SMALL BRUSHED COPPER | 9| 16 +Brand#54 |SMALL PLATED NICKEL | 9| 16 +Brand#54 |STANDARD ANODIZED COPPER | 49| 16 +Brand#54 |STANDARD ANODIZED TIN | 14| 16 +Brand#54 |STANDARD BRUSHED COPPER | 45| 16 +Brand#54 |STANDARD PLATED COPPER | 23| 16 +Brand#54 |STANDARD PLATED COPPER | 45| 16 +Brand#54 |STANDARD POLISHED BRASS | 19| 16 +Brand#54 |STANDARD POLISHED STEEL | 14| 16 +Brand#55 |ECONOMY BRUSHED TIN | 36| 16 +Brand#55 |ECONOMY POLISHED TIN | 14| 16 +Brand#55 |LARGE PLATED BRASS | 9| 16 +Brand#55 |LARGE POLISHED STEEL | 9| 16 +Brand#55 |MEDIUM BURNISHED TIN | 36| 16 +Brand#55 |PROMO ANODIZED BRASS | 14| 16 +Brand#55 |PROMO ANODIZED COPPER | 14| 16 +Brand#55 |SMALL BURNISHED STEEL | 9| 16 +Brand#55 |STANDARD POLISHED COPPER | 19| 16 +Brand#23 |PROMO POLISHED COPPER | 36| 15 +Brand#33 |PROMO POLISHED STEEL | 9| 15 +Brand#34 |LARGE BURNISHED BRASS | 23| 15 +Brand#41 |PROMO ANODIZED BRASS | 49| 15 +Brand#11 |ECONOMY ANODIZED NICKEL | 14| 12 +Brand#11 |ECONOMY ANODIZED NICKEL | 23| 12 +Brand#11 |ECONOMY ANODIZED STEEL | 36| 12 +Brand#11 |ECONOMY ANODIZED TIN | 14| 12 +Brand#11 |ECONOMY BRUSHED COPPER | 14| 12 +Brand#11 |ECONOMY BURNISHED BRASS | 36| 12 +Brand#11 |ECONOMY BURNISHED COPPER | 3| 12 +Brand#11 |ECONOMY BURNISHED COPPER | 49| 12 +Brand#11 |ECONOMY PLATED COPPER | 3| 12 +Brand#11 |ECONOMY PLATED COPPER | 19| 12 +Brand#11 |ECONOMY PLATED NICKEL | 14| 12 +Brand#11 |ECONOMY POLISHED COPPER | 14| 12 +Brand#11 |ECONOMY POLISHED TIN | 23| 12 +Brand#11 |LARGE ANODIZED NICKEL | 9| 12 +Brand#11 |LARGE ANODIZED STEEL | 23| 12 +Brand#11 |LARGE ANODIZED TIN | 36| 12 +Brand#11 |LARGE BRUSHED BRASS | 19| 12 +Brand#11 |LARGE BRUSHED STEEL | 19| 12 +Brand#11 |LARGE BRUSHED STEEL | 36| 12 +Brand#11 |LARGE BURNISHED BRASS | 3| 12 +Brand#11 |LARGE PLATED TIN | 19| 12 +Brand#11 |MEDIUM ANODIZED BRASS | 45| 12 +Brand#11 |MEDIUM BRUSHED BRASS | 3| 12 +Brand#11 |MEDIUM BRUSHED BRASS | 23| 12 +Brand#11 |MEDIUM BRUSHED BRASS | 45| 12 +Brand#11 |MEDIUM BRUSHED NICKEL | 36| 12 +Brand#11 |MEDIUM BRUSHED STEEL | 19| 12 +Brand#11 |MEDIUM BRUSHED STEEL | 23| 12 +Brand#11 |MEDIUM BURNISHED NICKEL | 23| 12 +Brand#11 |MEDIUM BURNISHED STEEL | 9| 12 +Brand#11 |MEDIUM PLATED BRASS | 14| 12 +Brand#11 |MEDIUM PLATED COPPER | 3| 12 +Brand#11 |MEDIUM PLATED STEEL | 14| 12 +Brand#11 |PROMO ANODIZED BRASS | 45| 12 +Brand#11 |PROMO BRUSHED NICKEL | 9| 12 +Brand#11 |PROMO BRUSHED STEEL | 45| 12 +Brand#11 |PROMO BURNISHED BRASS | 23| 12 +Brand#11 |PROMO BURNISHED COPPER | 23| 12 +Brand#11 |PROMO BURNISHED NICKEL | 36| 12 +Brand#11 |PROMO PLATED BRASS | 14| 12 +Brand#11 |PROMO PLATED COPPER | 14| 12 +Brand#11 |PROMO PLATED STEEL | 49| 12 +Brand#11 |PROMO PLATED TIN | 3| 12 +Brand#11 |PROMO POLISHED COPPER | 14| 12 +Brand#11 |PROMO POLISHED NICKEL | 3| 12 +Brand#11 |PROMO POLISHED STEEL | 3| 12 +Brand#11 |PROMO POLISHED STEEL | 23| 12 +Brand#11 |PROMO POLISHED TIN | 14| 12 +Brand#11 |SMALL ANODIZED BRASS | 49| 12 +Brand#11 |SMALL ANODIZED COPPER | 49| 12 +Brand#11 |SMALL ANODIZED NICKEL | 9| 12 +Brand#11 |SMALL ANODIZED STEEL | 45| 12 +Brand#11 |SMALL BURNISHED BRASS | 19| 12 +Brand#11 |SMALL BURNISHED BRASS | 49| 12 +Brand#11 |SMALL BURNISHED NICKEL | 9| 12 +Brand#11 |SMALL BURNISHED NICKEL | 49| 12 +Brand#11 |SMALL PLATED COPPER | 45| 12 +Brand#11 |SMALL PLATED NICKEL | 45| 12 +Brand#11 |SMALL PLATED TIN | 36| 12 +Brand#11 |SMALL POLISHED BRASS | 14| 12 +Brand#11 |SMALL POLISHED BRASS | 19| 12 +Brand#11 |SMALL POLISHED STEEL | 3| 12 +Brand#11 |SMALL POLISHED STEEL | 36| 12 +Brand#11 |STANDARD ANODIZED COPPER | 49| 12 +Brand#11 |STANDARD BRUSHED COPPER | 23| 12 +Brand#11 |STANDARD BRUSHED NICKEL | 9| 12 +Brand#11 |STANDARD BURNISHED BRASS | 19| 12 +Brand#11 |STANDARD BURNISHED COPPER| 9| 12 +Brand#11 |STANDARD PLATED STEEL | 19| 12 +Brand#11 |STANDARD PLATED TIN | 45| 12 +Brand#11 |STANDARD POLISHED STEEL | 9| 12 +Brand#11 |STANDARD POLISHED STEEL | 19| 12 +Brand#11 |STANDARD POLISHED TIN | 14| 12 +Brand#12 |ECONOMY ANODIZED BRASS | 49| 12 +Brand#12 |ECONOMY ANODIZED COPPER | 14| 12 +Brand#12 |ECONOMY ANODIZED NICKEL | 19| 12 +Brand#12 |ECONOMY ANODIZED NICKEL | 45| 12 +Brand#12 |ECONOMY BRUSHED BRASS | 23| 12 +Brand#12 |ECONOMY BRUSHED STEEL | 9| 12 +Brand#12 |ECONOMY BRUSHED TIN | 3| 12 +Brand#12 |ECONOMY BRUSHED TIN | 19| 12 +Brand#12 |ECONOMY BURNISHED BRASS | 19| 12 +Brand#12 |ECONOMY BURNISHED COPPER | 49| 12 +Brand#12 |ECONOMY BURNISHED STEEL | 9| 12 +Brand#12 |ECONOMY BURNISHED STEEL | 36| 12 +Brand#12 |ECONOMY PLATED BRASS | 3| 12 +Brand#12 |ECONOMY PLATED NICKEL | 9| 12 +Brand#12 |ECONOMY PLATED TIN | 45| 12 +Brand#12 |ECONOMY POLISHED NICKEL | 45| 12 +Brand#12 |ECONOMY POLISHED STEEL | 9| 12 +Brand#12 |ECONOMY POLISHED STEEL | 19| 12 +Brand#12 |ECONOMY POLISHED TIN | 14| 12 +Brand#12 |LARGE ANODIZED COPPER | 19| 12 +Brand#12 |LARGE ANODIZED NICKEL | 49| 12 +Brand#12 |LARGE ANODIZED TIN | 49| 12 +Brand#12 |LARGE BRUSHED BRASS | 9| 12 +Brand#12 |LARGE BRUSHED BRASS | 23| 12 +Brand#12 |LARGE BRUSHED BRASS | 49| 12 +Brand#12 |LARGE BURNISHED NICKEL | 45| 12 +Brand#12 |LARGE PLATED BRASS | 3| 12 +Brand#12 |LARGE POLISHED BRASS | 23| 12 +Brand#12 |LARGE POLISHED COPPER | 19| 12 +Brand#12 |MEDIUM ANODIZED BRASS | 3| 12 +Brand#12 |MEDIUM ANODIZED COPPER | 9| 12 +Brand#12 |MEDIUM BRUSHED BRASS | 14| 12 +Brand#12 |MEDIUM BRUSHED BRASS | 23| 12 +Brand#12 |MEDIUM BRUSHED BRASS | 45| 12 +Brand#12 |MEDIUM BRUSHED COPPER | 23| 12 +Brand#12 |MEDIUM BRUSHED NICKEL | 14| 12 +Brand#12 |MEDIUM BRUSHED TIN | 14| 12 +Brand#12 |MEDIUM BRUSHED TIN | 36| 12 +Brand#12 |MEDIUM BURNISHED BRASS | 19| 12 +Brand#12 |MEDIUM PLATED BRASS | 23| 12 +Brand#12 |MEDIUM PLATED NICKEL | 45| 12 +Brand#12 |MEDIUM PLATED STEEL | 19| 12 +Brand#12 |MEDIUM PLATED TIN | 23| 12 +Brand#12 |PROMO BRUSHED COPPER | 36| 12 +Brand#12 |PROMO BRUSHED STEEL | 19| 12 +Brand#12 |PROMO BRUSHED STEEL | 45| 12 +Brand#12 |PROMO PLATED COPPER | 14| 12 +Brand#12 |PROMO PLATED STEEL | 19| 12 +Brand#12 |PROMO POLISHED COPPER | 45| 12 +Brand#12 |PROMO POLISHED STEEL | 45| 12 +Brand#12 |PROMO POLISHED TIN | 3| 12 +Brand#12 |PROMO POLISHED TIN | 14| 12 +Brand#12 |SMALL ANODIZED BRASS | 9| 12 +Brand#12 |SMALL ANODIZED STEEL | 14| 12 +Brand#12 |SMALL BRUSHED BRASS | 36| 12 +Brand#12 |SMALL BRUSHED NICKEL | 3| 12 +Brand#12 |SMALL BRUSHED NICKEL | 9| 12 +Brand#12 |SMALL BURNISHED BRASS | 14| 12 +Brand#12 |SMALL BURNISHED BRASS | 23| 12 +Brand#12 |SMALL BURNISHED TIN | 14| 12 +Brand#12 |SMALL POLISHED NICKEL | 23| 12 +Brand#12 |STANDARD ANODIZED COPPER | 45| 12 +Brand#12 |STANDARD BRUSHED COPPER | 3| 12 +Brand#12 |STANDARD BRUSHED NICKEL | 23| 12 +Brand#12 |STANDARD BRUSHED STEEL | 3| 12 +Brand#12 |STANDARD BRUSHED TIN | 45| 12 +Brand#12 |STANDARD BURNISHED BRASS | 14| 12 +Brand#12 |STANDARD BURNISHED COPPER| 3| 12 +Brand#12 |STANDARD BURNISHED COPPER| 45| 12 +Brand#12 |STANDARD BURNISHED STEEL | 9| 12 +Brand#12 |STANDARD BURNISHED TIN | 3| 12 +Brand#12 |STANDARD PLATED COPPER | 49| 12 +Brand#12 |STANDARD PLATED NICKEL | 19| 12 +Brand#12 |STANDARD PLATED NICKEL | 45| 12 +Brand#12 |STANDARD PLATED STEEL | 19| 12 +Brand#12 |STANDARD PLATED STEEL | 36| 12 +Brand#12 |STANDARD POLISHED BRASS | 45| 12 +Brand#13 |ECONOMY ANODIZED BRASS | 36| 12 +Brand#13 |ECONOMY ANODIZED BRASS | 45| 12 +Brand#13 |ECONOMY ANODIZED COPPER | 14| 12 +Brand#13 |ECONOMY ANODIZED NICKEL | 14| 12 +Brand#13 |ECONOMY ANODIZED NICKEL | 19| 12 +Brand#13 |ECONOMY ANODIZED TIN | 23| 12 +Brand#13 |ECONOMY BRUSHED BRASS | 45| 12 +Brand#13 |ECONOMY BRUSHED NICKEL | 45| 12 +Brand#13 |ECONOMY BURNISHED BRASS | 3| 12 +Brand#13 |ECONOMY BURNISHED COPPER | 19| 12 +Brand#13 |ECONOMY BURNISHED NICKEL | 36| 12 +Brand#13 |ECONOMY PLATED COPPER | 49| 12 +Brand#13 |ECONOMY PLATED NICKEL | 3| 12 +Brand#13 |ECONOMY PLATED NICKEL | 19| 12 +Brand#13 |ECONOMY PLATED STEEL | 23| 12 +Brand#13 |ECONOMY POLISHED STEEL | 19| 12 +Brand#13 |ECONOMY POLISHED STEEL | 36| 12 +Brand#13 |LARGE ANODIZED BRASS | 49| 12 +Brand#13 |LARGE ANODIZED TIN | 9| 12 +Brand#13 |LARGE ANODIZED TIN | 19| 12 +Brand#13 |LARGE BRUSHED BRASS | 3| 12 +Brand#13 |LARGE BRUSHED COPPER | 9| 12 +Brand#13 |LARGE BRUSHED NICKEL | 3| 12 +Brand#13 |LARGE BURNISHED COPPER | 45| 12 +Brand#13 |LARGE PLATED COPPER | 23| 12 +Brand#13 |LARGE PLATED COPPER | 36| 12 +Brand#13 |LARGE PLATED NICKEL | 23| 12 +Brand#13 |LARGE PLATED NICKEL | 49| 12 +Brand#13 |LARGE PLATED STEEL | 14| 12 +Brand#13 |LARGE PLATED TIN | 9| 12 +Brand#13 |LARGE POLISHED BRASS | 49| 12 +Brand#13 |LARGE POLISHED STEEL | 9| 12 +Brand#13 |MEDIUM ANODIZED NICKEL | 3| 12 +Brand#13 |MEDIUM ANODIZED NICKEL | 36| 12 +Brand#13 |MEDIUM ANODIZED NICKEL | 45| 12 +Brand#13 |MEDIUM ANODIZED STEEL | 9| 12 +Brand#13 |MEDIUM ANODIZED STEEL | 14| 12 +Brand#13 |MEDIUM BRUSHED BRASS | 9| 12 +Brand#13 |MEDIUM BRUSHED COPPER | 3| 12 +Brand#13 |MEDIUM BRUSHED COPPER | 14| 12 +Brand#13 |MEDIUM BRUSHED STEEL | 19| 12 +Brand#13 |MEDIUM BRUSHED TIN | 19| 12 +Brand#13 |MEDIUM BURNISHED NICKEL | 36| 12 +Brand#13 |MEDIUM PLATED BRASS | 9| 12 +Brand#13 |PROMO ANODIZED COPPER | 45| 12 +Brand#13 |PROMO BRUSHED NICKEL | 23| 12 +Brand#13 |PROMO BRUSHED STEEL | 45| 12 +Brand#13 |PROMO BRUSHED TIN | 3| 12 +Brand#13 |PROMO BURNISHED BRASS | 19| 12 +Brand#13 |PROMO BURNISHED COPPER | 19| 12 +Brand#13 |PROMO BURNISHED NICKEL | 3| 12 +Brand#13 |PROMO BURNISHED NICKEL | 49| 12 +Brand#13 |PROMO PLATED COPPER | 3| 12 +Brand#13 |PROMO PLATED NICKEL | 3| 12 +Brand#13 |PROMO PLATED STEEL | 45| 12 +Brand#13 |PROMO POLISHED NICKEL | 3| 12 +Brand#13 |PROMO POLISHED STEEL | 14| 12 +Brand#13 |SMALL ANODIZED BRASS | 49| 12 +Brand#13 |SMALL ANODIZED COPPER | 36| 12 +Brand#13 |SMALL ANODIZED TIN | 9| 12 +Brand#13 |SMALL ANODIZED TIN | 23| 12 +Brand#13 |SMALL BRUSHED COPPER | 14| 12 +Brand#13 |SMALL BRUSHED COPPER | 45| 12 +Brand#13 |SMALL BURNISHED NICKEL | 3| 12 +Brand#13 |SMALL PLATED BRASS | 45| 12 +Brand#13 |SMALL PLATED NICKEL | 45| 12 +Brand#13 |SMALL PLATED TIN | 14| 12 +Brand#13 |SMALL POLISHED BRASS | 49| 12 +Brand#13 |SMALL POLISHED NICKEL | 19| 12 +Brand#13 |STANDARD BRUSHED BRASS | 14| 12 +Brand#13 |STANDARD BRUSHED COPPER | 23| 12 +Brand#13 |STANDARD BURNISHED COPPER| 3| 12 +Brand#13 |STANDARD BURNISHED COPPER| 23| 12 +Brand#13 |STANDARD BURNISHED COPPER| 45| 12 +Brand#13 |STANDARD BURNISHED STEEL | 3| 12 +Brand#13 |STANDARD BURNISHED STEEL | 19| 12 +Brand#13 |STANDARD BURNISHED TIN | 23| 12 +Brand#13 |STANDARD PLATED BRASS | 14| 12 +Brand#13 |STANDARD PLATED COPPER | 45| 12 +Brand#13 |STANDARD PLATED NICKEL | 45| 12 +Brand#13 |STANDARD PLATED STEEL | 9| 12 +Brand#13 |STANDARD POLISHED BRASS | 19| 12 +Brand#13 |STANDARD POLISHED NICKEL | 19| 12 +Brand#14 |ECONOMY ANODIZED COPPER | 9| 12 +Brand#14 |ECONOMY ANODIZED NICKEL | 49| 12 +Brand#14 |ECONOMY ANODIZED STEEL | 45| 12 +Brand#14 |ECONOMY BRUSHED BRASS | 23| 12 +Brand#14 |ECONOMY BRUSHED COPPER | 19| 12 +Brand#14 |ECONOMY BRUSHED COPPER | 45| 12 +Brand#14 |ECONOMY BRUSHED NICKEL | 36| 12 +Brand#14 |ECONOMY BRUSHED TIN | 14| 12 +Brand#14 |ECONOMY BURNISHED COPPER | 9| 12 +Brand#14 |ECONOMY BURNISHED COPPER | 23| 12 +Brand#14 |ECONOMY BURNISHED STEEL | 9| 12 +Brand#14 |ECONOMY BURNISHED STEEL | 14| 12 +Brand#14 |ECONOMY PLATED BRASS | 9| 12 +Brand#14 |ECONOMY POLISHED BRASS | 19| 12 +Brand#14 |ECONOMY POLISHED COPPER | 23| 12 +Brand#14 |ECONOMY POLISHED STEEL | 45| 12 +Brand#14 |LARGE ANODIZED COPPER | 49| 12 +Brand#14 |LARGE ANODIZED NICKEL | 23| 12 +Brand#14 |LARGE ANODIZED NICKEL | 45| 12 +Brand#14 |LARGE ANODIZED STEEL | 9| 12 +Brand#14 |LARGE BRUSHED COPPER | 14| 12 +Brand#14 |LARGE BRUSHED TIN | 3| 12 +Brand#14 |LARGE BRUSHED TIN | 45| 12 +Brand#14 |LARGE BURNISHED COPPER | 49| 12 +Brand#14 |LARGE PLATED BRASS | 19| 12 +Brand#14 |LARGE PLATED COPPER | 3| 12 +Brand#14 |LARGE PLATED NICKEL | 36| 12 +Brand#14 |MEDIUM ANODIZED STEEL | 36| 12 +Brand#14 |MEDIUM BRUSHED BRASS | 9| 12 +Brand#14 |MEDIUM BRUSHED TIN | 19| 12 +Brand#14 |MEDIUM BURNISHED BRASS | 49| 12 +Brand#14 |MEDIUM BURNISHED COPPER | 14| 12 +Brand#14 |MEDIUM BURNISHED NICKEL | 36| 12 +Brand#14 |MEDIUM BURNISHED STEEL | 3| 12 +Brand#14 |MEDIUM BURNISHED STEEL | 19| 12 +Brand#14 |MEDIUM PLATED COPPER | 36| 12 +Brand#14 |MEDIUM PLATED TIN | 49| 12 +Brand#14 |PROMO ANODIZED NICKEL | 36| 12 +Brand#14 |PROMO BRUSHED COPPER | 14| 12 +Brand#14 |PROMO BURNISHED NICKEL | 14| 12 +Brand#14 |PROMO PLATED COPPER | 45| 12 +Brand#14 |PROMO PLATED NICKEL | 36| 12 +Brand#14 |PROMO PLATED STEEL | 9| 12 +Brand#14 |PROMO PLATED TIN | 19| 12 +Brand#14 |PROMO PLATED TIN | 45| 12 +Brand#14 |PROMO PLATED TIN | 49| 12 +Brand#14 |PROMO POLISHED BRASS | 9| 12 +Brand#14 |PROMO POLISHED COPPER | 14| 12 +Brand#14 |PROMO POLISHED NICKEL | 9| 12 +Brand#14 |SMALL ANODIZED NICKEL | 45| 12 +Brand#14 |SMALL ANODIZED TIN | 45| 12 +Brand#14 |SMALL BRUSHED NICKEL | 19| 12 +Brand#14 |SMALL BRUSHED TIN | 19| 12 +Brand#14 |SMALL BURNISHED STEEL | 9| 12 +Brand#14 |SMALL BURNISHED STEEL | 36| 12 +Brand#14 |SMALL PLATED BRASS | 23| 12 +Brand#14 |SMALL PLATED COPPER | 9| 12 +Brand#14 |SMALL PLATED STEEL | 23| 12 +Brand#14 |SMALL POLISHED BRASS | 3| 12 +Brand#14 |SMALL POLISHED BRASS | 9| 12 +Brand#14 |SMALL POLISHED COPPER | 36| 12 +Brand#14 |SMALL POLISHED NICKEL | 49| 12 +Brand#14 |SMALL POLISHED STEEL | 14| 12 +Brand#14 |SMALL POLISHED TIN | 49| 12 +Brand#14 |STANDARD ANODIZED STEEL | 49| 12 +Brand#14 |STANDARD BRUSHED BRASS | 3| 12 +Brand#14 |STANDARD BRUSHED STEEL | 49| 12 +Brand#14 |STANDARD BURNISHED BRASS | 23| 12 +Brand#14 |STANDARD PLATED NICKEL | 49| 12 +Brand#14 |STANDARD POLISHED COPPER | 36| 12 +Brand#14 |STANDARD POLISHED COPPER | 45| 12 +Brand#15 |ECONOMY ANODIZED TIN | 19| 12 +Brand#15 |ECONOMY BRUSHED NICKEL | 14| 12 +Brand#15 |ECONOMY BURNISHED STEEL | 19| 12 +Brand#15 |ECONOMY PLATED NICKEL | 9| 12 +Brand#15 |ECONOMY PLATED STEEL | 3| 12 +Brand#15 |ECONOMY PLATED STEEL | 19| 12 +Brand#15 |ECONOMY PLATED TIN | 9| 12 +Brand#15 |ECONOMY POLISHED COPPER | 36| 12 +Brand#15 |ECONOMY POLISHED NICKEL | 45| 12 +Brand#15 |LARGE ANODIZED BRASS | 19| 12 +Brand#15 |LARGE ANODIZED STEEL | 14| 12 +Brand#15 |LARGE ANODIZED TIN | 23| 12 +Brand#15 |LARGE BRUSHED BRASS | 19| 12 +Brand#15 |LARGE BRUSHED BRASS | 49| 12 +Brand#15 |LARGE BURNISHED BRASS | 3| 12 +Brand#15 |LARGE BURNISHED BRASS | 23| 12 +Brand#15 |LARGE BURNISHED COPPER | 9| 12 +Brand#15 |LARGE BURNISHED COPPER | 49| 12 +Brand#15 |LARGE BURNISHED STEEL | 9| 12 +Brand#15 |LARGE PLATED BRASS | 9| 12 +Brand#15 |MEDIUM BRUSHED BRASS | 14| 12 +Brand#15 |MEDIUM BRUSHED NICKEL | 14| 12 +Brand#15 |MEDIUM BRUSHED NICKEL | 19| 12 +Brand#15 |MEDIUM BRUSHED STEEL | 36| 12 +Brand#15 |MEDIUM BRUSHED TIN | 14| 12 +Brand#15 |MEDIUM BURNISHED STEEL | 3| 12 +Brand#15 |MEDIUM PLATED TIN | 9| 12 +Brand#15 |MEDIUM PLATED TIN | 45| 12 +Brand#15 |PROMO BRUSHED BRASS | 36| 12 +Brand#15 |PROMO BRUSHED STEEL | 9| 12 +Brand#15 |PROMO BURNISHED NICKEL | 9| 12 +Brand#15 |PROMO PLATED COPPER | 36| 12 +Brand#15 |PROMO POLISHED BRASS | 14| 12 +Brand#15 |PROMO POLISHED COPPER | 9| 12 +Brand#15 |PROMO POLISHED NICKEL | 36| 12 +Brand#15 |PROMO POLISHED TIN | 49| 12 +Brand#15 |SMALL ANODIZED STEEL | 45| 12 +Brand#15 |SMALL BRUSHED BRASS | 45| 12 +Brand#15 |SMALL BRUSHED COPPER | 14| 12 +Brand#15 |SMALL BRUSHED COPPER | 19| 12 +Brand#15 |SMALL BRUSHED NICKEL | 36| 12 +Brand#15 |SMALL BURNISHED BRASS | 3| 12 +Brand#15 |SMALL PLATED COPPER | 19| 12 +Brand#15 |SMALL PLATED COPPER | 23| 12 +Brand#15 |SMALL PLATED NICKEL | 19| 12 +Brand#15 |SMALL POLISHED BRASS | 45| 12 +Brand#15 |SMALL POLISHED NICKEL | 19| 12 +Brand#15 |SMALL POLISHED NICKEL | 23| 12 +Brand#15 |SMALL POLISHED TIN | 3| 12 +Brand#15 |SMALL POLISHED TIN | 49| 12 +Brand#15 |STANDARD ANODIZED NICKEL | 3| 12 +Brand#15 |STANDARD ANODIZED STEEL | 19| 12 +Brand#15 |STANDARD ANODIZED TIN | 36| 12 +Brand#15 |STANDARD BRUSHED BRASS | 49| 12 +Brand#15 |STANDARD BRUSHED COPPER | 49| 12 +Brand#15 |STANDARD BRUSHED NICKEL | 3| 12 +Brand#15 |STANDARD BRUSHED STEEL | 19| 12 +Brand#15 |STANDARD BURNISHED BRASS | 19| 12 +Brand#15 |STANDARD BURNISHED COPPER| 14| 12 +Brand#15 |STANDARD BURNISHED COPPER| 36| 12 +Brand#15 |STANDARD BURNISHED TIN | 49| 12 +Brand#15 |STANDARD PLATED COPPER | 14| 12 +Brand#15 |STANDARD PLATED STEEL | 3| 12 +Brand#15 |STANDARD PLATED TIN | 9| 12 +Brand#15 |STANDARD PLATED TIN | 45| 12 +Brand#15 |STANDARD POLISHED TIN | 14| 12 +Brand#21 |ECONOMY ANODIZED STEEL | 19| 12 +Brand#21 |ECONOMY BRUSHED COPPER | 14| 12 +Brand#21 |ECONOMY BRUSHED NICKEL | 23| 12 +Brand#21 |ECONOMY BRUSHED STEEL | 45| 12 +Brand#21 |ECONOMY BRUSHED TIN | 19| 12 +Brand#21 |ECONOMY BURNISHED BRASS | 19| 12 +Brand#21 |ECONOMY BURNISHED COPPER | 45| 12 +Brand#21 |ECONOMY BURNISHED STEEL | 9| 12 +Brand#21 |ECONOMY BURNISHED STEEL | 14| 12 +Brand#21 |ECONOMY BURNISHED TIN | 49| 12 +Brand#21 |ECONOMY PLATED BRASS | 49| 12 +Brand#21 |ECONOMY PLATED COPPER | 14| 12 +Brand#21 |ECONOMY PLATED NICKEL | 3| 12 +Brand#21 |ECONOMY PLATED STEEL | 9| 12 +Brand#21 |ECONOMY PLATED TIN | 19| 12 +Brand#21 |ECONOMY PLATED TIN | 23| 12 +Brand#21 |ECONOMY POLISHED BRASS | 9| 12 +Brand#21 |ECONOMY POLISHED STEEL | 14| 12 +Brand#21 |LARGE ANODIZED COPPER | 3| 12 +Brand#21 |LARGE ANODIZED TIN | 3| 12 +Brand#21 |LARGE ANODIZED TIN | 14| 12 +Brand#21 |LARGE ANODIZED TIN | 45| 12 +Brand#21 |LARGE BRUSHED COPPER | 23| 12 +Brand#21 |LARGE BRUSHED NICKEL | 36| 12 +Brand#21 |LARGE BRUSHED STEEL | 23| 12 +Brand#21 |LARGE BRUSHED TIN | 45| 12 +Brand#21 |LARGE BRUSHED TIN | 49| 12 +Brand#21 |LARGE BURNISHED BRASS | 14| 12 +Brand#21 |LARGE BURNISHED NICKEL | 14| 12 +Brand#21 |LARGE BURNISHED STEEL | 19| 12 +Brand#21 |LARGE PLATED BRASS | 14| 12 +Brand#21 |LARGE PLATED COPPER | 19| 12 +Brand#21 |LARGE PLATED COPPER | 49| 12 +Brand#21 |LARGE POLISHED COPPER | 14| 12 +Brand#21 |LARGE POLISHED STEEL | 45| 12 +Brand#21 |MEDIUM ANODIZED NICKEL | 3| 12 +Brand#21 |MEDIUM ANODIZED STEEL | 14| 12 +Brand#21 |MEDIUM BRUSHED BRASS | 23| 12 +Brand#21 |MEDIUM BURNISHED COPPER | 49| 12 +Brand#21 |MEDIUM BURNISHED NICKEL | 9| 12 +Brand#21 |MEDIUM BURNISHED TIN | 9| 12 +Brand#21 |MEDIUM PLATED BRASS | 36| 12 +Brand#21 |MEDIUM PLATED NICKEL | 36| 12 +Brand#21 |MEDIUM PLATED STEEL | 36| 12 +Brand#21 |MEDIUM PLATED TIN | 9| 12 +Brand#21 |PROMO ANODIZED BRASS | 9| 12 +Brand#21 |PROMO ANODIZED COPPER | 9| 12 +Brand#21 |PROMO ANODIZED NICKEL | 19| 12 +Brand#21 |PROMO ANODIZED STEEL | 36| 12 +Brand#21 |PROMO ANODIZED TIN | 45| 12 +Brand#21 |PROMO BRUSHED NICKEL | 9| 12 +Brand#21 |PROMO BRUSHED STEEL | 14| 12 +Brand#21 |PROMO BRUSHED STEEL | 19| 12 +Brand#21 |PROMO BRUSHED STEEL | 45| 12 +Brand#21 |PROMO BRUSHED TIN | 14| 12 +Brand#21 |PROMO BURNISHED COPPER | 3| 12 +Brand#21 |PROMO BURNISHED STEEL | 14| 12 +Brand#21 |PROMO PLATED BRASS | 36| 12 +Brand#21 |PROMO PLATED COPPER | 49| 12 +Brand#21 |PROMO PLATED TIN | 45| 12 +Brand#21 |PROMO POLISHED COPPER | 9| 12 +Brand#21 |PROMO POLISHED COPPER | 19| 12 +Brand#21 |PROMO POLISHED NICKEL | 23| 12 +Brand#21 |PROMO POLISHED STEEL | 3| 12 +Brand#21 |PROMO POLISHED STEEL | 9| 12 +Brand#21 |PROMO POLISHED TIN | 9| 12 +Brand#21 |PROMO POLISHED TIN | 14| 12 +Brand#21 |PROMO POLISHED TIN | 19| 12 +Brand#21 |SMALL BRUSHED NICKEL | 9| 12 +Brand#21 |SMALL BRUSHED NICKEL | 45| 12 +Brand#21 |SMALL BRUSHED STEEL | 3| 12 +Brand#21 |SMALL BRUSHED STEEL | 9| 12 +Brand#21 |SMALL BRUSHED TIN | 14| 12 +Brand#21 |SMALL PLATED BRASS | 36| 12 +Brand#21 |SMALL PLATED COPPER | 14| 12 +Brand#21 |SMALL PLATED COPPER | 23| 12 +Brand#21 |SMALL POLISHED NICKEL | 9| 12 +Brand#21 |SMALL POLISHED STEEL | 3| 12 +Brand#21 |STANDARD ANODIZED NICKEL | 3| 12 +Brand#21 |STANDARD ANODIZED NICKEL | 19| 12 +Brand#21 |STANDARD BRUSHED BRASS | 9| 12 +Brand#21 |STANDARD BRUSHED NICKEL | 23| 12 +Brand#21 |STANDARD BRUSHED NICKEL | 45| 12 +Brand#21 |STANDARD BURNISHED BRASS | 49| 12 +Brand#21 |STANDARD PLATED COPPER | 45| 12 +Brand#21 |STANDARD PLATED NICKEL | 49| 12 +Brand#21 |STANDARD PLATED STEEL | 36| 12 +Brand#21 |STANDARD PLATED TIN | 9| 12 +Brand#21 |STANDARD POLISHED COPPER | 49| 12 +Brand#22 |ECONOMY ANODIZED COPPER | 36| 12 +Brand#22 |ECONOMY ANODIZED COPPER | 45| 12 +Brand#22 |ECONOMY ANODIZED NICKEL | 45| 12 +Brand#22 |ECONOMY ANODIZED STEEL | 45| 12 +Brand#22 |ECONOMY ANODIZED TIN | 49| 12 +Brand#22 |ECONOMY BRUSHED STEEL | 45| 12 +Brand#22 |ECONOMY BRUSHED TIN | 49| 12 +Brand#22 |ECONOMY BURNISHED BRASS | 19| 12 +Brand#22 |ECONOMY BURNISHED BRASS | 23| 12 +Brand#22 |ECONOMY BURNISHED BRASS | 45| 12 +Brand#22 |ECONOMY BURNISHED COPPER | 3| 12 +Brand#22 |ECONOMY BURNISHED COPPER | 9| 12 +Brand#22 |ECONOMY BURNISHED COPPER | 49| 12 +Brand#22 |ECONOMY BURNISHED NICKEL | 14| 12 +Brand#22 |ECONOMY BURNISHED NICKEL | 23| 12 +Brand#22 |ECONOMY BURNISHED STEEL | 23| 12 +Brand#22 |ECONOMY BURNISHED STEEL | 45| 12 +Brand#22 |ECONOMY BURNISHED STEEL | 49| 12 +Brand#22 |ECONOMY BURNISHED TIN | 9| 12 +Brand#22 |ECONOMY BURNISHED TIN | 19| 12 +Brand#22 |ECONOMY PLATED BRASS | 36| 12 +Brand#22 |ECONOMY PLATED COPPER | 3| 12 +Brand#22 |ECONOMY PLATED STEEL | 23| 12 +Brand#22 |ECONOMY POLISHED COPPER | 14| 12 +Brand#22 |ECONOMY POLISHED TIN | 49| 12 +Brand#22 |LARGE ANODIZED NICKEL | 14| 12 +Brand#22 |LARGE ANODIZED TIN | 14| 12 +Brand#22 |LARGE BRUSHED BRASS | 9| 12 +Brand#22 |LARGE BRUSHED BRASS | 49| 12 +Brand#22 |LARGE BRUSHED COPPER | 14| 12 +Brand#22 |LARGE BRUSHED STEEL | 19| 12 +Brand#22 |LARGE BRUSHED TIN | 23| 12 +Brand#22 |LARGE BURNISHED BRASS | 14| 12 +Brand#22 |LARGE BURNISHED TIN | 36| 12 +Brand#22 |LARGE PLATED STEEL | 9| 12 +Brand#22 |LARGE PLATED TIN | 49| 12 +Brand#22 |LARGE POLISHED COPPER | 23| 12 +Brand#22 |LARGE POLISHED NICKEL | 19| 12 +Brand#22 |LARGE POLISHED NICKEL | 23| 12 +Brand#22 |LARGE POLISHED STEEL | 3| 12 +Brand#22 |MEDIUM ANODIZED COPPER | 19| 12 +Brand#22 |MEDIUM ANODIZED NICKEL | 45| 12 +Brand#22 |MEDIUM BRUSHED NICKEL | 9| 12 +Brand#22 |MEDIUM BRUSHED STEEL | 3| 12 +Brand#22 |MEDIUM PLATED BRASS | 36| 12 +Brand#22 |MEDIUM PLATED NICKEL | 14| 12 +Brand#22 |PROMO ANODIZED COPPER | 45| 12 +Brand#22 |PROMO ANODIZED STEEL | 36| 12 +Brand#22 |PROMO BURNISHED BRASS | 3| 12 +Brand#22 |PROMO BURNISHED BRASS | 23| 12 +Brand#22 |PROMO BURNISHED STEEL | 3| 12 +Brand#22 |PROMO PLATED BRASS | 14| 12 +Brand#22 |PROMO POLISHED BRASS | 14| 12 +Brand#22 |PROMO POLISHED COPPER | 3| 12 +Brand#22 |PROMO POLISHED COPPER | 23| 12 +Brand#22 |PROMO POLISHED NICKEL | 19| 12 +Brand#22 |PROMO POLISHED NICKEL | 36| 12 +Brand#22 |PROMO POLISHED STEEL | 36| 12 +Brand#22 |SMALL ANODIZED COPPER | 9| 12 +Brand#22 |SMALL ANODIZED STEEL | 19| 12 +Brand#22 |SMALL ANODIZED TIN | 19| 12 +Brand#22 |SMALL ANODIZED TIN | 49| 12 +Brand#22 |SMALL BRUSHED COPPER | 36| 12 +Brand#22 |SMALL BRUSHED TIN | 45| 12 +Brand#22 |SMALL BURNISHED COPPER | 49| 12 +Brand#22 |SMALL BURNISHED NICKEL | 9| 12 +Brand#22 |SMALL PLATED BRASS | 9| 12 +Brand#22 |SMALL PLATED COPPER | 3| 12 +Brand#22 |SMALL POLISHED NICKEL | 9| 12 +Brand#22 |SMALL POLISHED NICKEL | 49| 12 +Brand#22 |SMALL POLISHED STEEL | 49| 12 +Brand#22 |STANDARD ANODIZED BRASS | 23| 12 +Brand#22 |STANDARD ANODIZED STEEL | 49| 12 +Brand#22 |STANDARD BRUSHED BRASS | 36| 12 +Brand#22 |STANDARD BRUSHED TIN | 19| 12 +Brand#22 |STANDARD BRUSHED TIN | 49| 12 +Brand#22 |STANDARD BURNISHED TIN | 14| 12 +Brand#22 |STANDARD PLATED BRASS | 45| 12 +Brand#22 |STANDARD PLATED COPPER | 36| 12 +Brand#22 |STANDARD PLATED NICKEL | 9| 12 +Brand#22 |STANDARD PLATED STEEL | 36| 12 +Brand#22 |STANDARD PLATED STEEL | 49| 12 +Brand#22 |STANDARD PLATED TIN | 3| 12 +Brand#22 |STANDARD PLATED TIN | 36| 12 +Brand#22 |STANDARD PLATED TIN | 49| 12 +Brand#22 |STANDARD POLISHED BRASS | 19| 12 +Brand#22 |STANDARD POLISHED COPPER | 9| 12 +Brand#22 |STANDARD POLISHED NICKEL | 19| 12 +Brand#22 |STANDARD POLISHED STEEL | 9| 12 +Brand#22 |STANDARD POLISHED TIN | 45| 12 +Brand#23 |ECONOMY ANODIZED BRASS | 36| 12 +Brand#23 |ECONOMY ANODIZED NICKEL | 9| 12 +Brand#23 |ECONOMY ANODIZED STEEL | 49| 12 +Brand#23 |ECONOMY BRUSHED COPPER | 3| 12 +Brand#23 |ECONOMY BRUSHED COPPER | 49| 12 +Brand#23 |ECONOMY BRUSHED NICKEL | 23| 12 +Brand#23 |ECONOMY BURNISHED STEEL | 49| 12 +Brand#23 |ECONOMY BURNISHED TIN | 3| 12 +Brand#23 |ECONOMY PLATED STEEL | 14| 12 +Brand#23 |ECONOMY PLATED TIN | 49| 12 +Brand#23 |ECONOMY POLISHED COPPER | 23| 12 +Brand#23 |ECONOMY POLISHED NICKEL | 36| 12 +Brand#23 |ECONOMY POLISHED TIN | 3| 12 +Brand#23 |LARGE ANODIZED TIN | 14| 12 +Brand#23 |LARGE BURNISHED STEEL | 23| 12 +Brand#23 |LARGE BURNISHED TIN | 19| 12 +Brand#23 |LARGE PLATED COPPER | 14| 12 +Brand#23 |LARGE PLATED STEEL | 9| 12 +Brand#23 |LARGE POLISHED BRASS | 19| 12 +Brand#23 |LARGE POLISHED COPPER | 45| 12 +Brand#23 |LARGE POLISHED COPPER | 49| 12 +Brand#23 |LARGE POLISHED TIN | 3| 12 +Brand#23 |MEDIUM BRUSHED BRASS | 9| 12 +Brand#23 |MEDIUM BRUSHED COPPER | 3| 12 +Brand#23 |MEDIUM BRUSHED NICKEL | 23| 12 +Brand#23 |MEDIUM BRUSHED NICKEL | 36| 12 +Brand#23 |MEDIUM BURNISHED COPPER | 9| 12 +Brand#23 |MEDIUM BURNISHED COPPER | 19| 12 +Brand#23 |MEDIUM PLATED COPPER | 19| 12 +Brand#23 |MEDIUM PLATED STEEL | 14| 12 +Brand#23 |PROMO ANODIZED BRASS | 9| 12 +Brand#23 |PROMO ANODIZED BRASS | 19| 12 +Brand#23 |PROMO ANODIZED NICKEL | 3| 12 +Brand#23 |PROMO ANODIZED STEEL | 36| 12 +Brand#23 |PROMO BRUSHED COPPER | 36| 12 +Brand#23 |PROMO BURNISHED BRASS | 9| 12 +Brand#23 |PROMO BURNISHED STEEL | 9| 12 +Brand#23 |PROMO BURNISHED TIN | 3| 12 +Brand#23 |PROMO BURNISHED TIN | 45| 12 +Brand#23 |PROMO PLATED BRASS | 19| 12 +Brand#23 |PROMO PLATED BRASS | 23| 12 +Brand#23 |PROMO PLATED BRASS | 49| 12 +Brand#23 |PROMO PLATED NICKEL | 3| 12 +Brand#23 |PROMO PLATED TIN | 14| 12 +Brand#23 |PROMO POLISHED TIN | 45| 12 +Brand#23 |SMALL ANODIZED STEEL | 3| 12 +Brand#23 |SMALL ANODIZED TIN | 45| 12 +Brand#23 |SMALL BRUSHED BRASS | 19| 12 +Brand#23 |SMALL BRUSHED STEEL | 3| 12 +Brand#23 |SMALL BURNISHED BRASS | 14| 12 +Brand#23 |SMALL BURNISHED COPPER | 36| 12 +Brand#23 |SMALL BURNISHED STEEL | 45| 12 +Brand#23 |SMALL PLATED BRASS | 49| 12 +Brand#23 |SMALL PLATED STEEL | 23| 12 +Brand#23 |SMALL PLATED TIN | 14| 12 +Brand#23 |SMALL POLISHED COPPER | 49| 12 +Brand#23 |SMALL POLISHED TIN | 23| 12 +Brand#23 |STANDARD ANODIZED BRASS | 23| 12 +Brand#23 |STANDARD ANODIZED TIN | 3| 12 +Brand#23 |STANDARD ANODIZED TIN | 45| 12 +Brand#23 |STANDARD BRUSHED BRASS | 3| 12 +Brand#23 |STANDARD BRUSHED STEEL | 9| 12 +Brand#23 |STANDARD BRUSHED TIN | 19| 12 +Brand#23 |STANDARD PLATED BRASS | 3| 12 +Brand#23 |STANDARD PLATED NICKEL | 49| 12 +Brand#23 |STANDARD PLATED TIN | 9| 12 +Brand#23 |STANDARD PLATED TIN | 19| 12 +Brand#23 |STANDARD POLISHED STEEL | 23| 12 +Brand#23 |STANDARD POLISHED TIN | 23| 12 +Brand#24 |ECONOMY ANODIZED BRASS | 19| 12 +Brand#24 |ECONOMY ANODIZED COPPER | 36| 12 +Brand#24 |ECONOMY ANODIZED COPPER | 49| 12 +Brand#24 |ECONOMY ANODIZED NICKEL | 3| 12 +Brand#24 |ECONOMY ANODIZED STEEL | 23| 12 +Brand#24 |ECONOMY ANODIZED STEEL | 45| 12 +Brand#24 |ECONOMY BRUSHED STEEL | 9| 12 +Brand#24 |ECONOMY BRUSHED TIN | 49| 12 +Brand#24 |ECONOMY BURNISHED BRASS | 14| 12 +Brand#24 |ECONOMY BURNISHED COPPER | 3| 12 +Brand#24 |ECONOMY BURNISHED COPPER | 19| 12 +Brand#24 |ECONOMY BURNISHED STEEL | 45| 12 +Brand#24 |ECONOMY PLATED COPPER | 49| 12 +Brand#24 |ECONOMY PLATED STEEL | 45| 12 +Brand#24 |ECONOMY POLISHED BRASS | 23| 12 +Brand#24 |ECONOMY POLISHED STEEL | 14| 12 +Brand#24 |ECONOMY POLISHED TIN | 14| 12 +Brand#24 |ECONOMY POLISHED TIN | 45| 12 +Brand#24 |ECONOMY POLISHED TIN | 49| 12 +Brand#24 |LARGE ANODIZED BRASS | 3| 12 +Brand#24 |LARGE ANODIZED BRASS | 45| 12 +Brand#24 |LARGE BRUSHED BRASS | 14| 12 +Brand#24 |LARGE BRUSHED BRASS | 45| 12 +Brand#24 |LARGE BRUSHED STEEL | 23| 12 +Brand#24 |LARGE BRUSHED STEEL | 45| 12 +Brand#24 |LARGE BURNISHED STEEL | 3| 12 +Brand#24 |LARGE BURNISHED TIN | 23| 12 +Brand#24 |LARGE PLATED COPPER | 23| 12 +Brand#24 |LARGE PLATED STEEL | 3| 12 +Brand#24 |LARGE POLISHED COPPER | 9| 12 +Brand#24 |LARGE POLISHED TIN | 14| 12 +Brand#24 |MEDIUM ANODIZED BRASS | 14| 12 +Brand#24 |MEDIUM BRUSHED NICKEL | 9| 12 +Brand#24 |MEDIUM BRUSHED NICKEL | 36| 12 +Brand#24 |MEDIUM BRUSHED STEEL | 23| 12 +Brand#24 |MEDIUM BRUSHED STEEL | 49| 12 +Brand#24 |MEDIUM BURNISHED BRASS | 36| 12 +Brand#24 |MEDIUM BURNISHED STEEL | 49| 12 +Brand#24 |MEDIUM BURNISHED TIN | 23| 12 +Brand#24 |MEDIUM PLATED BRASS | 3| 12 +Brand#24 |MEDIUM PLATED NICKEL | 36| 12 +Brand#24 |PROMO ANODIZED NICKEL | 19| 12 +Brand#24 |PROMO ANODIZED NICKEL | 45| 12 +Brand#24 |PROMO ANODIZED TIN | 14| 12 +Brand#24 |PROMO BRUSHED COPPER | 23| 12 +Brand#24 |PROMO BRUSHED COPPER | 49| 12 +Brand#24 |PROMO BRUSHED NICKEL | 3| 12 +Brand#24 |PROMO BURNISHED BRASS | 36| 12 +Brand#24 |PROMO BURNISHED STEEL | 14| 12 +Brand#24 |PROMO BURNISHED TIN | 14| 12 +Brand#24 |PROMO PLATED STEEL | 3| 12 +Brand#24 |PROMO POLISHED BRASS | 3| 12 +Brand#24 |PROMO POLISHED BRASS | 14| 12 +Brand#24 |PROMO POLISHED COPPER | 45| 12 +Brand#24 |SMALL ANODIZED COPPER | 3| 12 +Brand#24 |SMALL ANODIZED NICKEL | 23| 12 +Brand#24 |SMALL BRUSHED BRASS | 45| 12 +Brand#24 |SMALL BRUSHED COPPER | 9| 12 +Brand#24 |SMALL BRUSHED NICKEL | 49| 12 +Brand#24 |SMALL BURNISHED BRASS | 3| 12 +Brand#24 |SMALL BURNISHED BRASS | 14| 12 +Brand#24 |SMALL BURNISHED COPPER | 19| 12 +Brand#24 |SMALL BURNISHED NICKEL | 9| 12 +Brand#24 |SMALL PLATED BRASS | 3| 12 +Brand#24 |SMALL PLATED BRASS | 14| 12 +Brand#24 |SMALL PLATED NICKEL | 14| 12 +Brand#24 |SMALL POLISHED BRASS | 3| 12 +Brand#24 |SMALL POLISHED NICKEL | 19| 12 +Brand#24 |SMALL POLISHED TIN | 9| 12 +Brand#24 |STANDARD ANODIZED TIN | 49| 12 +Brand#24 |STANDARD BRUSHED BRASS | 14| 12 +Brand#24 |STANDARD BRUSHED BRASS | 23| 12 +Brand#24 |STANDARD BRUSHED NICKEL | 19| 12 +Brand#24 |STANDARD BRUSHED STEEL | 23| 12 +Brand#24 |STANDARD PLATED BRASS | 36| 12 +Brand#24 |STANDARD PLATED COPPER | 49| 12 +Brand#24 |STANDARD PLATED NICKEL | 36| 12 +Brand#24 |STANDARD POLISHED BRASS | 9| 12 +Brand#24 |STANDARD POLISHED COPPER | 9| 12 +Brand#25 |ECONOMY ANODIZED STEEL | 14| 12 +Brand#25 |ECONOMY ANODIZED STEEL | 45| 12 +Brand#25 |ECONOMY BRUSHED NICKEL | 9| 12 +Brand#25 |ECONOMY BRUSHED STEEL | 3| 12 +Brand#25 |ECONOMY BRUSHED TIN | 14| 12 +Brand#25 |ECONOMY PLATED COPPER | 3| 12 +Brand#25 |ECONOMY PLATED NICKEL | 19| 12 +Brand#25 |ECONOMY PLATED STEEL | 9| 12 +Brand#25 |ECONOMY POLISHED BRASS | 3| 12 +Brand#25 |ECONOMY POLISHED BRASS | 9| 12 +Brand#25 |ECONOMY POLISHED NICKEL | 3| 12 +Brand#25 |LARGE ANODIZED BRASS | 14| 12 +Brand#25 |LARGE ANODIZED BRASS | 23| 12 +Brand#25 |LARGE ANODIZED COPPER | 19| 12 +Brand#25 |LARGE ANODIZED COPPER | 36| 12 +Brand#25 |LARGE BRUSHED BRASS | 19| 12 +Brand#25 |LARGE BRUSHED NICKEL | 49| 12 +Brand#25 |LARGE BRUSHED STEEL | 36| 12 +Brand#25 |LARGE BRUSHED TIN | 3| 12 +Brand#25 |LARGE BRUSHED TIN | 9| 12 +Brand#25 |LARGE BURNISHED BRASS | 23| 12 +Brand#25 |LARGE BURNISHED STEEL | 36| 12 +Brand#25 |LARGE BURNISHED TIN | 14| 12 +Brand#25 |LARGE BURNISHED TIN | 36| 12 +Brand#25 |LARGE PLATED NICKEL | 45| 12 +Brand#25 |LARGE PLATED TIN | 23| 12 +Brand#25 |MEDIUM ANODIZED BRASS | 3| 12 +Brand#25 |MEDIUM ANODIZED BRASS | 9| 12 +Brand#25 |MEDIUM ANODIZED BRASS | 14| 12 +Brand#25 |MEDIUM ANODIZED BRASS | 19| 12 +Brand#25 |MEDIUM ANODIZED STEEL | 36| 12 +Brand#25 |MEDIUM ANODIZED TIN | 3| 12 +Brand#25 |MEDIUM BRUSHED BRASS | 14| 12 +Brand#25 |MEDIUM BRUSHED BRASS | 49| 12 +Brand#25 |MEDIUM BRUSHED TIN | 9| 12 +Brand#25 |MEDIUM BRUSHED TIN | 49| 12 +Brand#25 |MEDIUM BURNISHED STEEL | 36| 12 +Brand#25 |MEDIUM PLATED COPPER | 14| 12 +Brand#25 |MEDIUM PLATED COPPER | 23| 12 +Brand#25 |MEDIUM PLATED STEEL | 36| 12 +Brand#25 |MEDIUM PLATED TIN | 14| 12 +Brand#25 |PROMO ANODIZED COPPER | 3| 12 +Brand#25 |PROMO ANODIZED NICKEL | 23| 12 +Brand#25 |PROMO ANODIZED TIN | 36| 12 +Brand#25 |PROMO BURNISHED COPPER | 19| 12 +Brand#25 |PROMO BURNISHED COPPER | 36| 12 +Brand#25 |PROMO BURNISHED COPPER | 45| 12 +Brand#25 |PROMO BURNISHED STEEL | 9| 12 +Brand#25 |PROMO PLATED BRASS | 9| 12 +Brand#25 |PROMO POLISHED BRASS | 3| 12 +Brand#25 |PROMO POLISHED BRASS | 49| 12 +Brand#25 |PROMO POLISHED NICKEL | 36| 12 +Brand#25 |PROMO POLISHED STEEL | 45| 12 +Brand#25 |SMALL ANODIZED COPPER | 45| 12 +Brand#25 |SMALL ANODIZED TIN | 14| 12 +Brand#25 |SMALL BRUSHED COPPER | 14| 12 +Brand#25 |SMALL BURNISHED BRASS | 3| 12 +Brand#25 |SMALL BURNISHED NICKEL | 45| 12 +Brand#25 |SMALL BURNISHED STEEL | 14| 12 +Brand#25 |SMALL PLATED BRASS | 19| 12 +Brand#25 |SMALL PLATED BRASS | 49| 12 +Brand#25 |SMALL PLATED COPPER | 23| 12 +Brand#25 |SMALL PLATED TIN | 3| 12 +Brand#25 |SMALL POLISHED COPPER | 9| 12 +Brand#25 |STANDARD BRUSHED TIN | 45| 12 +Brand#25 |STANDARD BURNISHED BRASS | 3| 12 +Brand#25 |STANDARD BURNISHED BRASS | 14| 12 +Brand#25 |STANDARD BURNISHED NICKEL| 36| 12 +Brand#25 |STANDARD PLATED COPPER | 9| 12 +Brand#25 |STANDARD PLATED COPPER | 23| 12 +Brand#25 |STANDARD PLATED NICKEL | 36| 12 +Brand#25 |STANDARD PLATED NICKEL | 49| 12 +Brand#25 |STANDARD PLATED TIN | 36| 12 +Brand#25 |STANDARD POLISHED COPPER | 23| 12 +Brand#25 |STANDARD POLISHED NICKEL | 45| 12 +Brand#25 |STANDARD POLISHED TIN | 3| 12 +Brand#31 |ECONOMY ANODIZED BRASS | 19| 12 +Brand#31 |ECONOMY ANODIZED TIN | 36| 12 +Brand#31 |ECONOMY BRUSHED NICKEL | 14| 12 +Brand#31 |ECONOMY BURNISHED COPPER | 14| 12 +Brand#31 |ECONOMY BURNISHED NICKEL | 19| 12 +Brand#31 |ECONOMY PLATED NICKEL | 9| 12 +Brand#31 |ECONOMY POLISHED COPPER | 3| 12 +Brand#31 |ECONOMY POLISHED TIN | 36| 12 +Brand#31 |LARGE ANODIZED COPPER | 3| 12 +Brand#31 |LARGE ANODIZED COPPER | 14| 12 +Brand#31 |LARGE ANODIZED STEEL | 36| 12 +Brand#31 |LARGE ANODIZED TIN | 3| 12 +Brand#31 |LARGE BRUSHED BRASS | 36| 12 +Brand#31 |LARGE BRUSHED NICKEL | 19| 12 +Brand#31 |LARGE BRUSHED STEEL | 36| 12 +Brand#31 |LARGE BRUSHED TIN | 14| 12 +Brand#31 |LARGE BURNISHED BRASS | 36| 12 +Brand#31 |LARGE BURNISHED NICKEL | 14| 12 +Brand#31 |LARGE PLATED STEEL | 23| 12 +Brand#31 |LARGE POLISHED BRASS | 9| 12 +Brand#31 |LARGE POLISHED STEEL | 45| 12 +Brand#31 |MEDIUM ANODIZED STEEL | 14| 12 +Brand#31 |MEDIUM ANODIZED TIN | 9| 12 +Brand#31 |MEDIUM ANODIZED TIN | 23| 12 +Brand#31 |MEDIUM BRUSHED BRASS | 23| 12 +Brand#31 |MEDIUM BRUSHED STEEL | 3| 12 +Brand#31 |MEDIUM BURNISHED BRASS | 14| 12 +Brand#31 |MEDIUM BURNISHED STEEL | 9| 12 +Brand#31 |PROMO ANODIZED COPPER | 14| 12 +Brand#31 |PROMO ANODIZED TIN | 36| 12 +Brand#31 |PROMO BRUSHED BRASS | 3| 12 +Brand#31 |PROMO BRUSHED COPPER | 23| 12 +Brand#31 |PROMO BRUSHED STEEL | 23| 12 +Brand#31 |PROMO BURNISHED BRASS | 49| 12 +Brand#31 |PROMO BURNISHED STEEL | 3| 12 +Brand#31 |PROMO PLATED BRASS | 36| 12 +Brand#31 |PROMO POLISHED NICKEL | 49| 12 +Brand#31 |SMALL ANODIZED COPPER | 3| 12 +Brand#31 |SMALL ANODIZED NICKEL | 9| 12 +Brand#31 |SMALL ANODIZED TIN | 3| 12 +Brand#31 |SMALL BRUSHED COPPER | 14| 12 +Brand#31 |SMALL BRUSHED COPPER | 19| 12 +Brand#31 |SMALL BRUSHED NICKEL | 3| 12 +Brand#31 |SMALL BRUSHED NICKEL | 23| 12 +Brand#31 |SMALL BRUSHED NICKEL | 36| 12 +Brand#31 |SMALL BURNISHED BRASS | 3| 12 +Brand#31 |SMALL BURNISHED NICKEL | 9| 12 +Brand#31 |SMALL BURNISHED TIN | 23| 12 +Brand#31 |SMALL PLATED STEEL | 19| 12 +Brand#31 |SMALL PLATED STEEL | 23| 12 +Brand#31 |SMALL POLISHED STEEL | 3| 12 +Brand#31 |STANDARD ANODIZED BRASS | 45| 12 +Brand#31 |STANDARD ANODIZED NICKEL | 3| 12 +Brand#31 |STANDARD BRUSHED COPPER | 3| 12 +Brand#31 |STANDARD BURNISHED STEEL | 45| 12 +Brand#31 |STANDARD PLATED BRASS | 3| 12 +Brand#31 |STANDARD PLATED BRASS | 19| 12 +Brand#31 |STANDARD PLATED STEEL | 19| 12 +Brand#31 |STANDARD POLISHED BRASS | 23| 12 +Brand#31 |STANDARD POLISHED COPPER | 45| 12 +Brand#32 |ECONOMY ANODIZED BRASS | 14| 12 +Brand#32 |ECONOMY ANODIZED STEEL | 23| 12 +Brand#32 |ECONOMY ANODIZED STEEL | 49| 12 +Brand#32 |ECONOMY ANODIZED TIN | 23| 12 +Brand#32 |ECONOMY BRUSHED NICKEL | 3| 12 +Brand#32 |ECONOMY BRUSHED STEEL | 36| 12 +Brand#32 |ECONOMY BRUSHED TIN | 19| 12 +Brand#32 |ECONOMY BURNISHED TIN | 19| 12 +Brand#32 |ECONOMY PLATED BRASS | 19| 12 +Brand#32 |ECONOMY PLATED NICKEL | 23| 12 +Brand#32 |ECONOMY PLATED TIN | 45| 12 +Brand#32 |LARGE ANODIZED NICKEL | 3| 12 +Brand#32 |LARGE ANODIZED STEEL | 14| 12 +Brand#32 |LARGE BRUSHED BRASS | 45| 12 +Brand#32 |LARGE BRUSHED NICKEL | 3| 12 +Brand#32 |LARGE BRUSHED STEEL | 45| 12 +Brand#32 |LARGE BRUSHED TIN | 19| 12 +Brand#32 |LARGE PLATED BRASS | 3| 12 +Brand#32 |LARGE PLATED BRASS | 9| 12 +Brand#32 |LARGE POLISHED COPPER | 19| 12 +Brand#32 |LARGE POLISHED NICKEL | 3| 12 +Brand#32 |MEDIUM ANODIZED COPPER | 45| 12 +Brand#32 |MEDIUM ANODIZED STEEL | 19| 12 +Brand#32 |MEDIUM ANODIZED STEEL | 49| 12 +Brand#32 |MEDIUM ANODIZED TIN | 45| 12 +Brand#32 |MEDIUM ANODIZED TIN | 49| 12 +Brand#32 |MEDIUM BURNISHED BRASS | 23| 12 +Brand#32 |MEDIUM BURNISHED NICKEL | 23| 12 +Brand#32 |MEDIUM PLATED BRASS | 49| 12 +Brand#32 |MEDIUM PLATED TIN | 3| 12 +Brand#32 |PROMO ANODIZED NICKEL | 49| 12 +Brand#32 |PROMO BRUSHED COPPER | 45| 12 +Brand#32 |PROMO BRUSHED STEEL | 23| 12 +Brand#32 |PROMO BRUSHED STEEL | 49| 12 +Brand#32 |PROMO BRUSHED TIN | 14| 12 +Brand#32 |PROMO BRUSHED TIN | 36| 12 +Brand#32 |PROMO BURNISHED NICKEL | 45| 12 +Brand#32 |PROMO BURNISHED TIN | 49| 12 +Brand#32 |PROMO PLATED COPPER | 49| 12 +Brand#32 |PROMO PLATED STEEL | 49| 12 +Brand#32 |PROMO POLISHED STEEL | 49| 12 +Brand#32 |PROMO POLISHED TIN | 19| 12 +Brand#32 |PROMO POLISHED TIN | 23| 12 +Brand#32 |PROMO POLISHED TIN | 45| 12 +Brand#32 |SMALL ANODIZED NICKEL | 9| 12 +Brand#32 |SMALL BRUSHED TIN | 3| 12 +Brand#32 |SMALL BRUSHED TIN | 9| 12 +Brand#32 |SMALL BURNISHED TIN | 23| 12 +Brand#32 |SMALL BURNISHED TIN | 36| 12 +Brand#32 |SMALL PLATED BRASS | 36| 12 +Brand#32 |SMALL PLATED COPPER | 14| 12 +Brand#32 |SMALL PLATED COPPER | 45| 12 +Brand#32 |SMALL PLATED STEEL | 36| 12 +Brand#32 |SMALL PLATED TIN | 14| 12 +Brand#32 |SMALL POLISHED NICKEL | 45| 12 +Brand#32 |SMALL POLISHED STEEL | 23| 12 +Brand#32 |SMALL POLISHED STEEL | 36| 12 +Brand#32 |STANDARD ANODIZED NICKEL | 9| 12 +Brand#32 |STANDARD ANODIZED STEEL | 3| 12 +Brand#32 |STANDARD ANODIZED TIN | 14| 12 +Brand#32 |STANDARD ANODIZED TIN | 19| 12 +Brand#32 |STANDARD BRUSHED BRASS | 14| 12 +Brand#32 |STANDARD BRUSHED STEEL | 14| 12 +Brand#32 |STANDARD BRUSHED TIN | 9| 12 +Brand#32 |STANDARD BURNISHED BRASS | 45| 12 +Brand#32 |STANDARD BURNISHED COPPER| 3| 12 +Brand#32 |STANDARD BURNISHED NICKEL| 3| 12 +Brand#32 |STANDARD PLATED STEEL | 9| 12 +Brand#32 |STANDARD PLATED STEEL | 49| 12 +Brand#32 |STANDARD POLISHED COPPER | 36| 12 +Brand#33 |ECONOMY ANODIZED NICKEL | 36| 12 +Brand#33 |ECONOMY ANODIZED STEEL | 23| 12 +Brand#33 |ECONOMY ANODIZED STEEL | 45| 12 +Brand#33 |ECONOMY BURNISHED NICKEL | 14| 12 +Brand#33 |ECONOMY BURNISHED TIN | 45| 12 +Brand#33 |ECONOMY PLATED STEEL | 3| 12 +Brand#33 |ECONOMY PLATED TIN | 3| 12 +Brand#33 |ECONOMY PLATED TIN | 9| 12 +Brand#33 |ECONOMY POLISHED BRASS | 3| 12 +Brand#33 |ECONOMY POLISHED BRASS | 14| 12 +Brand#33 |LARGE ANODIZED BRASS | 3| 12 +Brand#33 |LARGE ANODIZED BRASS | 36| 12 +Brand#33 |LARGE ANODIZED NICKEL | 23| 12 +Brand#33 |LARGE ANODIZED STEEL | 3| 12 +Brand#33 |LARGE ANODIZED TIN | 36| 12 +Brand#33 |LARGE BRUSHED BRASS | 23| 12 +Brand#33 |LARGE BRUSHED STEEL | 3| 12 +Brand#33 |LARGE BRUSHED TIN | 36| 12 +Brand#33 |LARGE BURNISHED BRASS | 19| 12 +Brand#33 |LARGE BURNISHED BRASS | 49| 12 +Brand#33 |LARGE PLATED NICKEL | 9| 12 +Brand#33 |LARGE PLATED NICKEL | 19| 12 +Brand#33 |LARGE POLISHED BRASS | 9| 12 +Brand#33 |LARGE POLISHED NICKEL | 45| 12 +Brand#33 |MEDIUM ANODIZED NICKEL | 19| 12 +Brand#33 |MEDIUM ANODIZED TIN | 49| 12 +Brand#33 |MEDIUM BRUSHED BRASS | 45| 12 +Brand#33 |MEDIUM BRUSHED NICKEL | 14| 12 +Brand#33 |MEDIUM BRUSHED STEEL | 14| 12 +Brand#33 |MEDIUM BRUSHED STEEL | 36| 12 +Brand#33 |MEDIUM BURNISHED BRASS | 49| 12 +Brand#33 |MEDIUM BURNISHED TIN | 3| 12 +Brand#33 |MEDIUM BURNISHED TIN | 49| 12 +Brand#33 |MEDIUM PLATED STEEL | 3| 12 +Brand#33 |MEDIUM PLATED TIN | 23| 12 +Brand#33 |PROMO ANODIZED STEEL | 23| 12 +Brand#33 |PROMO ANODIZED TIN | 9| 12 +Brand#33 |PROMO ANODIZED TIN | 49| 12 +Brand#33 |PROMO BRUSHED BRASS | 3| 12 +Brand#33 |PROMO BRUSHED BRASS | 19| 12 +Brand#33 |PROMO BRUSHED TIN | 49| 12 +Brand#33 |PROMO BURNISHED NICKEL | 23| 12 +Brand#33 |PROMO BURNISHED TIN | 3| 12 +Brand#33 |PROMO BURNISHED TIN | 19| 12 +Brand#33 |PROMO BURNISHED TIN | 23| 12 +Brand#33 |PROMO BURNISHED TIN | 36| 12 +Brand#33 |PROMO BURNISHED TIN | 49| 12 +Brand#33 |PROMO PLATED BRASS | 23| 12 +Brand#33 |PROMO PLATED BRASS | 36| 12 +Brand#33 |PROMO POLISHED COPPER | 3| 12 +Brand#33 |PROMO POLISHED NICKEL | 3| 12 +Brand#33 |PROMO POLISHED STEEL | 23| 12 +Brand#33 |SMALL ANODIZED STEEL | 14| 12 +Brand#33 |SMALL ANODIZED STEEL | 49| 12 +Brand#33 |SMALL ANODIZED TIN | 19| 12 +Brand#33 |SMALL BRUSHED BRASS | 36| 12 +Brand#33 |SMALL BRUSHED NICKEL | 19| 12 +Brand#33 |SMALL BRUSHED NICKEL | 45| 12 +Brand#33 |SMALL BURNISHED BRASS | 36| 12 +Brand#33 |SMALL BURNISHED TIN | 9| 12 +Brand#33 |SMALL PLATED BRASS | 14| 12 +Brand#33 |SMALL PLATED NICKEL | 49| 12 +Brand#33 |SMALL PLATED STEEL | 3| 12 +Brand#33 |SMALL POLISHED NICKEL | 9| 12 +Brand#33 |STANDARD ANODIZED STEEL | 14| 12 +Brand#33 |STANDARD ANODIZED STEEL | 45| 12 +Brand#33 |STANDARD ANODIZED TIN | 9| 12 +Brand#33 |STANDARD BRUSHED BRASS | 19| 12 +Brand#33 |STANDARD BRUSHED NICKEL | 14| 12 +Brand#33 |STANDARD BURNISHED BRASS | 9| 12 +Brand#33 |STANDARD BURNISHED TIN | 23| 12 +Brand#33 |STANDARD POLISHED STEEL | 45| 12 +Brand#34 |ECONOMY ANODIZED NICKEL | 9| 12 +Brand#34 |ECONOMY ANODIZED NICKEL | 49| 12 +Brand#34 |ECONOMY ANODIZED STEEL | 45| 12 +Brand#34 |ECONOMY BURNISHED COPPER | 9| 12 +Brand#34 |ECONOMY BURNISHED COPPER | 23| 12 +Brand#34 |ECONOMY BURNISHED COPPER | 36| 12 +Brand#34 |ECONOMY BURNISHED NICKEL | 19| 12 +Brand#34 |ECONOMY BURNISHED NICKEL | 49| 12 +Brand#34 |ECONOMY BURNISHED STEEL | 9| 12 +Brand#34 |ECONOMY BURNISHED TIN | 14| 12 +Brand#34 |ECONOMY PLATED BRASS | 3| 12 +Brand#34 |ECONOMY PLATED COPPER | 3| 12 +Brand#34 |ECONOMY PLATED TIN | 3| 12 +Brand#34 |ECONOMY PLATED TIN | 14| 12 +Brand#34 |ECONOMY POLISHED TIN | 36| 12 +Brand#34 |LARGE ANODIZED COPPER | 3| 12 +Brand#34 |LARGE ANODIZED NICKEL | 3| 12 +Brand#34 |LARGE ANODIZED NICKEL | 49| 12 +Brand#34 |LARGE BRUSHED COPPER | 36| 12 +Brand#34 |LARGE BRUSHED NICKEL | 19| 12 +Brand#34 |LARGE BRUSHED NICKEL | 49| 12 +Brand#34 |LARGE BURNISHED COPPER | 23| 12 +Brand#34 |LARGE BURNISHED NICKEL | 23| 12 +Brand#34 |LARGE BURNISHED TIN | 14| 12 +Brand#34 |LARGE BURNISHED TIN | 23| 12 +Brand#34 |LARGE BURNISHED TIN | 49| 12 +Brand#34 |LARGE PLATED COPPER | 9| 12 +Brand#34 |LARGE PLATED TIN | 14| 12 +Brand#34 |LARGE POLISHED BRASS | 3| 12 +Brand#34 |LARGE POLISHED BRASS | 45| 12 +Brand#34 |LARGE POLISHED COPPER | 3| 12 +Brand#34 |LARGE POLISHED NICKEL | 3| 12 +Brand#34 |LARGE POLISHED NICKEL | 49| 12 +Brand#34 |MEDIUM ANODIZED BRASS | 45| 12 +Brand#34 |MEDIUM BRUSHED BRASS | 49| 12 +Brand#34 |MEDIUM BRUSHED COPPER | 9| 12 +Brand#34 |MEDIUM BRUSHED COPPER | 23| 12 +Brand#34 |MEDIUM BRUSHED NICKEL | 9| 12 +Brand#34 |MEDIUM BRUSHED STEEL | 45| 12 +Brand#34 |MEDIUM BRUSHED TIN | 36| 12 +Brand#34 |MEDIUM BURNISHED BRASS | 14| 12 +Brand#34 |MEDIUM BURNISHED NICKEL | 3| 12 +Brand#34 |MEDIUM PLATED BRASS | 23| 12 +Brand#34 |PROMO ANODIZED NICKEL | 3| 12 +Brand#34 |PROMO BRUSHED COPPER | 49| 12 +Brand#34 |PROMO BRUSHED NICKEL | 49| 12 +Brand#34 |PROMO BURNISHED STEEL | 14| 12 +Brand#34 |PROMO PLATED BRASS | 3| 12 +Brand#34 |PROMO PLATED BRASS | 36| 12 +Brand#34 |PROMO PLATED TIN | 49| 12 +Brand#34 |PROMO POLISHED BRASS | 14| 12 +Brand#34 |PROMO POLISHED COPPER | 23| 12 +Brand#34 |PROMO POLISHED NICKEL | 49| 12 +Brand#34 |SMALL ANODIZED BRASS | 19| 12 +Brand#34 |SMALL ANODIZED COPPER | 14| 12 +Brand#34 |SMALL ANODIZED STEEL | 19| 12 +Brand#34 |SMALL ANODIZED TIN | 9| 12 +Brand#34 |SMALL BRUSHED COPPER | 14| 12 +Brand#34 |SMALL BURNISHED BRASS | 9| 12 +Brand#34 |SMALL BURNISHED BRASS | 23| 12 +Brand#34 |SMALL BURNISHED COPPER | 9| 12 +Brand#34 |SMALL BURNISHED COPPER | 36| 12 +Brand#34 |SMALL BURNISHED NICKEL | 9| 12 +Brand#34 |SMALL BURNISHED NICKEL | 14| 12 +Brand#34 |SMALL BURNISHED NICKEL | 36| 12 +Brand#34 |SMALL BURNISHED STEEL | 14| 12 +Brand#34 |SMALL PLATED BRASS | 14| 12 +Brand#34 |SMALL PLATED TIN | 45| 12 +Brand#34 |SMALL POLISHED STEEL | 19| 12 +Brand#34 |STANDARD ANODIZED BRASS | 36| 12 +Brand#34 |STANDARD ANODIZED TIN | 3| 12 +Brand#34 |STANDARD ANODIZED TIN | 14| 12 +Brand#34 |STANDARD BRUSHED BRASS | 36| 12 +Brand#34 |STANDARD BRUSHED COPPER | 3| 12 +Brand#34 |STANDARD BRUSHED STEEL | 23| 12 +Brand#34 |STANDARD BRUSHED TIN | 45| 12 +Brand#34 |STANDARD BURNISHED STEEL | 14| 12 +Brand#34 |STANDARD BURNISHED TIN | 45| 12 +Brand#34 |STANDARD POLISHED COPPER | 14| 12 +Brand#35 |ECONOMY ANODIZED BRASS | 14| 12 +Brand#35 |ECONOMY ANODIZED COPPER | 19| 12 +Brand#35 |ECONOMY ANODIZED NICKEL | 14| 12 +Brand#35 |ECONOMY ANODIZED STEEL | 14| 12 +Brand#35 |ECONOMY ANODIZED STEEL | 45| 12 +Brand#35 |ECONOMY BRUSHED BRASS | 36| 12 +Brand#35 |ECONOMY BRUSHED NICKEL | 49| 12 +Brand#35 |ECONOMY BURNISHED BRASS | 19| 12 +Brand#35 |ECONOMY BURNISHED BRASS | 36| 12 +Brand#35 |ECONOMY BURNISHED STEEL | 36| 12 +Brand#35 |ECONOMY PLATED TIN | 45| 12 +Brand#35 |ECONOMY PLATED TIN | 49| 12 +Brand#35 |ECONOMY POLISHED COPPER | 9| 12 +Brand#35 |ECONOMY POLISHED NICKEL | 23| 12 +Brand#35 |ECONOMY POLISHED STEEL | 9| 12 +Brand#35 |ECONOMY POLISHED TIN | 23| 12 +Brand#35 |LARGE ANODIZED BRASS | 3| 12 +Brand#35 |LARGE ANODIZED BRASS | 45| 12 +Brand#35 |LARGE ANODIZED COPPER | 19| 12 +Brand#35 |LARGE ANODIZED COPPER | 36| 12 +Brand#35 |LARGE ANODIZED STEEL | 45| 12 +Brand#35 |LARGE ANODIZED TIN | 45| 12 +Brand#35 |LARGE BRUSHED COPPER | 23| 12 +Brand#35 |LARGE BRUSHED NICKEL | 36| 12 +Brand#35 |LARGE BRUSHED STEEL | 3| 12 +Brand#35 |LARGE BRUSHED TIN | 36| 12 +Brand#35 |LARGE BURNISHED BRASS | 45| 12 +Brand#35 |LARGE BURNISHED STEEL | 9| 12 +Brand#35 |LARGE BURNISHED STEEL | 45| 12 +Brand#35 |LARGE BURNISHED TIN | 49| 12 +Brand#35 |LARGE PLATED BRASS | 3| 12 +Brand#35 |LARGE PLATED BRASS | 23| 12 +Brand#35 |LARGE PLATED STEEL | 19| 12 +Brand#35 |LARGE PLATED STEEL | 49| 12 +Brand#35 |MEDIUM ANODIZED TIN | 3| 12 +Brand#35 |MEDIUM BRUSHED BRASS | 49| 12 +Brand#35 |MEDIUM BRUSHED COPPER | 14| 12 +Brand#35 |MEDIUM BRUSHED NICKEL | 3| 12 +Brand#35 |MEDIUM BRUSHED STEEL | 45| 12 +Brand#35 |MEDIUM BURNISHED STEEL | 19| 12 +Brand#35 |MEDIUM PLATED NICKEL | 45| 12 +Brand#35 |MEDIUM PLATED STEEL | 3| 12 +Brand#35 |MEDIUM PLATED TIN | 36| 12 +Brand#35 |PROMO ANODIZED BRASS | 14| 12 +Brand#35 |PROMO ANODIZED STEEL | 3| 12 +Brand#35 |PROMO ANODIZED STEEL | 23| 12 +Brand#35 |PROMO ANODIZED TIN | 49| 12 +Brand#35 |PROMO BRUSHED COPPER | 9| 12 +Brand#35 |PROMO BRUSHED COPPER | 23| 12 +Brand#35 |PROMO BRUSHED STEEL | 36| 12 +Brand#35 |PROMO BURNISHED NICKEL | 19| 12 +Brand#35 |PROMO BURNISHED STEEL | 3| 12 +Brand#35 |PROMO BURNISHED STEEL | 14| 12 +Brand#35 |PROMO BURNISHED STEEL | 49| 12 +Brand#35 |PROMO BURNISHED TIN | 9| 12 +Brand#35 |PROMO BURNISHED TIN | 14| 12 +Brand#35 |PROMO POLISHED BRASS | 19| 12 +Brand#35 |PROMO POLISHED COPPER | 49| 12 +Brand#35 |PROMO POLISHED NICKEL | 49| 12 +Brand#35 |PROMO POLISHED STEEL | 9| 12 +Brand#35 |PROMO POLISHED TIN | 36| 12 +Brand#35 |SMALL ANODIZED BRASS | 9| 12 +Brand#35 |SMALL ANODIZED BRASS | 19| 12 +Brand#35 |SMALL BRUSHED NICKEL | 19| 12 +Brand#35 |SMALL BRUSHED STEEL | 45| 12 +Brand#35 |SMALL BRUSHED TIN | 45| 12 +Brand#35 |SMALL BURNISHED BRASS | 9| 12 +Brand#35 |SMALL BURNISHED BRASS | 23| 12 +Brand#35 |SMALL BURNISHED BRASS | 36| 12 +Brand#35 |SMALL BURNISHED BRASS | 49| 12 +Brand#35 |SMALL BURNISHED COPPER | 45| 12 +Brand#35 |SMALL PLATED BRASS | 9| 12 +Brand#35 |SMALL PLATED BRASS | 36| 12 +Brand#35 |SMALL PLATED TIN | 36| 12 +Brand#35 |STANDARD ANODIZED TIN | 3| 12 +Brand#35 |STANDARD ANODIZED TIN | 9| 12 +Brand#35 |STANDARD BURNISHED BRASS | 36| 12 +Brand#35 |STANDARD BURNISHED STEEL | 49| 12 +Brand#35 |STANDARD PLATED BRASS | 49| 12 +Brand#35 |STANDARD PLATED COPPER | 9| 12 +Brand#35 |STANDARD PLATED NICKEL | 23| 12 +Brand#35 |STANDARD PLATED NICKEL | 49| 12 +Brand#35 |STANDARD PLATED STEEL | 23| 12 +Brand#35 |STANDARD PLATED TIN | 45| 12 +Brand#35 |STANDARD POLISHED STEEL | 23| 12 +Brand#35 |STANDARD POLISHED TIN | 3| 12 +Brand#41 |ECONOMY ANODIZED BRASS | 45| 12 +Brand#41 |ECONOMY ANODIZED TIN | 14| 12 +Brand#41 |ECONOMY BRUSHED BRASS | 23| 12 +Brand#41 |ECONOMY BRUSHED NICKEL | 49| 12 +Brand#41 |ECONOMY BRUSHED STEEL | 36| 12 +Brand#41 |ECONOMY BRUSHED TIN | 45| 12 +Brand#41 |ECONOMY BURNISHED COPPER | 3| 12 +Brand#41 |ECONOMY BURNISHED COPPER | 45| 12 +Brand#41 |ECONOMY PLATED NICKEL | 23| 12 +Brand#41 |ECONOMY PLATED STEEL | 36| 12 +Brand#41 |ECONOMY PLATED TIN | 23| 12 +Brand#41 |ECONOMY POLISHED BRASS | 36| 12 +Brand#41 |ECONOMY POLISHED COPPER | 49| 12 +Brand#41 |ECONOMY POLISHED NICKEL | 9| 12 +Brand#41 |ECONOMY POLISHED NICKEL | 19| 12 +Brand#41 |ECONOMY POLISHED NICKEL | 23| 12 +Brand#41 |ECONOMY POLISHED STEEL | 49| 12 +Brand#41 |LARGE ANODIZED BRASS | 14| 12 +Brand#41 |LARGE ANODIZED BRASS | 23| 12 +Brand#41 |LARGE ANODIZED COPPER | 36| 12 +Brand#41 |LARGE ANODIZED STEEL | 23| 12 +Brand#41 |LARGE BRUSHED BRASS | 9| 12 +Brand#41 |LARGE BRUSHED COPPER | 23| 12 +Brand#41 |LARGE BURNISHED BRASS | 36| 12 +Brand#41 |LARGE BURNISHED STEEL | 23| 12 +Brand#41 |LARGE PLATED NICKEL | 14| 12 +Brand#41 |LARGE POLISHED BRASS | 45| 12 +Brand#41 |LARGE POLISHED COPPER | 23| 12 +Brand#41 |LARGE POLISHED COPPER | 36| 12 +Brand#41 |LARGE POLISHED STEEL | 3| 12 +Brand#41 |LARGE POLISHED STEEL | 9| 12 +Brand#41 |MEDIUM ANODIZED NICKEL | 3| 12 +Brand#41 |MEDIUM ANODIZED TIN | 3| 12 +Brand#41 |MEDIUM BURNISHED COPPER | 23| 12 +Brand#41 |MEDIUM BURNISHED TIN | 14| 12 +Brand#41 |MEDIUM BURNISHED TIN | 45| 12 +Brand#41 |MEDIUM PLATED BRASS | 19| 12 +Brand#41 |MEDIUM PLATED COPPER | 19| 12 +Brand#41 |MEDIUM PLATED COPPER | 45| 12 +Brand#41 |PROMO ANODIZED BRASS | 14| 12 +Brand#41 |PROMO ANODIZED NICKEL | 49| 12 +Brand#41 |PROMO ANODIZED TIN | 9| 12 +Brand#41 |PROMO BURNISHED COPPER | 49| 12 +Brand#41 |PROMO BURNISHED TIN | 14| 12 +Brand#41 |PROMO PLATED NICKEL | 14| 12 +Brand#41 |PROMO PLATED STEEL | 45| 12 +Brand#41 |PROMO PLATED TIN | 3| 12 +Brand#41 |PROMO PLATED TIN | 36| 12 +Brand#41 |PROMO POLISHED COPPER | 23| 12 +Brand#41 |PROMO POLISHED NICKEL | 19| 12 +Brand#41 |SMALL ANODIZED BRASS | 3| 12 +Brand#41 |SMALL ANODIZED COPPER | 14| 12 +Brand#41 |SMALL ANODIZED NICKEL | 36| 12 +Brand#41 |SMALL BRUSHED STEEL | 36| 12 +Brand#41 |SMALL BRUSHED TIN | 14| 12 +Brand#41 |SMALL BURNISHED TIN | 3| 12 +Brand#41 |SMALL PLATED BRASS | 14| 12 +Brand#41 |SMALL PLATED STEEL | 14| 12 +Brand#41 |SMALL POLISHED COPPER | 36| 12 +Brand#41 |SMALL POLISHED TIN | 36| 12 +Brand#41 |STANDARD ANODIZED BRASS | 3| 12 +Brand#41 |STANDARD ANODIZED BRASS | 36| 12 +Brand#41 |STANDARD ANODIZED COPPER | 14| 12 +Brand#41 |STANDARD ANODIZED NICKEL | 36| 12 +Brand#41 |STANDARD BURNISHED STEEL | 9| 12 +Brand#41 |STANDARD BURNISHED TIN | 3| 12 +Brand#41 |STANDARD PLATED BRASS | 45| 12 +Brand#41 |STANDARD PLATED COPPER | 49| 12 +Brand#41 |STANDARD POLISHED COPPER | 23| 12 +Brand#41 |STANDARD POLISHED NICKEL | 3| 12 +Brand#42 |ECONOMY ANODIZED BRASS | 36| 12 +Brand#42 |ECONOMY ANODIZED STEEL | 9| 12 +Brand#42 |ECONOMY BRUSHED NICKEL | 45| 12 +Brand#42 |ECONOMY BRUSHED TIN | 14| 12 +Brand#42 |ECONOMY BURNISHED NICKEL | 49| 12 +Brand#42 |ECONOMY BURNISHED STEEL | 49| 12 +Brand#42 |ECONOMY BURNISHED TIN | 19| 12 +Brand#42 |ECONOMY PLATED COPPER | 14| 12 +Brand#42 |ECONOMY PLATED NICKEL | 9| 12 +Brand#42 |ECONOMY POLISHED COPPER | 9| 12 +Brand#42 |LARGE ANODIZED BRASS | 49| 12 +Brand#42 |LARGE ANODIZED COPPER | 36| 12 +Brand#42 |LARGE BURNISHED COPPER | 9| 12 +Brand#42 |LARGE BURNISHED COPPER | 19| 12 +Brand#42 |LARGE BURNISHED TIN | 9| 12 +Brand#42 |LARGE PLATED BRASS | 23| 12 +Brand#42 |LARGE PLATED BRASS | 36| 12 +Brand#42 |LARGE PLATED NICKEL | 23| 12 +Brand#42 |LARGE PLATED TIN | 9| 12 +Brand#42 |LARGE PLATED TIN | 19| 12 +Brand#42 |LARGE POLISHED BRASS | 36| 12 +Brand#42 |LARGE POLISHED STEEL | 9| 12 +Brand#42 |LARGE POLISHED STEEL | 45| 12 +Brand#42 |LARGE POLISHED TIN | 14| 12 +Brand#42 |MEDIUM ANODIZED NICKEL | 19| 12 +Brand#42 |MEDIUM ANODIZED STEEL | 23| 12 +Brand#42 |MEDIUM ANODIZED TIN | 49| 12 +Brand#42 |MEDIUM BRUSHED NICKEL | 9| 12 +Brand#42 |MEDIUM BRUSHED STEEL | 19| 12 +Brand#42 |MEDIUM BRUSHED TIN | 14| 12 +Brand#42 |MEDIUM BURNISHED BRASS | 36| 12 +Brand#42 |MEDIUM BURNISHED NICKEL | 36| 12 +Brand#42 |MEDIUM BURNISHED STEEL | 49| 12 +Brand#42 |MEDIUM PLATED BRASS | 36| 12 +Brand#42 |MEDIUM PLATED COPPER | 36| 12 +Brand#42 |MEDIUM PLATED COPPER | 45| 12 +Brand#42 |MEDIUM PLATED STEEL | 3| 12 +Brand#42 |MEDIUM PLATED TIN | 45| 12 +Brand#42 |PROMO ANODIZED TIN | 23| 12 +Brand#42 |PROMO BRUSHED BRASS | 19| 12 +Brand#42 |PROMO BRUSHED NICKEL | 3| 12 +Brand#42 |PROMO BRUSHED TIN | 45| 12 +Brand#42 |PROMO BURNISHED BRASS | 19| 12 +Brand#42 |PROMO BURNISHED NICKEL | 3| 12 +Brand#42 |PROMO BURNISHED TIN | 9| 12 +Brand#42 |PROMO PLATED BRASS | 14| 12 +Brand#42 |PROMO PLATED BRASS | 23| 12 +Brand#42 |PROMO PLATED STEEL | 19| 12 +Brand#42 |PROMO POLISHED STEEL | 45| 12 +Brand#42 |SMALL ANODIZED BRASS | 36| 12 +Brand#42 |SMALL BRUSHED BRASS | 36| 12 +Brand#42 |SMALL BURNISHED BRASS | 3| 12 +Brand#42 |SMALL BURNISHED BRASS | 36| 12 +Brand#42 |SMALL BURNISHED STEEL | 23| 12 +Brand#42 |SMALL BURNISHED TIN | 9| 12 +Brand#42 |SMALL BURNISHED TIN | 49| 12 +Brand#42 |SMALL PLATED COPPER | 9| 12 +Brand#42 |SMALL PLATED COPPER | 19| 12 +Brand#42 |SMALL POLISHED BRASS | 3| 12 +Brand#42 |SMALL POLISHED COPPER | 36| 12 +Brand#42 |SMALL POLISHED NICKEL | 23| 12 +Brand#42 |STANDARD ANODIZED BRASS | 23| 12 +Brand#42 |STANDARD ANODIZED COPPER | 45| 12 +Brand#42 |STANDARD ANODIZED STEEL | 23| 12 +Brand#42 |STANDARD ANODIZED TIN | 23| 12 +Brand#42 |STANDARD BRUSHED TIN | 3| 12 +Brand#42 |STANDARD BURNISHED COPPER| 36| 12 +Brand#42 |STANDARD BURNISHED TIN | 23| 12 +Brand#42 |STANDARD PLATED COPPER | 9| 12 +Brand#42 |STANDARD PLATED TIN | 3| 12 +Brand#42 |STANDARD POLISHED NICKEL | 9| 12 +Brand#42 |STANDARD POLISHED STEEL | 14| 12 +Brand#43 |ECONOMY ANODIZED BRASS | 14| 12 +Brand#43 |ECONOMY ANODIZED COPPER | 9| 12 +Brand#43 |ECONOMY ANODIZED COPPER | 19| 12 +Brand#43 |ECONOMY ANODIZED COPPER | 45| 12 +Brand#43 |ECONOMY BRUSHED STEEL | 9| 12 +Brand#43 |ECONOMY BRUSHED STEEL | 14| 12 +Brand#43 |ECONOMY BRUSHED STEEL | 36| 12 +Brand#43 |ECONOMY BRUSHED STEEL | 45| 12 +Brand#43 |ECONOMY BRUSHED TIN | 49| 12 +Brand#43 |ECONOMY BURNISHED BRASS | 3| 12 +Brand#43 |ECONOMY BURNISHED BRASS | 49| 12 +Brand#43 |ECONOMY BURNISHED NICKEL | 3| 12 +Brand#43 |ECONOMY BURNISHED NICKEL | 36| 12 +Brand#43 |ECONOMY BURNISHED STEEL | 9| 12 +Brand#43 |ECONOMY BURNISHED TIN | 19| 12 +Brand#43 |ECONOMY PLATED COPPER | 3| 12 +Brand#43 |ECONOMY PLATED STEEL | 3| 12 +Brand#43 |ECONOMY POLISHED BRASS | 45| 12 +Brand#43 |ECONOMY POLISHED NICKEL | 45| 12 +Brand#43 |ECONOMY POLISHED TIN | 49| 12 +Brand#43 |LARGE ANODIZED TIN | 14| 12 +Brand#43 |LARGE BRUSHED NICKEL | 23| 12 +Brand#43 |LARGE BRUSHED STEEL | 45| 12 +Brand#43 |LARGE BURNISHED COPPER | 14| 12 +Brand#43 |LARGE BURNISHED NICKEL | 3| 12 +Brand#43 |LARGE BURNISHED STEEL | 3| 12 +Brand#43 |LARGE BURNISHED TIN | 45| 12 +Brand#43 |LARGE PLATED TIN | 9| 12 +Brand#43 |LARGE POLISHED BRASS | 9| 12 +Brand#43 |LARGE POLISHED COPPER | 23| 12 +Brand#43 |LARGE POLISHED NICKEL | 9| 12 +Brand#43 |LARGE POLISHED TIN | 45| 12 +Brand#43 |MEDIUM ANODIZED BRASS | 14| 12 +Brand#43 |MEDIUM ANODIZED BRASS | 19| 12 +Brand#43 |MEDIUM ANODIZED BRASS | 36| 12 +Brand#43 |MEDIUM ANODIZED COPPER | 45| 12 +Brand#43 |MEDIUM ANODIZED NICKEL | 36| 12 +Brand#43 |MEDIUM BRUSHED BRASS | 45| 12 +Brand#43 |MEDIUM BURNISHED BRASS | 36| 12 +Brand#43 |MEDIUM BURNISHED BRASS | 45| 12 +Brand#43 |MEDIUM BURNISHED BRASS | 49| 12 +Brand#43 |MEDIUM BURNISHED COPPER | 3| 12 +Brand#43 |MEDIUM BURNISHED COPPER | 14| 12 +Brand#43 |MEDIUM PLATED BRASS | 3| 12 +Brand#43 |MEDIUM PLATED BRASS | 49| 12 +Brand#43 |MEDIUM PLATED COPPER | 19| 12 +Brand#43 |PROMO ANODIZED NICKEL | 19| 12 +Brand#43 |PROMO ANODIZED STEEL | 9| 12 +Brand#43 |PROMO ANODIZED TIN | 9| 12 +Brand#43 |PROMO BRUSHED NICKEL | 23| 12 +Brand#43 |PROMO BRUSHED TIN | 49| 12 +Brand#43 |PROMO BURNISHED STEEL | 36| 12 +Brand#43 |PROMO BURNISHED STEEL | 45| 12 +Brand#43 |PROMO BURNISHED TIN | 14| 12 +Brand#43 |PROMO PLATED NICKEL | 9| 12 +Brand#43 |PROMO PLATED NICKEL | 14| 12 +Brand#43 |PROMO PLATED STEEL | 9| 12 +Brand#43 |PROMO POLISHED COPPER | 23| 12 +Brand#43 |PROMO POLISHED NICKEL | 3| 12 +Brand#43 |PROMO POLISHED STEEL | 3| 12 +Brand#43 |PROMO POLISHED STEEL | 36| 12 +Brand#43 |SMALL ANODIZED NICKEL | 3| 12 +Brand#43 |SMALL ANODIZED NICKEL | 23| 12 +Brand#43 |SMALL BRUSHED BRASS | 49| 12 +Brand#43 |SMALL BRUSHED COPPER | 36| 12 +Brand#43 |SMALL BRUSHED NICKEL | 36| 12 +Brand#43 |SMALL BRUSHED STEEL | 9| 12 +Brand#43 |SMALL BURNISHED COPPER | 49| 12 +Brand#43 |SMALL BURNISHED NICKEL | 45| 12 +Brand#43 |SMALL PLATED BRASS | 36| 12 +Brand#43 |SMALL PLATED COPPER | 9| 12 +Brand#43 |SMALL PLATED COPPER | 49| 12 +Brand#43 |SMALL POLISHED NICKEL | 14| 12 +Brand#43 |SMALL POLISHED TIN | 49| 12 +Brand#43 |STANDARD ANODIZED BRASS | 36| 12 +Brand#43 |STANDARD ANODIZED NICKEL | 14| 12 +Brand#43 |STANDARD ANODIZED TIN | 9| 12 +Brand#43 |STANDARD ANODIZED TIN | 49| 12 +Brand#43 |STANDARD BRUSHED BRASS | 3| 12 +Brand#43 |STANDARD BRUSHED COPPER | 19| 12 +Brand#43 |STANDARD BURNISHED STEEL | 23| 12 +Brand#43 |STANDARD BURNISHED TIN | 14| 12 +Brand#43 |STANDARD PLATED BRASS | 19| 12 +Brand#43 |STANDARD PLATED NICKEL | 14| 12 +Brand#43 |STANDARD PLATED NICKEL | 23| 12 +Brand#43 |STANDARD PLATED NICKEL | 36| 12 +Brand#43 |STANDARD POLISHED COPPER | 3| 12 +Brand#43 |STANDARD POLISHED STEEL | 36| 12 +Brand#43 |STANDARD POLISHED TIN | 9| 12 +Brand#44 |ECONOMY ANODIZED COPPER | 9| 12 +Brand#44 |ECONOMY ANODIZED NICKEL | 36| 12 +Brand#44 |ECONOMY ANODIZED STEEL | 14| 12 +Brand#44 |ECONOMY BRUSHED COPPER | 19| 12 +Brand#44 |ECONOMY BURNISHED STEEL | 45| 12 +Brand#44 |ECONOMY POLISHED TIN | 36| 12 +Brand#44 |ECONOMY POLISHED TIN | 49| 12 +Brand#44 |LARGE ANODIZED TIN | 3| 12 +Brand#44 |LARGE BRUSHED COPPER | 36| 12 +Brand#44 |LARGE BRUSHED STEEL | 36| 12 +Brand#44 |LARGE BRUSHED TIN | 3| 12 +Brand#44 |LARGE BRUSHED TIN | 19| 12 +Brand#44 |LARGE BURNISHED BRASS | 19| 12 +Brand#44 |LARGE BURNISHED BRASS | 49| 12 +Brand#44 |LARGE BURNISHED NICKEL | 9| 12 +Brand#44 |LARGE PLATED BRASS | 9| 12 +Brand#44 |LARGE PLATED NICKEL | 3| 12 +Brand#44 |LARGE PLATED NICKEL | 14| 12 +Brand#44 |LARGE PLATED NICKEL | 36| 12 +Brand#44 |MEDIUM ANODIZED BRASS | 23| 12 +Brand#44 |MEDIUM ANODIZED COPPER | 45| 12 +Brand#44 |MEDIUM ANODIZED TIN | 9| 12 +Brand#44 |MEDIUM BRUSHED BRASS | 49| 12 +Brand#44 |MEDIUM BRUSHED COPPER | 3| 12 +Brand#44 |MEDIUM BRUSHED COPPER | 9| 12 +Brand#44 |MEDIUM BRUSHED COPPER | 36| 12 +Brand#44 |MEDIUM BURNISHED COPPER | 36| 12 +Brand#44 |MEDIUM BURNISHED NICKEL | 36| 12 +Brand#44 |MEDIUM PLATED STEEL | 19| 12 +Brand#44 |MEDIUM PLATED TIN | 23| 12 +Brand#44 |MEDIUM PLATED TIN | 36| 12 +Brand#44 |PROMO ANODIZED BRASS | 9| 12 +Brand#44 |PROMO ANODIZED COPPER | 19| 12 +Brand#44 |PROMO ANODIZED NICKEL | 19| 12 +Brand#44 |PROMO ANODIZED STEEL | 36| 12 +Brand#44 |PROMO BRUSHED NICKEL | 3| 12 +Brand#44 |PROMO BURNISHED BRASS | 19| 12 +Brand#44 |PROMO BURNISHED NICKEL | 49| 12 +Brand#44 |PROMO PLATED BRASS | 19| 12 +Brand#44 |PROMO PLATED STEEL | 14| 12 +Brand#44 |PROMO PLATED STEEL | 36| 12 +Brand#44 |PROMO POLISHED COPPER | 14| 12 +Brand#44 |PROMO POLISHED COPPER | 23| 12 +Brand#44 |PROMO POLISHED COPPER | 45| 12 +Brand#44 |PROMO POLISHED STEEL | 36| 12 +Brand#44 |SMALL ANODIZED STEEL | 36| 12 +Brand#44 |SMALL BRUSHED COPPER | 19| 12 +Brand#44 |SMALL BRUSHED COPPER | 45| 12 +Brand#44 |SMALL BRUSHED NICKEL | 3| 12 +Brand#44 |SMALL BRUSHED NICKEL | 9| 12 +Brand#44 |SMALL BURNISHED COPPER | 14| 12 +Brand#44 |SMALL BURNISHED NICKEL | 3| 12 +Brand#44 |SMALL BURNISHED TIN | 3| 12 +Brand#44 |SMALL BURNISHED TIN | 36| 12 +Brand#44 |SMALL PLATED BRASS | 23| 12 +Brand#44 |SMALL PLATED BRASS | 49| 12 +Brand#44 |SMALL PLATED STEEL | 3| 12 +Brand#44 |SMALL PLATED STEEL | 45| 12 +Brand#44 |SMALL POLISHED BRASS | 3| 12 +Brand#44 |SMALL POLISHED COPPER | 14| 12 +Brand#44 |STANDARD ANODIZED BRASS | 3| 12 +Brand#44 |STANDARD ANODIZED BRASS | 14| 12 +Brand#44 |STANDARD ANODIZED COPPER | 45| 12 +Brand#44 |STANDARD ANODIZED NICKEL | 9| 12 +Brand#44 |STANDARD ANODIZED NICKEL | 36| 12 +Brand#44 |STANDARD ANODIZED TIN | 9| 12 +Brand#44 |STANDARD BRUSHED BRASS | 9| 12 +Brand#44 |STANDARD BRUSHED COPPER | 23| 12 +Brand#44 |STANDARD BRUSHED TIN | 49| 12 +Brand#44 |STANDARD BURNISHED COPPER| 3| 12 +Brand#44 |STANDARD BURNISHED COPPER| 49| 12 +Brand#44 |STANDARD BURNISHED STEEL | 23| 12 +Brand#44 |STANDARD BURNISHED TIN | 36| 12 +Brand#44 |STANDARD PLATED COPPER | 14| 12 +Brand#44 |STANDARD PLATED COPPER | 45| 12 +Brand#44 |STANDARD PLATED TIN | 9| 12 +Brand#44 |STANDARD PLATED TIN | 23| 12 +Brand#44 |STANDARD POLISHED BRASS | 14| 12 +Brand#44 |STANDARD POLISHED NICKEL | 19| 12 +Brand#51 |ECONOMY ANODIZED BRASS | 9| 12 +Brand#51 |ECONOMY ANODIZED BRASS | 36| 12 +Brand#51 |ECONOMY ANODIZED BRASS | 45| 12 +Brand#51 |ECONOMY ANODIZED COPPER | 19| 12 +Brand#51 |ECONOMY ANODIZED NICKEL | 14| 12 +Brand#51 |ECONOMY ANODIZED TIN | 9| 12 +Brand#51 |ECONOMY BRUSHED STEEL | 36| 12 +Brand#51 |ECONOMY BRUSHED STEEL | 45| 12 +Brand#51 |ECONOMY BRUSHED TIN | 36| 12 +Brand#51 |ECONOMY BURNISHED COPPER | 45| 12 +Brand#51 |ECONOMY PLATED STEEL | 19| 12 +Brand#51 |ECONOMY PLATED STEEL | 23| 12 +Brand#51 |ECONOMY PLATED TIN | 45| 12 +Brand#51 |LARGE ANODIZED COPPER | 19| 12 +Brand#51 |LARGE BRUSHED COPPER | 36| 12 +Brand#51 |LARGE BRUSHED NICKEL | 49| 12 +Brand#51 |LARGE BURNISHED STEEL | 3| 12 +Brand#51 |LARGE PLATED COPPER | 9| 12 +Brand#51 |LARGE PLATED NICKEL | 45| 12 +Brand#51 |LARGE PLATED TIN | 19| 12 +Brand#51 |LARGE PLATED TIN | 23| 12 +Brand#51 |LARGE POLISHED COPPER | 3| 12 +Brand#51 |LARGE POLISHED COPPER | 23| 12 +Brand#51 |MEDIUM ANODIZED NICKEL | 3| 12 +Brand#51 |MEDIUM ANODIZED NICKEL | 19| 12 +Brand#51 |MEDIUM ANODIZED NICKEL | 23| 12 +Brand#51 |MEDIUM ANODIZED STEEL | 14| 12 +Brand#51 |MEDIUM ANODIZED TIN | 14| 12 +Brand#51 |MEDIUM BRUSHED COPPER | 49| 12 +Brand#51 |MEDIUM BRUSHED TIN | 49| 12 +Brand#51 |MEDIUM BURNISHED BRASS | 36| 12 +Brand#51 |MEDIUM BURNISHED NICKEL | 14| 12 +Brand#51 |MEDIUM BURNISHED NICKEL | 49| 12 +Brand#51 |MEDIUM PLATED NICKEL | 45| 12 +Brand#51 |PROMO ANODIZED BRASS | 3| 12 +Brand#51 |PROMO ANODIZED COPPER | 23| 12 +Brand#51 |PROMO ANODIZED NICKEL | 9| 12 +Brand#51 |PROMO ANODIZED NICKEL | 14| 12 +Brand#51 |PROMO ANODIZED TIN | 23| 12 +Brand#51 |PROMO ANODIZED TIN | 49| 12 +Brand#51 |PROMO BRUSHED BRASS | 23| 12 +Brand#51 |PROMO BRUSHED COPPER | 19| 12 +Brand#51 |PROMO BRUSHED STEEL | 36| 12 +Brand#51 |PROMO BRUSHED TIN | 3| 12 +Brand#51 |PROMO BURNISHED COPPER | 3| 12 +Brand#51 |PROMO BURNISHED COPPER | 19| 12 +Brand#51 |PROMO PLATED COPPER | 9| 12 +Brand#51 |PROMO PLATED STEEL | 45| 12 +Brand#51 |PROMO PLATED TIN | 14| 12 +Brand#51 |SMALL ANODIZED NICKEL | 9| 12 +Brand#51 |SMALL BRUSHED BRASS | 19| 12 +Brand#51 |SMALL BRUSHED NICKEL | 3| 12 +Brand#51 |SMALL BRUSHED TIN | 19| 12 +Brand#51 |SMALL BURNISHED NICKEL | 14| 12 +Brand#51 |SMALL BURNISHED NICKEL | 23| 12 +Brand#51 |SMALL BURNISHED STEEL | 45| 12 +Brand#51 |SMALL BURNISHED STEEL | 49| 12 +Brand#51 |SMALL BURNISHED TIN | 23| 12 +Brand#51 |SMALL PLATED COPPER | 14| 12 +Brand#51 |SMALL PLATED COPPER | 36| 12 +Brand#51 |SMALL PLATED NICKEL | 14| 12 +Brand#51 |SMALL PLATED STEEL | 9| 12 +Brand#51 |SMALL POLISHED COPPER | 23| 12 +Brand#51 |SMALL POLISHED NICKEL | 19| 12 +Brand#51 |SMALL POLISHED NICKEL | 23| 12 +Brand#51 |SMALL POLISHED STEEL | 3| 12 +Brand#51 |SMALL POLISHED TIN | 36| 12 +Brand#51 |STANDARD ANODIZED BRASS | 49| 12 +Brand#51 |STANDARD ANODIZED COPPER | 14| 12 +Brand#51 |STANDARD ANODIZED NICKEL | 23| 12 +Brand#51 |STANDARD ANODIZED NICKEL | 45| 12 +Brand#51 |STANDARD ANODIZED STEEL | 49| 12 +Brand#51 |STANDARD ANODIZED TIN | 19| 12 +Brand#51 |STANDARD BRUSHED BRASS | 19| 12 +Brand#51 |STANDARD BRUSHED STEEL | 23| 12 +Brand#51 |STANDARD BRUSHED STEEL | 36| 12 +Brand#51 |STANDARD BRUSHED TIN | 36| 12 +Brand#51 |STANDARD BURNISHED STEEL | 23| 12 +Brand#51 |STANDARD BURNISHED STEEL | 36| 12 +Brand#51 |STANDARD PLATED BRASS | 3| 12 +Brand#51 |STANDARD POLISHED COPPER | 45| 12 +Brand#51 |STANDARD POLISHED STEEL | 36| 12 +Brand#51 |STANDARD POLISHED STEEL | 45| 12 +Brand#51 |STANDARD POLISHED TIN | 3| 12 +Brand#52 |ECONOMY ANODIZED COPPER | 19| 12 +Brand#52 |ECONOMY ANODIZED STEEL | 14| 12 +Brand#52 |ECONOMY ANODIZED TIN | 9| 12 +Brand#52 |ECONOMY ANODIZED TIN | 19| 12 +Brand#52 |ECONOMY BURNISHED COPPER | 14| 12 +Brand#52 |ECONOMY BURNISHED COPPER | 19| 12 +Brand#52 |ECONOMY BURNISHED NICKEL | 19| 12 +Brand#52 |ECONOMY PLATED STEEL | 45| 12 +Brand#52 |ECONOMY POLISHED BRASS | 14| 12 +Brand#52 |ECONOMY POLISHED BRASS | 19| 12 +Brand#52 |ECONOMY POLISHED COPPER | 3| 12 +Brand#52 |ECONOMY POLISHED COPPER | 14| 12 +Brand#52 |ECONOMY POLISHED COPPER | 19| 12 +Brand#52 |LARGE ANODIZED COPPER | 14| 12 +Brand#52 |LARGE ANODIZED NICKEL | 3| 12 +Brand#52 |LARGE BRUSHED BRASS | 23| 12 +Brand#52 |LARGE BRUSHED STEEL | 23| 12 +Brand#52 |LARGE BURNISHED BRASS | 14| 12 +Brand#52 |LARGE BURNISHED NICKEL | 23| 12 +Brand#52 |LARGE PLATED BRASS | 23| 12 +Brand#52 |LARGE PLATED COPPER | 19| 12 +Brand#52 |LARGE PLATED NICKEL | 19| 12 +Brand#52 |LARGE PLATED NICKEL | 45| 12 +Brand#52 |LARGE PLATED STEEL | 49| 12 +Brand#52 |LARGE PLATED TIN | 3| 12 +Brand#52 |LARGE PLATED TIN | 19| 12 +Brand#52 |LARGE POLISHED BRASS | 3| 12 +Brand#52 |LARGE POLISHED BRASS | 9| 12 +Brand#52 |LARGE POLISHED BRASS | 23| 12 +Brand#52 |MEDIUM ANODIZED COPPER | 19| 12 +Brand#52 |MEDIUM ANODIZED STEEL | 9| 12 +Brand#52 |MEDIUM ANODIZED TIN | 3| 12 +Brand#52 |MEDIUM BRUSHED BRASS | 3| 12 +Brand#52 |MEDIUM BRUSHED BRASS | 36| 12 +Brand#52 |MEDIUM BRUSHED COPPER | 36| 12 +Brand#52 |MEDIUM BURNISHED BRASS | 49| 12 +Brand#52 |MEDIUM BURNISHED COPPER | 3| 12 +Brand#52 |MEDIUM BURNISHED COPPER | 23| 12 +Brand#52 |MEDIUM BURNISHED NICKEL | 45| 12 +Brand#52 |MEDIUM BURNISHED TIN | 23| 12 +Brand#52 |MEDIUM PLATED BRASS | 14| 12 +Brand#52 |MEDIUM PLATED TIN | 36| 12 +Brand#52 |MEDIUM PLATED TIN | 49| 12 +Brand#52 |PROMO ANODIZED BRASS | 9| 12 +Brand#52 |PROMO ANODIZED BRASS | 23| 12 +Brand#52 |PROMO ANODIZED COPPER | 14| 12 +Brand#52 |PROMO ANODIZED COPPER | 49| 12 +Brand#52 |PROMO ANODIZED STEEL | 36| 12 +Brand#52 |PROMO ANODIZED TIN | 3| 12 +Brand#52 |PROMO BRUSHED COPPER | 49| 12 +Brand#52 |PROMO BRUSHED NICKEL | 3| 12 +Brand#52 |PROMO BRUSHED TIN | 36| 12 +Brand#52 |PROMO BURNISHED NICKEL | 36| 12 +Brand#52 |PROMO BURNISHED STEEL | 19| 12 +Brand#52 |PROMO BURNISHED STEEL | 45| 12 +Brand#52 |PROMO BURNISHED TIN | 19| 12 +Brand#52 |PROMO BURNISHED TIN | 45| 12 +Brand#52 |PROMO PLATED BRASS | 14| 12 +Brand#52 |PROMO PLATED NICKEL | 14| 12 +Brand#52 |PROMO PLATED NICKEL | 49| 12 +Brand#52 |PROMO PLATED STEEL | 9| 12 +Brand#52 |PROMO PLATED TIN | 3| 12 +Brand#52 |PROMO POLISHED BRASS | 23| 12 +Brand#52 |PROMO POLISHED COPPER | 45| 12 +Brand#52 |PROMO POLISHED NICKEL | 49| 12 +Brand#52 |SMALL ANODIZED COPPER | 36| 12 +Brand#52 |SMALL ANODIZED NICKEL | 19| 12 +Brand#52 |SMALL ANODIZED NICKEL | 36| 12 +Brand#52 |SMALL BRUSHED BRASS | 14| 12 +Brand#52 |SMALL BRUSHED BRASS | 19| 12 +Brand#52 |SMALL BRUSHED COPPER | 9| 12 +Brand#52 |SMALL BRUSHED STEEL | 45| 12 +Brand#52 |SMALL BURNISHED BRASS | 14| 12 +Brand#52 |SMALL BURNISHED COPPER | 23| 12 +Brand#52 |SMALL BURNISHED NICKEL | 9| 12 +Brand#52 |SMALL BURNISHED NICKEL | 36| 12 +Brand#52 |SMALL BURNISHED NICKEL | 49| 12 +Brand#52 |SMALL BURNISHED STEEL | 23| 12 +Brand#52 |SMALL BURNISHED TIN | 3| 12 +Brand#52 |SMALL PLATED BRASS | 36| 12 +Brand#52 |SMALL PLATED NICKEL | 19| 12 +Brand#52 |SMALL PLATED NICKEL | 23| 12 +Brand#52 |SMALL POLISHED NICKEL | 9| 12 +Brand#52 |SMALL POLISHED NICKEL | 19| 12 +Brand#52 |STANDARD ANODIZED TIN | 14| 12 +Brand#52 |STANDARD BRUSHED BRASS | 19| 12 +Brand#52 |STANDARD BRUSHED COPPER | 19| 12 +Brand#52 |STANDARD BRUSHED TIN | 36| 12 +Brand#52 |STANDARD BRUSHED TIN | 49| 12 +Brand#52 |STANDARD BURNISHED STEEL | 9| 12 +Brand#52 |STANDARD BURNISHED TIN | 9| 12 +Brand#52 |STANDARD PLATED COPPER | 45| 12 +Brand#52 |STANDARD PLATED NICKEL | 3| 12 +Brand#52 |STANDARD PLATED NICKEL | 45| 12 +Brand#52 |STANDARD PLATED STEEL | 9| 12 +Brand#52 |STANDARD PLATED TIN | 23| 12 +Brand#52 |STANDARD POLISHED BRASS | 36| 12 +Brand#52 |STANDARD POLISHED NICKEL | 3| 12 +Brand#53 |ECONOMY ANODIZED COPPER | 23| 12 +Brand#53 |ECONOMY ANODIZED COPPER | 36| 12 +Brand#53 |ECONOMY ANODIZED STEEL | 9| 12 +Brand#53 |ECONOMY BRUSHED BRASS | 3| 12 +Brand#53 |ECONOMY BRUSHED BRASS | 23| 12 +Brand#53 |ECONOMY BRUSHED COPPER | 45| 12 +Brand#53 |ECONOMY BRUSHED STEEL | 19| 12 +Brand#53 |ECONOMY BURNISHED BRASS | 49| 12 +Brand#53 |ECONOMY BURNISHED COPPER | 45| 12 +Brand#53 |ECONOMY BURNISHED TIN | 14| 12 +Brand#53 |ECONOMY PLATED BRASS | 36| 12 +Brand#53 |ECONOMY PLATED BRASS | 45| 12 +Brand#53 |ECONOMY PLATED STEEL | 36| 12 +Brand#53 |ECONOMY PLATED TIN | 3| 12 +Brand#53 |ECONOMY PLATED TIN | 23| 12 +Brand#53 |ECONOMY POLISHED STEEL | 14| 12 +Brand#53 |ECONOMY POLISHED STEEL | 36| 12 +Brand#53 |ECONOMY POLISHED STEEL | 45| 12 +Brand#53 |ECONOMY POLISHED STEEL | 49| 12 +Brand#53 |ECONOMY POLISHED TIN | 19| 12 +Brand#53 |ECONOMY POLISHED TIN | 36| 12 +Brand#53 |LARGE ANODIZED COPPER | 45| 12 +Brand#53 |LARGE ANODIZED NICKEL | 9| 12 +Brand#53 |LARGE ANODIZED STEEL | 19| 12 +Brand#53 |LARGE BRUSHED BRASS | 9| 12 +Brand#53 |LARGE BRUSHED BRASS | 19| 12 +Brand#53 |LARGE BRUSHED NICKEL | 23| 12 +Brand#53 |LARGE BRUSHED STEEL | 19| 12 +Brand#53 |LARGE BURNISHED BRASS | 9| 12 +Brand#53 |LARGE BURNISHED STEEL | 14| 12 +Brand#53 |LARGE PLATED COPPER | 3| 12 +Brand#53 |LARGE PLATED NICKEL | 45| 12 +Brand#53 |LARGE POLISHED COPPER | 49| 12 +Brand#53 |LARGE POLISHED STEEL | 36| 12 +Brand#53 |MEDIUM ANODIZED COPPER | 14| 12 +Brand#53 |MEDIUM ANODIZED NICKEL | 14| 12 +Brand#53 |MEDIUM ANODIZED TIN | 23| 12 +Brand#53 |MEDIUM ANODIZED TIN | 36| 12 +Brand#53 |MEDIUM BRUSHED BRASS | 3| 12 +Brand#53 |MEDIUM BRUSHED BRASS | 23| 12 +Brand#53 |MEDIUM BURNISHED BRASS | 14| 12 +Brand#53 |MEDIUM BURNISHED BRASS | 49| 12 +Brand#53 |MEDIUM BURNISHED NICKEL | 23| 12 +Brand#53 |MEDIUM PLATED BRASS | 49| 12 +Brand#53 |MEDIUM PLATED COPPER | 14| 12 +Brand#53 |MEDIUM PLATED COPPER | 23| 12 +Brand#53 |MEDIUM PLATED STEEL | 14| 12 +Brand#53 |MEDIUM PLATED TIN | 45| 12 +Brand#53 |PROMO ANODIZED COPPER | 14| 12 +Brand#53 |PROMO BRUSHED COPPER | 3| 12 +Brand#53 |PROMO BURNISHED COPPER | 36| 12 +Brand#53 |PROMO BURNISHED NICKEL | 36| 12 +Brand#53 |PROMO BURNISHED STEEL | 36| 12 +Brand#53 |PROMO BURNISHED STEEL | 49| 12 +Brand#53 |PROMO PLATED COPPER | 14| 12 +Brand#53 |PROMO PLATED TIN | 3| 12 +Brand#53 |PROMO PLATED TIN | 23| 12 +Brand#53 |PROMO POLISHED COPPER | 49| 12 +Brand#53 |PROMO POLISHED NICKEL | 9| 12 +Brand#53 |PROMO POLISHED TIN | 14| 12 +Brand#53 |SMALL ANODIZED COPPER | 36| 12 +Brand#53 |SMALL ANODIZED NICKEL | 36| 12 +Brand#53 |SMALL ANODIZED STEEL | 19| 12 +Brand#53 |SMALL BRUSHED COPPER | 14| 12 +Brand#53 |SMALL BURNISHED BRASS | 9| 12 +Brand#53 |SMALL BURNISHED COPPER | 9| 12 +Brand#53 |SMALL BURNISHED NICKEL | 36| 12 +Brand#53 |SMALL BURNISHED STEEL | 19| 12 +Brand#53 |SMALL PLATED COPPER | 3| 12 +Brand#53 |SMALL POLISHED BRASS | 3| 12 +Brand#53 |SMALL POLISHED BRASS | 9| 12 +Brand#53 |SMALL POLISHED STEEL | 36| 12 +Brand#53 |STANDARD ANODIZED STEEL | 23| 12 +Brand#53 |STANDARD ANODIZED STEEL | 49| 12 +Brand#53 |STANDARD BRUSHED COPPER | 3| 12 +Brand#53 |STANDARD BRUSHED STEEL | 45| 12 +Brand#53 |STANDARD BRUSHED TIN | 14| 12 +Brand#53 |STANDARD BRUSHED TIN | 19| 12 +Brand#53 |STANDARD BURNISHED BRASS | 9| 12 +Brand#53 |STANDARD BURNISHED NICKEL| 23| 12 +Brand#53 |STANDARD PLATED BRASS | 3| 12 +Brand#53 |STANDARD PLATED BRASS | 36| 12 +Brand#53 |STANDARD PLATED COPPER | 36| 12 +Brand#53 |STANDARD PLATED COPPER | 45| 12 +Brand#53 |STANDARD POLISHED BRASS | 19| 12 +Brand#53 |STANDARD POLISHED COPPER | 14| 12 +Brand#53 |STANDARD POLISHED TIN | 19| 12 +Brand#54 |ECONOMY ANODIZED COPPER | 19| 12 +Brand#54 |ECONOMY BRUSHED STEEL | 19| 12 +Brand#54 |ECONOMY BRUSHED STEEL | 45| 12 +Brand#54 |ECONOMY BRUSHED TIN | 45| 12 +Brand#54 |ECONOMY BURNISHED BRASS | 19| 12 +Brand#54 |ECONOMY BURNISHED BRASS | 45| 12 +Brand#54 |ECONOMY BURNISHED COPPER | 14| 12 +Brand#54 |ECONOMY BURNISHED NICKEL | 9| 12 +Brand#54 |ECONOMY POLISHED NICKEL | 14| 12 +Brand#54 |ECONOMY POLISHED NICKEL | 45| 12 +Brand#54 |ECONOMY POLISHED TIN | 23| 12 +Brand#54 |LARGE ANODIZED TIN | 36| 12 +Brand#54 |LARGE BRUSHED COPPER | 9| 12 +Brand#54 |LARGE BRUSHED COPPER | 23| 12 +Brand#54 |LARGE BURNISHED BRASS | 45| 12 +Brand#54 |LARGE BURNISHED COPPER | 3| 12 +Brand#54 |LARGE BURNISHED COPPER | 45| 12 +Brand#54 |LARGE BURNISHED NICKEL | 14| 12 +Brand#54 |LARGE PLATED COPPER | 9| 12 +Brand#54 |LARGE PLATED COPPER | 45| 12 +Brand#54 |LARGE PLATED STEEL | 49| 12 +Brand#54 |LARGE POLISHED BRASS | 23| 12 +Brand#54 |LARGE POLISHED COPPER | 3| 12 +Brand#54 |MEDIUM ANODIZED STEEL | 19| 12 +Brand#54 |MEDIUM BRUSHED BRASS | 49| 12 +Brand#54 |MEDIUM BURNISHED COPPER | 23| 12 +Brand#54 |MEDIUM BURNISHED STEEL | 3| 12 +Brand#54 |MEDIUM BURNISHED STEEL | 49| 12 +Brand#54 |PROMO ANODIZED COPPER | 49| 12 +Brand#54 |PROMO ANODIZED STEEL | 19| 12 +Brand#54 |PROMO BRUSHED BRASS | 14| 12 +Brand#54 |PROMO BRUSHED COPPER | 14| 12 +Brand#54 |PROMO BRUSHED STEEL | 14| 12 +Brand#54 |PROMO BRUSHED STEEL | 45| 12 +Brand#54 |PROMO BRUSHED TIN | 14| 12 +Brand#54 |PROMO BURNISHED BRASS | 9| 12 +Brand#54 |PROMO BURNISHED COPPER | 49| 12 +Brand#54 |PROMO BURNISHED NICKEL | 23| 12 +Brand#54 |PROMO BURNISHED NICKEL | 36| 12 +Brand#54 |PROMO BURNISHED STEEL | 23| 12 +Brand#54 |PROMO BURNISHED TIN | 9| 12 +Brand#54 |PROMO BURNISHED TIN | 23| 12 +Brand#54 |PROMO PLATED BRASS | 23| 12 +Brand#54 |PROMO PLATED STEEL | 9| 12 +Brand#54 |PROMO PLATED TIN | 3| 12 +Brand#54 |PROMO PLATED TIN | 49| 12 +Brand#54 |PROMO POLISHED STEEL | 19| 12 +Brand#54 |PROMO POLISHED STEEL | 45| 12 +Brand#54 |PROMO POLISHED TIN | 19| 12 +Brand#54 |SMALL ANODIZED COPPER | 49| 12 +Brand#54 |SMALL BRUSHED BRASS | 23| 12 +Brand#54 |SMALL BRUSHED BRASS | 36| 12 +Brand#54 |SMALL BRUSHED COPPER | 19| 12 +Brand#54 |SMALL BRUSHED TIN | 14| 12 +Brand#54 |SMALL BURNISHED BRASS | 3| 12 +Brand#54 |SMALL BURNISHED COPPER | 49| 12 +Brand#54 |SMALL BURNISHED NICKEL | 14| 12 +Brand#54 |SMALL BURNISHED STEEL | 19| 12 +Brand#54 |SMALL BURNISHED TIN | 9| 12 +Brand#54 |SMALL PLATED BRASS | 23| 12 +Brand#54 |SMALL PLATED COPPER | 36| 12 +Brand#54 |SMALL PLATED NICKEL | 36| 12 +Brand#54 |STANDARD ANODIZED BRASS | 3| 12 +Brand#54 |STANDARD ANODIZED STEEL | 49| 12 +Brand#54 |STANDARD BRUSHED BRASS | 14| 12 +Brand#54 |STANDARD BRUSHED COPPER | 19| 12 +Brand#54 |STANDARD BURNISHED BRASS | 9| 12 +Brand#54 |STANDARD BURNISHED NICKEL| 14| 12 +Brand#54 |STANDARD PLATED BRASS | 45| 12 +Brand#54 |STANDARD PLATED COPPER | 9| 12 +Brand#54 |STANDARD PLATED COPPER | 19| 12 +Brand#54 |STANDARD PLATED NICKEL | 49| 12 +Brand#54 |STANDARD PLATED TIN | 45| 12 +Brand#54 |STANDARD POLISHED STEEL | 49| 12 +Brand#55 |ECONOMY BRUSHED BRASS | 3| 12 +Brand#55 |ECONOMY BRUSHED COPPER | 9| 12 +Brand#55 |ECONOMY BRUSHED COPPER | 14| 12 +Brand#55 |ECONOMY BRUSHED NICKEL | 19| 12 +Brand#55 |ECONOMY BRUSHED STEEL | 3| 12 +Brand#55 |ECONOMY BURNISHED COPPER | 9| 12 +Brand#55 |ECONOMY PLATED STEEL | 9| 12 +Brand#55 |ECONOMY POLISHED STEEL | 3| 12 +Brand#55 |LARGE ANODIZED NICKEL | 9| 12 +Brand#55 |LARGE BRUSHED COPPER | 14| 12 +Brand#55 |LARGE BRUSHED COPPER | 23| 12 +Brand#55 |LARGE BRUSHED COPPER | 49| 12 +Brand#55 |LARGE BURNISHED COPPER | 14| 12 +Brand#55 |LARGE BURNISHED NICKEL | 14| 12 +Brand#55 |LARGE PLATED BRASS | 45| 12 +Brand#55 |LARGE PLATED NICKEL | 14| 12 +Brand#55 |LARGE PLATED STEEL | 23| 12 +Brand#55 |LARGE POLISHED NICKEL | 3| 12 +Brand#55 |LARGE POLISHED STEEL | 45| 12 +Brand#55 |MEDIUM ANODIZED NICKEL | 36| 12 +Brand#55 |MEDIUM ANODIZED TIN | 49| 12 +Brand#55 |MEDIUM BRUSHED BRASS | 19| 12 +Brand#55 |MEDIUM BRUSHED COPPER | 49| 12 +Brand#55 |MEDIUM BRUSHED NICKEL | 23| 12 +Brand#55 |MEDIUM BRUSHED NICKEL | 45| 12 +Brand#55 |MEDIUM BRUSHED STEEL | 45| 12 +Brand#55 |MEDIUM BURNISHED COPPER | 36| 12 +Brand#55 |MEDIUM PLATED NICKEL | 23| 12 +Brand#55 |MEDIUM PLATED STEEL | 3| 12 +Brand#55 |MEDIUM PLATED TIN | 19| 12 +Brand#55 |PROMO ANODIZED TIN | 19| 12 +Brand#55 |PROMO BRUSHED BRASS | 23| 12 +Brand#55 |PROMO BRUSHED BRASS | 45| 12 +Brand#55 |PROMO BRUSHED NICKEL | 23| 12 +Brand#55 |PROMO BRUSHED TIN | 9| 12 +Brand#55 |PROMO BURNISHED STEEL | 23| 12 +Brand#55 |PROMO POLISHED BRASS | 45| 12 +Brand#55 |SMALL ANODIZED STEEL | 23| 12 +Brand#55 |SMALL ANODIZED STEEL | 45| 12 +Brand#55 |SMALL BRUSHED STEEL | 36| 12 +Brand#55 |SMALL BRUSHED TIN | 3| 12 +Brand#55 |SMALL BURNISHED BRASS | 49| 12 +Brand#55 |SMALL BURNISHED TIN | 49| 12 +Brand#55 |SMALL PLATED NICKEL | 36| 12 +Brand#55 |SMALL PLATED NICKEL | 45| 12 +Brand#55 |SMALL PLATED STEEL | 9| 12 +Brand#55 |SMALL PLATED STEEL | 19| 12 +Brand#55 |SMALL POLISHED STEEL | 14| 12 +Brand#55 |STANDARD ANODIZED BRASS | 3| 12 +Brand#55 |STANDARD ANODIZED STEEL | 19| 12 +Brand#55 |STANDARD ANODIZED TIN | 9| 12 +Brand#55 |STANDARD BRUSHED COPPER | 9| 12 +Brand#55 |STANDARD BRUSHED NICKEL | 9| 12 +Brand#55 |STANDARD BRUSHED TIN | 36| 12 +Brand#55 |STANDARD BRUSHED TIN | 45| 12 +Brand#55 |STANDARD BURNISHED BRASS | 3| 12 +Brand#55 |STANDARD BURNISHED COPPER| 49| 12 +Brand#55 |STANDARD BURNISHED TIN | 3| 12 +Brand#55 |STANDARD PLATED BRASS | 3| 12 +Brand#55 |STANDARD PLATED COPPER | 3| 12 +Brand#55 |STANDARD PLATED COPPER | 19| 12 +Brand#55 |STANDARD PLATED NICKEL | 9| 12 +Brand#55 |STANDARD PLATED TIN | 19| 12 +Brand#55 |STANDARD POLISHED NICKEL | 14| 12 +Brand#11 |ECONOMY POLISHED BRASS | 14| 11 +Brand#11 |SMALL PLATED BRASS | 14| 11 +Brand#12 |MEDIUM BURNISHED TIN | 45| 11 +Brand#12 |SMALL BURNISHED COPPER | 23| 11 +Brand#15 |SMALL PLATED NICKEL | 45| 11 +Brand#21 |ECONOMY PLATED COPPER | 3| 11 +Brand#21 |SMALL BRUSHED TIN | 19| 11 +Brand#23 |LARGE BRUSHED NICKEL | 23| 11 +Brand#24 |PROMO BRUSHED NICKEL | 9| 11 +Brand#25 |SMALL PLATED TIN | 23| 11 +Brand#31 |ECONOMY POLISHED COPPER | 14| 11 +Brand#32 |SMALL PLATED NICKEL | 45| 11 +Brand#33 |PROMO ANODIZED TIN | 19| 11 +Brand#43 |PROMO BRUSHED NICKEL | 9| 11 +Brand#44 |LARGE PLATED STEEL | 3| 11 +Brand#52 |ECONOMY ANODIZED COPPER | 36| 11 +Brand#52 |SMALL POLISHED BRASS | 49| 11 +Brand#53 |MEDIUM BRUSHED BRASS | 49| 11 +Brand#53 |PROMO BRUSHED NICKEL | 3| 11 +Brand#54 |LARGE PLATED BRASS | 19| 11 +Brand#54 |LARGE POLISHED NICKEL | 3| 11 +Brand#55 |PROMO ANODIZED STEEL | 45| 11 +Brand#55 |STANDARD POLISHED STEEL | 19| 11 +Brand#11 |ECONOMY ANODIZED BRASS | 19| 8 +Brand#11 |ECONOMY ANODIZED NICKEL | 9| 8 +Brand#11 |ECONOMY ANODIZED NICKEL | 19| 8 +Brand#11 |ECONOMY ANODIZED NICKEL | 36| 8 +Brand#11 |ECONOMY ANODIZED NICKEL | 45| 8 +Brand#11 |ECONOMY ANODIZED TIN | 36| 8 +Brand#11 |ECONOMY BRUSHED COPPER | 9| 8 +Brand#11 |ECONOMY BRUSHED COPPER | 49| 8 +Brand#11 |ECONOMY BRUSHED NICKEL | 49| 8 +Brand#11 |ECONOMY BRUSHED STEEL | 9| 8 +Brand#11 |ECONOMY BRUSHED STEEL | 14| 8 +Brand#11 |ECONOMY BRUSHED STEEL | 23| 8 +Brand#11 |ECONOMY BRUSHED TIN | 19| 8 +Brand#11 |ECONOMY BRUSHED TIN | 36| 8 +Brand#11 |ECONOMY BRUSHED TIN | 49| 8 +Brand#11 |ECONOMY BURNISHED BRASS | 23| 8 +Brand#11 |ECONOMY BURNISHED COPPER | 9| 8 +Brand#11 |ECONOMY BURNISHED NICKEL | 14| 8 +Brand#11 |ECONOMY BURNISHED NICKEL | 19| 8 +Brand#11 |ECONOMY BURNISHED TIN | 9| 8 +Brand#11 |ECONOMY BURNISHED TIN | 14| 8 +Brand#11 |ECONOMY BURNISHED TIN | 49| 8 +Brand#11 |ECONOMY PLATED COPPER | 14| 8 +Brand#11 |ECONOMY PLATED COPPER | 49| 8 +Brand#11 |ECONOMY PLATED NICKEL | 23| 8 +Brand#11 |ECONOMY PLATED NICKEL | 36| 8 +Brand#11 |ECONOMY PLATED NICKEL | 45| 8 +Brand#11 |ECONOMY PLATED STEEL | 23| 8 +Brand#11 |ECONOMY PLATED TIN | 49| 8 +Brand#11 |ECONOMY POLISHED BRASS | 3| 8 +Brand#11 |ECONOMY POLISHED COPPER | 45| 8 +Brand#11 |ECONOMY POLISHED COPPER | 49| 8 +Brand#11 |ECONOMY POLISHED NICKEL | 3| 8 +Brand#11 |ECONOMY POLISHED NICKEL | 9| 8 +Brand#11 |ECONOMY POLISHED NICKEL | 14| 8 +Brand#11 |ECONOMY POLISHED NICKEL | 23| 8 +Brand#11 |ECONOMY POLISHED STEEL | 19| 8 +Brand#11 |ECONOMY POLISHED TIN | 3| 8 +Brand#11 |ECONOMY POLISHED TIN | 14| 8 +Brand#11 |ECONOMY POLISHED TIN | 36| 8 +Brand#11 |LARGE ANODIZED BRASS | 49| 8 +Brand#11 |LARGE ANODIZED COPPER | 23| 8 +Brand#11 |LARGE ANODIZED NICKEL | 36| 8 +Brand#11 |LARGE ANODIZED NICKEL | 45| 8 +Brand#11 |LARGE ANODIZED NICKEL | 49| 8 +Brand#11 |LARGE ANODIZED STEEL | 9| 8 +Brand#11 |LARGE ANODIZED TIN | 23| 8 +Brand#11 |LARGE ANODIZED TIN | 45| 8 +Brand#11 |LARGE BRUSHED BRASS | 14| 8 +Brand#11 |LARGE BRUSHED BRASS | 23| 8 +Brand#11 |LARGE BRUSHED COPPER | 19| 8 +Brand#11 |LARGE BRUSHED COPPER | 23| 8 +Brand#11 |LARGE BRUSHED COPPER | 36| 8 +Brand#11 |LARGE BRUSHED NICKEL | 3| 8 +Brand#11 |LARGE BRUSHED NICKEL | 14| 8 +Brand#11 |LARGE BRUSHED NICKEL | 19| 8 +Brand#11 |LARGE BRUSHED STEEL | 49| 8 +Brand#11 |LARGE BRUSHED TIN | 14| 8 +Brand#11 |LARGE BRUSHED TIN | 23| 8 +Brand#11 |LARGE BURNISHED BRASS | 14| 8 +Brand#11 |LARGE BURNISHED BRASS | 23| 8 +Brand#11 |LARGE BURNISHED BRASS | 45| 8 +Brand#11 |LARGE BURNISHED BRASS | 49| 8 +Brand#11 |LARGE BURNISHED COPPER | 9| 8 +Brand#11 |LARGE BURNISHED COPPER | 36| 8 +Brand#11 |LARGE BURNISHED NICKEL | 45| 8 +Brand#11 |LARGE BURNISHED STEEL | 36| 8 +Brand#11 |LARGE BURNISHED STEEL | 49| 8 +Brand#11 |LARGE BURNISHED TIN | 14| 8 +Brand#11 |LARGE BURNISHED TIN | 23| 8 +Brand#11 |LARGE PLATED BRASS | 14| 8 +Brand#11 |LARGE PLATED BRASS | 23| 8 +Brand#11 |LARGE PLATED NICKEL | 3| 8 +Brand#11 |LARGE PLATED NICKEL | 36| 8 +Brand#11 |LARGE PLATED STEEL | 3| 8 +Brand#11 |LARGE PLATED STEEL | 23| 8 +Brand#11 |LARGE PLATED STEEL | 36| 8 +Brand#11 |LARGE PLATED TIN | 9| 8 +Brand#11 |LARGE PLATED TIN | 14| 8 +Brand#11 |LARGE POLISHED BRASS | 49| 8 +Brand#11 |LARGE POLISHED COPPER | 14| 8 +Brand#11 |LARGE POLISHED NICKEL | 14| 8 +Brand#11 |LARGE POLISHED STEEL | 36| 8 +Brand#11 |LARGE POLISHED TIN | 3| 8 +Brand#11 |MEDIUM ANODIZED BRASS | 14| 8 +Brand#11 |MEDIUM ANODIZED BRASS | 49| 8 +Brand#11 |MEDIUM ANODIZED COPPER | 23| 8 +Brand#11 |MEDIUM ANODIZED NICKEL | 9| 8 +Brand#11 |MEDIUM ANODIZED NICKEL | 14| 8 +Brand#11 |MEDIUM ANODIZED NICKEL | 36| 8 +Brand#11 |MEDIUM ANODIZED NICKEL | 45| 8 +Brand#11 |MEDIUM ANODIZED STEEL | 9| 8 +Brand#11 |MEDIUM ANODIZED TIN | 23| 8 +Brand#11 |MEDIUM ANODIZED TIN | 49| 8 +Brand#11 |MEDIUM BRUSHED COPPER | 23| 8 +Brand#11 |MEDIUM BRUSHED NICKEL | 23| 8 +Brand#11 |MEDIUM BURNISHED BRASS | 3| 8 +Brand#11 |MEDIUM BURNISHED BRASS | 19| 8 +Brand#11 |MEDIUM BURNISHED BRASS | 45| 8 +Brand#11 |MEDIUM BURNISHED COPPER | 9| 8 +Brand#11 |MEDIUM BURNISHED COPPER | 14| 8 +Brand#11 |MEDIUM BURNISHED COPPER | 49| 8 +Brand#11 |MEDIUM BURNISHED STEEL | 19| 8 +Brand#11 |MEDIUM BURNISHED TIN | 19| 8 +Brand#11 |MEDIUM BURNISHED TIN | 36| 8 +Brand#11 |MEDIUM PLATED BRASS | 3| 8 +Brand#11 |MEDIUM PLATED BRASS | 36| 8 +Brand#11 |MEDIUM PLATED NICKEL | 14| 8 +Brand#11 |MEDIUM PLATED NICKEL | 45| 8 +Brand#11 |MEDIUM PLATED STEEL | 3| 8 +Brand#11 |MEDIUM PLATED STEEL | 9| 8 +Brand#11 |MEDIUM PLATED STEEL | 23| 8 +Brand#11 |MEDIUM PLATED STEEL | 36| 8 +Brand#11 |MEDIUM PLATED TIN | 3| 8 +Brand#11 |MEDIUM PLATED TIN | 19| 8 +Brand#11 |MEDIUM PLATED TIN | 23| 8 +Brand#11 |MEDIUM PLATED TIN | 45| 8 +Brand#11 |PROMO ANODIZED COPPER | 14| 8 +Brand#11 |PROMO ANODIZED NICKEL | 3| 8 +Brand#11 |PROMO ANODIZED NICKEL | 45| 8 +Brand#11 |PROMO ANODIZED STEEL | 23| 8 +Brand#11 |PROMO ANODIZED STEEL | 49| 8 +Brand#11 |PROMO ANODIZED TIN | 36| 8 +Brand#11 |PROMO BRUSHED BRASS | 3| 8 +Brand#11 |PROMO BRUSHED BRASS | 36| 8 +Brand#11 |PROMO BRUSHED COPPER | 14| 8 +Brand#11 |PROMO BRUSHED COPPER | 19| 8 +Brand#11 |PROMO BRUSHED NICKEL | 19| 8 +Brand#11 |PROMO BRUSHED STEEL | 49| 8 +Brand#11 |PROMO BRUSHED TIN | 19| 8 +Brand#11 |PROMO BRUSHED TIN | 36| 8 +Brand#11 |PROMO BURNISHED BRASS | 3| 8 +Brand#11 |PROMO BURNISHED BRASS | 19| 8 +Brand#11 |PROMO BURNISHED BRASS | 36| 8 +Brand#11 |PROMO BURNISHED BRASS | 49| 8 +Brand#11 |PROMO BURNISHED COPPER | 14| 8 +Brand#11 |PROMO BURNISHED NICKEL | 3| 8 +Brand#11 |PROMO BURNISHED NICKEL | 14| 8 +Brand#11 |PROMO BURNISHED STEEL | 14| 8 +Brand#11 |PROMO BURNISHED STEEL | 19| 8 +Brand#11 |PROMO BURNISHED STEEL | 36| 8 +Brand#11 |PROMO BURNISHED STEEL | 49| 8 +Brand#11 |PROMO PLATED BRASS | 23| 8 +Brand#11 |PROMO PLATED NICKEL | 14| 8 +Brand#11 |PROMO PLATED NICKEL | 49| 8 +Brand#11 |PROMO PLATED STEEL | 19| 8 +Brand#11 |PROMO PLATED STEEL | 23| 8 +Brand#11 |PROMO POLISHED BRASS | 3| 8 +Brand#11 |PROMO POLISHED BRASS | 19| 8 +Brand#11 |PROMO POLISHED BRASS | 36| 8 +Brand#11 |PROMO POLISHED COPPER | 45| 8 +Brand#11 |PROMO POLISHED TIN | 3| 8 +Brand#11 |PROMO POLISHED TIN | 9| 8 +Brand#11 |PROMO POLISHED TIN | 49| 8 +Brand#11 |SMALL ANODIZED COPPER | 19| 8 +Brand#11 |SMALL ANODIZED NICKEL | 49| 8 +Brand#11 |SMALL ANODIZED STEEL | 3| 8 +Brand#11 |SMALL ANODIZED STEEL | 14| 8 +Brand#11 |SMALL ANODIZED TIN | 9| 8 +Brand#11 |SMALL ANODIZED TIN | 19| 8 +Brand#11 |SMALL BRUSHED BRASS | 45| 8 +Brand#11 |SMALL BRUSHED BRASS | 49| 8 +Brand#11 |SMALL BRUSHED COPPER | 14| 8 +Brand#11 |SMALL BRUSHED COPPER | 19| 8 +Brand#11 |SMALL BRUSHED NICKEL | 3| 8 +Brand#11 |SMALL BRUSHED NICKEL | 45| 8 +Brand#11 |SMALL BRUSHED NICKEL | 49| 8 +Brand#11 |SMALL BRUSHED TIN | 14| 8 +Brand#11 |SMALL BURNISHED COPPER | 23| 8 +Brand#11 |SMALL BURNISHED COPPER | 36| 8 +Brand#11 |SMALL BURNISHED COPPER | 49| 8 +Brand#11 |SMALL BURNISHED STEEL | 3| 8 +Brand#11 |SMALL BURNISHED STEEL | 9| 8 +Brand#11 |SMALL BURNISHED STEEL | 36| 8 +Brand#11 |SMALL BURNISHED STEEL | 45| 8 +Brand#11 |SMALL BURNISHED TIN | 3| 8 +Brand#11 |SMALL BURNISHED TIN | 19| 8 +Brand#11 |SMALL BURNISHED TIN | 45| 8 +Brand#11 |SMALL PLATED BRASS | 3| 8 +Brand#11 |SMALL PLATED BRASS | 19| 8 +Brand#11 |SMALL PLATED BRASS | 36| 8 +Brand#11 |SMALL PLATED COPPER | 49| 8 +Brand#11 |SMALL PLATED NICKEL | 9| 8 +Brand#11 |SMALL PLATED NICKEL | 49| 8 +Brand#11 |SMALL PLATED STEEL | 9| 8 +Brand#11 |SMALL PLATED TIN | 9| 8 +Brand#11 |SMALL PLATED TIN | 19| 8 +Brand#11 |SMALL PLATED TIN | 45| 8 +Brand#11 |SMALL POLISHED BRASS | 23| 8 +Brand#11 |SMALL POLISHED COPPER | 36| 8 +Brand#11 |SMALL POLISHED NICKEL | 45| 8 +Brand#11 |SMALL POLISHED STEEL | 14| 8 +Brand#11 |SMALL POLISHED STEEL | 23| 8 +Brand#11 |STANDARD ANODIZED BRASS | 23| 8 +Brand#11 |STANDARD ANODIZED COPPER | 9| 8 +Brand#11 |STANDARD ANODIZED STEEL | 19| 8 +Brand#11 |STANDARD BRUSHED COPPER | 14| 8 +Brand#11 |STANDARD BRUSHED NICKEL | 14| 8 +Brand#11 |STANDARD BRUSHED NICKEL | 45| 8 +Brand#11 |STANDARD BRUSHED TIN | 19| 8 +Brand#11 |STANDARD BURNISHED BRASS | 49| 8 +Brand#11 |STANDARD BURNISHED COPPER| 14| 8 +Brand#11 |STANDARD BURNISHED COPPER| 23| 8 +Brand#11 |STANDARD BURNISHED STEEL | 23| 8 +Brand#11 |STANDARD BURNISHED TIN | 49| 8 +Brand#11 |STANDARD PLATED BRASS | 19| 8 +Brand#11 |STANDARD PLATED BRASS | 23| 8 +Brand#11 |STANDARD PLATED BRASS | 49| 8 +Brand#11 |STANDARD PLATED NICKEL | 36| 8 +Brand#11 |STANDARD PLATED NICKEL | 45| 8 +Brand#11 |STANDARD PLATED STEEL | 23| 8 +Brand#11 |STANDARD PLATED STEEL | 45| 8 +Brand#11 |STANDARD PLATED TIN | 36| 8 +Brand#11 |STANDARD POLISHED BRASS | 9| 8 +Brand#11 |STANDARD POLISHED NICKEL | 19| 8 +Brand#11 |STANDARD POLISHED STEEL | 49| 8 +Brand#12 |ECONOMY ANODIZED STEEL | 3| 8 +Brand#12 |ECONOMY ANODIZED STEEL | 19| 8 +Brand#12 |ECONOMY ANODIZED STEEL | 23| 8 +Brand#12 |ECONOMY ANODIZED TIN | 23| 8 +Brand#12 |ECONOMY BRUSHED COPPER | 3| 8 +Brand#12 |ECONOMY BRUSHED COPPER | 14| 8 +Brand#12 |ECONOMY BRUSHED COPPER | 19| 8 +Brand#12 |ECONOMY BRUSHED COPPER | 49| 8 +Brand#12 |ECONOMY BRUSHED NICKEL | 3| 8 +Brand#12 |ECONOMY BRUSHED STEEL | 3| 8 +Brand#12 |ECONOMY BRUSHED STEEL | 49| 8 +Brand#12 |ECONOMY BRUSHED TIN | 9| 8 +Brand#12 |ECONOMY BRUSHED TIN | 49| 8 +Brand#12 |ECONOMY BURNISHED BRASS | 49| 8 +Brand#12 |ECONOMY BURNISHED COPPER | 3| 8 +Brand#12 |ECONOMY BURNISHED COPPER | 19| 8 +Brand#12 |ECONOMY BURNISHED NICKEL | 3| 8 +Brand#12 |ECONOMY BURNISHED NICKEL | 23| 8 +Brand#12 |ECONOMY BURNISHED STEEL | 3| 8 +Brand#12 |ECONOMY BURNISHED TIN | 14| 8 +Brand#12 |ECONOMY BURNISHED TIN | 19| 8 +Brand#12 |ECONOMY PLATED BRASS | 19| 8 +Brand#12 |ECONOMY PLATED BRASS | 49| 8 +Brand#12 |ECONOMY PLATED COPPER | 23| 8 +Brand#12 |ECONOMY PLATED STEEL | 23| 8 +Brand#12 |ECONOMY PLATED TIN | 36| 8 +Brand#12 |ECONOMY PLATED TIN | 49| 8 +Brand#12 |ECONOMY POLISHED BRASS | 9| 8 +Brand#12 |ECONOMY POLISHED BRASS | 14| 8 +Brand#12 |ECONOMY POLISHED COPPER | 9| 8 +Brand#12 |ECONOMY POLISHED COPPER | 49| 8 +Brand#12 |ECONOMY POLISHED TIN | 3| 8 +Brand#12 |ECONOMY POLISHED TIN | 19| 8 +Brand#12 |ECONOMY POLISHED TIN | 36| 8 +Brand#12 |LARGE ANODIZED BRASS | 23| 8 +Brand#12 |LARGE ANODIZED BRASS | 36| 8 +Brand#12 |LARGE ANODIZED COPPER | 14| 8 +Brand#12 |LARGE ANODIZED COPPER | 45| 8 +Brand#12 |LARGE ANODIZED NICKEL | 9| 8 +Brand#12 |LARGE ANODIZED STEEL | 9| 8 +Brand#12 |LARGE ANODIZED STEEL | 49| 8 +Brand#12 |LARGE ANODIZED TIN | 14| 8 +Brand#12 |LARGE BRUSHED BRASS | 14| 8 +Brand#12 |LARGE BRUSHED NICKEL | 9| 8 +Brand#12 |LARGE BRUSHED STEEL | 3| 8 +Brand#12 |LARGE BRUSHED STEEL | 23| 8 +Brand#12 |LARGE BRUSHED STEEL | 49| 8 +Brand#12 |LARGE BRUSHED TIN | 9| 8 +Brand#12 |LARGE BRUSHED TIN | 45| 8 +Brand#12 |LARGE BURNISHED BRASS | 14| 8 +Brand#12 |LARGE BURNISHED BRASS | 45| 8 +Brand#12 |LARGE BURNISHED COPPER | 19| 8 +Brand#12 |LARGE BURNISHED COPPER | 49| 8 +Brand#12 |LARGE BURNISHED NICKEL | 3| 8 +Brand#12 |LARGE BURNISHED NICKEL | 14| 8 +Brand#12 |LARGE BURNISHED STEEL | 3| 8 +Brand#12 |LARGE BURNISHED STEEL | 45| 8 +Brand#12 |LARGE BURNISHED TIN | 9| 8 +Brand#12 |LARGE BURNISHED TIN | 14| 8 +Brand#12 |LARGE BURNISHED TIN | 45| 8 +Brand#12 |LARGE BURNISHED TIN | 49| 8 +Brand#12 |LARGE PLATED BRASS | 49| 8 +Brand#12 |LARGE PLATED COPPER | 3| 8 +Brand#12 |LARGE PLATED COPPER | 36| 8 +Brand#12 |LARGE PLATED COPPER | 45| 8 +Brand#12 |LARGE PLATED NICKEL | 49| 8 +Brand#12 |LARGE PLATED STEEL | 3| 8 +Brand#12 |LARGE PLATED STEEL | 36| 8 +Brand#12 |LARGE PLATED TIN | 14| 8 +Brand#12 |LARGE POLISHED BRASS | 9| 8 +Brand#12 |LARGE POLISHED BRASS | 19| 8 +Brand#12 |LARGE POLISHED COPPER | 9| 8 +Brand#12 |LARGE POLISHED COPPER | 36| 8 +Brand#12 |LARGE POLISHED NICKEL | 23| 8 +Brand#12 |LARGE POLISHED NICKEL | 36| 8 +Brand#12 |LARGE POLISHED NICKEL | 49| 8 +Brand#12 |LARGE POLISHED STEEL | 49| 8 +Brand#12 |MEDIUM ANODIZED BRASS | 23| 8 +Brand#12 |MEDIUM ANODIZED NICKEL | 9| 8 +Brand#12 |MEDIUM ANODIZED STEEL | 19| 8 +Brand#12 |MEDIUM ANODIZED TIN | 9| 8 +Brand#12 |MEDIUM BRUSHED COPPER | 3| 8 +Brand#12 |MEDIUM BRUSHED COPPER | 9| 8 +Brand#12 |MEDIUM BRUSHED COPPER | 36| 8 +Brand#12 |MEDIUM BRUSHED NICKEL | 49| 8 +Brand#12 |MEDIUM BRUSHED STEEL | 3| 8 +Brand#12 |MEDIUM BRUSHED STEEL | 36| 8 +Brand#12 |MEDIUM BURNISHED BRASS | 23| 8 +Brand#12 |MEDIUM BURNISHED COPPER | 49| 8 +Brand#12 |MEDIUM BURNISHED NICKEL | 3| 8 +Brand#12 |MEDIUM BURNISHED NICKEL | 9| 8 +Brand#12 |MEDIUM BURNISHED NICKEL | 49| 8 +Brand#12 |MEDIUM BURNISHED STEEL | 3| 8 +Brand#12 |MEDIUM BURNISHED STEEL | 9| 8 +Brand#12 |MEDIUM BURNISHED STEEL | 14| 8 +Brand#12 |MEDIUM BURNISHED STEEL | 19| 8 +Brand#12 |MEDIUM BURNISHED TIN | 14| 8 +Brand#12 |MEDIUM PLATED BRASS | 14| 8 +Brand#12 |MEDIUM PLATED BRASS | 49| 8 +Brand#12 |MEDIUM PLATED NICKEL | 9| 8 +Brand#12 |MEDIUM PLATED NICKEL | 36| 8 +Brand#12 |MEDIUM PLATED NICKEL | 49| 8 +Brand#12 |MEDIUM PLATED STEEL | 14| 8 +Brand#12 |MEDIUM PLATED STEEL | 23| 8 +Brand#12 |MEDIUM PLATED STEEL | 45| 8 +Brand#12 |MEDIUM PLATED TIN | 14| 8 +Brand#12 |MEDIUM PLATED TIN | 19| 8 +Brand#12 |MEDIUM PLATED TIN | 45| 8 +Brand#12 |PROMO ANODIZED BRASS | 49| 8 +Brand#12 |PROMO ANODIZED COPPER | 3| 8 +Brand#12 |PROMO ANODIZED COPPER | 36| 8 +Brand#12 |PROMO ANODIZED COPPER | 45| 8 +Brand#12 |PROMO ANODIZED COPPER | 49| 8 +Brand#12 |PROMO ANODIZED NICKEL | 14| 8 +Brand#12 |PROMO ANODIZED NICKEL | 23| 8 +Brand#12 |PROMO ANODIZED TIN | 19| 8 +Brand#12 |PROMO ANODIZED TIN | 36| 8 +Brand#12 |PROMO BRUSHED BRASS | 3| 8 +Brand#12 |PROMO BRUSHED BRASS | 23| 8 +Brand#12 |PROMO BRUSHED BRASS | 49| 8 +Brand#12 |PROMO BRUSHED COPPER | 9| 8 +Brand#12 |PROMO BRUSHED COPPER | 23| 8 +Brand#12 |PROMO BRUSHED NICKEL | 23| 8 +Brand#12 |PROMO BRUSHED STEEL | 23| 8 +Brand#12 |PROMO BURNISHED BRASS | 3| 8 +Brand#12 |PROMO BURNISHED COPPER | 3| 8 +Brand#12 |PROMO BURNISHED NICKEL | 9| 8 +Brand#12 |PROMO BURNISHED NICKEL | 49| 8 +Brand#12 |PROMO BURNISHED TIN | 9| 8 +Brand#12 |PROMO BURNISHED TIN | 14| 8 +Brand#12 |PROMO BURNISHED TIN | 45| 8 +Brand#12 |PROMO PLATED BRASS | 36| 8 +Brand#12 |PROMO PLATED BRASS | 45| 8 +Brand#12 |PROMO PLATED BRASS | 49| 8 +Brand#12 |PROMO PLATED COPPER | 23| 8 +Brand#12 |PROMO PLATED COPPER | 36| 8 +Brand#12 |PROMO PLATED NICKEL | 14| 8 +Brand#12 |PROMO PLATED STEEL | 3| 8 +Brand#12 |PROMO PLATED STEEL | 49| 8 +Brand#12 |PROMO PLATED TIN | 3| 8 +Brand#12 |PROMO PLATED TIN | 9| 8 +Brand#12 |PROMO PLATED TIN | 23| 8 +Brand#12 |PROMO PLATED TIN | 36| 8 +Brand#12 |PROMO POLISHED BRASS | 3| 8 +Brand#12 |PROMO POLISHED BRASS | 9| 8 +Brand#12 |PROMO POLISHED BRASS | 19| 8 +Brand#12 |PROMO POLISHED COPPER | 19| 8 +Brand#12 |PROMO POLISHED COPPER | 23| 8 +Brand#12 |PROMO POLISHED NICKEL | 3| 8 +Brand#12 |PROMO POLISHED NICKEL | 19| 8 +Brand#12 |PROMO POLISHED STEEL | 3| 8 +Brand#12 |PROMO POLISHED STEEL | 19| 8 +Brand#12 |PROMO POLISHED STEEL | 36| 8 +Brand#12 |PROMO POLISHED TIN | 23| 8 +Brand#12 |PROMO POLISHED TIN | 36| 8 +Brand#12 |SMALL ANODIZED BRASS | 36| 8 +Brand#12 |SMALL ANODIZED COPPER | 9| 8 +Brand#12 |SMALL ANODIZED STEEL | 9| 8 +Brand#12 |SMALL ANODIZED STEEL | 45| 8 +Brand#12 |SMALL ANODIZED STEEL | 49| 8 +Brand#12 |SMALL ANODIZED TIN | 14| 8 +Brand#12 |SMALL ANODIZED TIN | 19| 8 +Brand#12 |SMALL ANODIZED TIN | 23| 8 +Brand#12 |SMALL BRUSHED BRASS | 14| 8 +Brand#12 |SMALL BRUSHED BRASS | 45| 8 +Brand#12 |SMALL BRUSHED COPPER | 36| 8 +Brand#12 |SMALL BRUSHED NICKEL | 14| 8 +Brand#12 |SMALL BRUSHED NICKEL | 19| 8 +Brand#12 |SMALL BRUSHED NICKEL | 23| 8 +Brand#12 |SMALL BRUSHED NICKEL | 45| 8 +Brand#12 |SMALL BRUSHED STEEL | 49| 8 +Brand#12 |SMALL BRUSHED TIN | 9| 8 +Brand#12 |SMALL BURNISHED BRASS | 9| 8 +Brand#12 |SMALL BURNISHED COPPER | 36| 8 +Brand#12 |SMALL BURNISHED COPPER | 49| 8 +Brand#12 |SMALL BURNISHED NICKEL | 3| 8 +Brand#12 |SMALL BURNISHED NICKEL | 9| 8 +Brand#12 |SMALL BURNISHED NICKEL | 19| 8 +Brand#12 |SMALL BURNISHED NICKEL | 36| 8 +Brand#12 |SMALL BURNISHED STEEL | 9| 8 +Brand#12 |SMALL BURNISHED TIN | 23| 8 +Brand#12 |SMALL BURNISHED TIN | 45| 8 +Brand#12 |SMALL PLATED BRASS | 45| 8 +Brand#12 |SMALL PLATED COPPER | 19| 8 +Brand#12 |SMALL PLATED NICKEL | 23| 8 +Brand#12 |SMALL PLATED TIN | 45| 8 +Brand#12 |SMALL POLISHED BRASS | 36| 8 +Brand#12 |SMALL POLISHED BRASS | 45| 8 +Brand#12 |SMALL POLISHED COPPER | 45| 8 +Brand#12 |SMALL POLISHED COPPER | 49| 8 +Brand#12 |SMALL POLISHED TIN | 36| 8 +Brand#12 |SMALL POLISHED TIN | 45| 8 +Brand#12 |STANDARD ANODIZED BRASS | 14| 8 +Brand#12 |STANDARD ANODIZED BRASS | 49| 8 +Brand#12 |STANDARD ANODIZED NICKEL | 19| 8 +Brand#12 |STANDARD ANODIZED NICKEL | 49| 8 +Brand#12 |STANDARD ANODIZED STEEL | 19| 8 +Brand#12 |STANDARD ANODIZED STEEL | 36| 8 +Brand#12 |STANDARD ANODIZED TIN | 36| 8 +Brand#12 |STANDARD BRUSHED BRASS | 36| 8 +Brand#12 |STANDARD BRUSHED BRASS | 45| 8 +Brand#12 |STANDARD BRUSHED COPPER | 9| 8 +Brand#12 |STANDARD BRUSHED COPPER | 36| 8 +Brand#12 |STANDARD BRUSHED NICKEL | 3| 8 +Brand#12 |STANDARD BRUSHED NICKEL | 14| 8 +Brand#12 |STANDARD BRUSHED NICKEL | 19| 8 +Brand#12 |STANDARD BRUSHED NICKEL | 36| 8 +Brand#12 |STANDARD BRUSHED NICKEL | 45| 8 +Brand#12 |STANDARD BRUSHED STEEL | 45| 8 +Brand#12 |STANDARD BRUSHED TIN | 14| 8 +Brand#12 |STANDARD BRUSHED TIN | 23| 8 +Brand#12 |STANDARD BURNISHED BRASS | 23| 8 +Brand#12 |STANDARD BURNISHED BRASS | 36| 8 +Brand#12 |STANDARD BURNISHED BRASS | 49| 8 +Brand#12 |STANDARD BURNISHED COPPER| 14| 8 +Brand#12 |STANDARD BURNISHED NICKEL| 14| 8 +Brand#12 |STANDARD BURNISHED STEEL | 14| 8 +Brand#12 |STANDARD BURNISHED TIN | 14| 8 +Brand#12 |STANDARD BURNISHED TIN | 23| 8 +Brand#12 |STANDARD BURNISHED TIN | 36| 8 +Brand#12 |STANDARD PLATED BRASS | 49| 8 +Brand#12 |STANDARD PLATED COPPER | 14| 8 +Brand#12 |STANDARD PLATED STEEL | 45| 8 +Brand#12 |STANDARD PLATED TIN | 9| 8 +Brand#12 |STANDARD PLATED TIN | 45| 8 +Brand#12 |STANDARD POLISHED COPPER | 3| 8 +Brand#12 |STANDARD POLISHED COPPER | 23| 8 +Brand#12 |STANDARD POLISHED COPPER | 36| 8 +Brand#12 |STANDARD POLISHED NICKEL | 36| 8 +Brand#12 |STANDARD POLISHED STEEL | 3| 8 +Brand#12 |STANDARD POLISHED STEEL | 14| 8 +Brand#12 |STANDARD POLISHED STEEL | 19| 8 +Brand#12 |STANDARD POLISHED STEEL | 45| 8 +Brand#13 |ECONOMY ANODIZED COPPER | 9| 8 +Brand#13 |ECONOMY ANODIZED COPPER | 23| 8 +Brand#13 |ECONOMY ANODIZED NICKEL | 3| 8 +Brand#13 |ECONOMY ANODIZED STEEL | 3| 8 +Brand#13 |ECONOMY BRUSHED COPPER | 3| 8 +Brand#13 |ECONOMY BRUSHED COPPER | 9| 8 +Brand#13 |ECONOMY BRUSHED COPPER | 49| 8 +Brand#13 |ECONOMY BRUSHED NICKEL | 49| 8 +Brand#13 |ECONOMY BRUSHED TIN | 14| 8 +Brand#13 |ECONOMY BRUSHED TIN | 23| 8 +Brand#13 |ECONOMY BURNISHED BRASS | 45| 8 +Brand#13 |ECONOMY BURNISHED NICKEL | 9| 8 +Brand#13 |ECONOMY BURNISHED STEEL | 3| 8 +Brand#13 |ECONOMY BURNISHED STEEL | 36| 8 +Brand#13 |ECONOMY BURNISHED TIN | 49| 8 +Brand#13 |ECONOMY PLATED BRASS | 36| 8 +Brand#13 |ECONOMY PLATED COPPER | 3| 8 +Brand#13 |ECONOMY PLATED COPPER | 9| 8 +Brand#13 |ECONOMY PLATED COPPER | 19| 8 +Brand#13 |ECONOMY PLATED NICKEL | 14| 8 +Brand#13 |ECONOMY PLATED STEEL | 45| 8 +Brand#13 |ECONOMY PLATED TIN | 3| 8 +Brand#13 |ECONOMY PLATED TIN | 23| 8 +Brand#13 |ECONOMY POLISHED BRASS | 9| 8 +Brand#13 |ECONOMY POLISHED BRASS | 36| 8 +Brand#13 |ECONOMY POLISHED COPPER | 9| 8 +Brand#13 |ECONOMY POLISHED COPPER | 49| 8 +Brand#13 |ECONOMY POLISHED STEEL | 3| 8 +Brand#13 |ECONOMY POLISHED STEEL | 23| 8 +Brand#13 |ECONOMY POLISHED STEEL | 45| 8 +Brand#13 |ECONOMY POLISHED STEEL | 49| 8 +Brand#13 |ECONOMY POLISHED TIN | 3| 8 +Brand#13 |ECONOMY POLISHED TIN | 36| 8 +Brand#13 |LARGE ANODIZED COPPER | 3| 8 +Brand#13 |LARGE ANODIZED COPPER | 19| 8 +Brand#13 |LARGE ANODIZED STEEL | 19| 8 +Brand#13 |LARGE ANODIZED STEEL | 45| 8 +Brand#13 |LARGE ANODIZED TIN | 45| 8 +Brand#13 |LARGE BRUSHED BRASS | 9| 8 +Brand#13 |LARGE BRUSHED BRASS | 19| 8 +Brand#13 |LARGE BRUSHED BRASS | 45| 8 +Brand#13 |LARGE BRUSHED BRASS | 49| 8 +Brand#13 |LARGE BRUSHED COPPER | 45| 8 +Brand#13 |LARGE BRUSHED COPPER | 49| 8 +Brand#13 |LARGE BRUSHED NICKEL | 9| 8 +Brand#13 |LARGE BRUSHED STEEL | 19| 8 +Brand#13 |LARGE BRUSHED STEEL | 36| 8 +Brand#13 |LARGE BRUSHED TIN | 9| 8 +Brand#13 |LARGE BURNISHED BRASS | 3| 8 +Brand#13 |LARGE BURNISHED COPPER | 3| 8 +Brand#13 |LARGE BURNISHED COPPER | 23| 8 +Brand#13 |LARGE BURNISHED NICKEL | 14| 8 +Brand#13 |LARGE BURNISHED STEEL | 14| 8 +Brand#13 |LARGE BURNISHED STEEL | 45| 8 +Brand#13 |LARGE PLATED BRASS | 9| 8 +Brand#13 |LARGE PLATED COPPER | 14| 8 +Brand#13 |LARGE PLATED NICKEL | 19| 8 +Brand#13 |LARGE PLATED STEEL | 3| 8 +Brand#13 |LARGE PLATED STEEL | 36| 8 +Brand#13 |LARGE PLATED TIN | 14| 8 +Brand#13 |LARGE PLATED TIN | 45| 8 +Brand#13 |LARGE POLISHED BRASS | 23| 8 +Brand#13 |LARGE POLISHED NICKEL | 45| 8 +Brand#13 |LARGE POLISHED STEEL | 36| 8 +Brand#13 |LARGE POLISHED TIN | 3| 8 +Brand#13 |LARGE POLISHED TIN | 9| 8 +Brand#13 |LARGE POLISHED TIN | 14| 8 +Brand#13 |LARGE POLISHED TIN | 45| 8 +Brand#13 |MEDIUM ANODIZED STEEL | 23| 8 +Brand#13 |MEDIUM ANODIZED TIN | 9| 8 +Brand#13 |MEDIUM ANODIZED TIN | 45| 8 +Brand#13 |MEDIUM BRUSHED BRASS | 14| 8 +Brand#13 |MEDIUM BRUSHED BRASS | 36| 8 +Brand#13 |MEDIUM BRUSHED BRASS | 49| 8 +Brand#13 |MEDIUM BRUSHED COPPER | 23| 8 +Brand#13 |MEDIUM BRUSHED COPPER | 49| 8 +Brand#13 |MEDIUM BRUSHED NICKEL | 19| 8 +Brand#13 |MEDIUM BRUSHED STEEL | 14| 8 +Brand#13 |MEDIUM BRUSHED TIN | 9| 8 +Brand#13 |MEDIUM BURNISHED BRASS | 19| 8 +Brand#13 |MEDIUM BURNISHED COPPER | 3| 8 +Brand#13 |MEDIUM BURNISHED COPPER | 19| 8 +Brand#13 |MEDIUM BURNISHED COPPER | 23| 8 +Brand#13 |MEDIUM BURNISHED NICKEL | 9| 8 +Brand#13 |MEDIUM BURNISHED NICKEL | 23| 8 +Brand#13 |MEDIUM BURNISHED STEEL | 14| 8 +Brand#13 |MEDIUM BURNISHED STEEL | 19| 8 +Brand#13 |MEDIUM BURNISHED STEEL | 45| 8 +Brand#13 |MEDIUM BURNISHED STEEL | 49| 8 +Brand#13 |MEDIUM BURNISHED TIN | 45| 8 +Brand#13 |MEDIUM BURNISHED TIN | 49| 8 +Brand#13 |MEDIUM PLATED BRASS | 19| 8 +Brand#13 |MEDIUM PLATED BRASS | 23| 8 +Brand#13 |MEDIUM PLATED COPPER | 14| 8 +Brand#13 |MEDIUM PLATED COPPER | 19| 8 +Brand#13 |MEDIUM PLATED NICKEL | 3| 8 +Brand#13 |MEDIUM PLATED NICKEL | 36| 8 +Brand#13 |MEDIUM PLATED STEEL | 3| 8 +Brand#13 |MEDIUM PLATED STEEL | 9| 8 +Brand#13 |MEDIUM PLATED STEEL | 19| 8 +Brand#13 |MEDIUM PLATED STEEL | 36| 8 +Brand#13 |MEDIUM PLATED TIN | 36| 8 +Brand#13 |PROMO ANODIZED BRASS | 3| 8 +Brand#13 |PROMO ANODIZED COPPER | 9| 8 +Brand#13 |PROMO ANODIZED COPPER | 14| 8 +Brand#13 |PROMO ANODIZED COPPER | 23| 8 +Brand#13 |PROMO ANODIZED NICKEL | 3| 8 +Brand#13 |PROMO ANODIZED NICKEL | 9| 8 +Brand#13 |PROMO ANODIZED NICKEL | 45| 8 +Brand#13 |PROMO ANODIZED STEEL | 19| 8 +Brand#13 |PROMO ANODIZED TIN | 36| 8 +Brand#13 |PROMO ANODIZED TIN | 49| 8 +Brand#13 |PROMO BRUSHED BRASS | 3| 8 +Brand#13 |PROMO BRUSHED BRASS | 23| 8 +Brand#13 |PROMO BRUSHED BRASS | 49| 8 +Brand#13 |PROMO BRUSHED COPPER | 14| 8 +Brand#13 |PROMO BRUSHED COPPER | 19| 8 +Brand#13 |PROMO BRUSHED COPPER | 49| 8 +Brand#13 |PROMO BRUSHED NICKEL | 14| 8 +Brand#13 |PROMO BRUSHED TIN | 45| 8 +Brand#13 |PROMO BURNISHED BRASS | 9| 8 +Brand#13 |PROMO BURNISHED BRASS | 23| 8 +Brand#13 |PROMO BURNISHED BRASS | 36| 8 +Brand#13 |PROMO BURNISHED COPPER | 9| 8 +Brand#13 |PROMO BURNISHED COPPER | 23| 8 +Brand#13 |PROMO BURNISHED COPPER | 45| 8 +Brand#13 |PROMO BURNISHED NICKEL | 9| 8 +Brand#13 |PROMO BURNISHED STEEL | 9| 8 +Brand#13 |PROMO BURNISHED STEEL | 14| 8 +Brand#13 |PROMO BURNISHED STEEL | 23| 8 +Brand#13 |PROMO BURNISHED STEEL | 45| 8 +Brand#13 |PROMO BURNISHED TIN | 9| 8 +Brand#13 |PROMO BURNISHED TIN | 14| 8 +Brand#13 |PROMO BURNISHED TIN | 19| 8 +Brand#13 |PROMO PLATED BRASS | 14| 8 +Brand#13 |PROMO PLATED BRASS | 49| 8 +Brand#13 |PROMO PLATED NICKEL | 14| 8 +Brand#13 |PROMO PLATED NICKEL | 36| 8 +Brand#13 |PROMO PLATED STEEL | 9| 8 +Brand#13 |PROMO PLATED TIN | 14| 8 +Brand#13 |PROMO PLATED TIN | 23| 8 +Brand#13 |PROMO POLISHED BRASS | 3| 8 +Brand#13 |PROMO POLISHED BRASS | 19| 8 +Brand#13 |PROMO POLISHED BRASS | 45| 8 +Brand#13 |PROMO POLISHED BRASS | 49| 8 +Brand#13 |PROMO POLISHED NICKEL | 23| 8 +Brand#13 |PROMO POLISHED STEEL | 36| 8 +Brand#13 |PROMO POLISHED STEEL | 45| 8 +Brand#13 |PROMO POLISHED TIN | 19| 8 +Brand#13 |PROMO POLISHED TIN | 36| 8 +Brand#13 |SMALL ANODIZED BRASS | 14| 8 +Brand#13 |SMALL ANODIZED COPPER | 9| 8 +Brand#13 |SMALL ANODIZED COPPER | 23| 8 +Brand#13 |SMALL ANODIZED NICKEL | 14| 8 +Brand#13 |SMALL ANODIZED NICKEL | 45| 8 +Brand#13 |SMALL ANODIZED STEEL | 14| 8 +Brand#13 |SMALL ANODIZED STEEL | 23| 8 +Brand#13 |SMALL ANODIZED TIN | 45| 8 +Brand#13 |SMALL BRUSHED BRASS | 9| 8 +Brand#13 |SMALL BRUSHED BRASS | 14| 8 +Brand#13 |SMALL BRUSHED BRASS | 36| 8 +Brand#13 |SMALL BRUSHED BRASS | 49| 8 +Brand#13 |SMALL BRUSHED COPPER | 23| 8 +Brand#13 |SMALL BRUSHED COPPER | 36| 8 +Brand#13 |SMALL BRUSHED NICKEL | 9| 8 +Brand#13 |SMALL BRUSHED NICKEL | 19| 8 +Brand#13 |SMALL BRUSHED STEEL | 23| 8 +Brand#13 |SMALL BRUSHED STEEL | 49| 8 +Brand#13 |SMALL BRUSHED TIN | 9| 8 +Brand#13 |SMALL BRUSHED TIN | 49| 8 +Brand#13 |SMALL BURNISHED BRASS | 19| 8 +Brand#13 |SMALL BURNISHED BRASS | 45| 8 +Brand#13 |SMALL BURNISHED COPPER | 9| 8 +Brand#13 |SMALL BURNISHED NICKEL | 19| 8 +Brand#13 |SMALL BURNISHED NICKEL | 45| 8 +Brand#13 |SMALL BURNISHED STEEL | 23| 8 +Brand#13 |SMALL BURNISHED TIN | 9| 8 +Brand#13 |SMALL BURNISHED TIN | 14| 8 +Brand#13 |SMALL BURNISHED TIN | 36| 8 +Brand#13 |SMALL PLATED BRASS | 9| 8 +Brand#13 |SMALL PLATED BRASS | 49| 8 +Brand#13 |SMALL PLATED COPPER | 3| 8 +Brand#13 |SMALL PLATED COPPER | 23| 8 +Brand#13 |SMALL PLATED COPPER | 36| 8 +Brand#13 |SMALL PLATED NICKEL | 14| 8 +Brand#13 |SMALL PLATED STEEL | 19| 8 +Brand#13 |SMALL PLATED TIN | 19| 8 +Brand#13 |SMALL POLISHED BRASS | 45| 8 +Brand#13 |SMALL POLISHED COPPER | 3| 8 +Brand#13 |SMALL POLISHED COPPER | 49| 8 +Brand#13 |SMALL POLISHED NICKEL | 3| 8 +Brand#13 |SMALL POLISHED STEEL | 36| 8 +Brand#13 |SMALL POLISHED STEEL | 45| 8 +Brand#13 |SMALL POLISHED STEEL | 49| 8 +Brand#13 |STANDARD ANODIZED BRASS | 49| 8 +Brand#13 |STANDARD ANODIZED COPPER | 14| 8 +Brand#13 |STANDARD ANODIZED COPPER | 36| 8 +Brand#13 |STANDARD ANODIZED NICKEL | 19| 8 +Brand#13 |STANDARD ANODIZED STEEL | 14| 8 +Brand#13 |STANDARD ANODIZED TIN | 9| 8 +Brand#13 |STANDARD ANODIZED TIN | 36| 8 +Brand#13 |STANDARD BRUSHED BRASS | 36| 8 +Brand#13 |STANDARD BRUSHED COPPER | 3| 8 +Brand#13 |STANDARD BRUSHED NICKEL | 14| 8 +Brand#13 |STANDARD BRUSHED NICKEL | 49| 8 +Brand#13 |STANDARD BRUSHED STEEL | 9| 8 +Brand#13 |STANDARD BRUSHED STEEL | 49| 8 +Brand#13 |STANDARD BRUSHED TIN | 9| 8 +Brand#13 |STANDARD BURNISHED BRASS | 23| 8 +Brand#13 |STANDARD BURNISHED BRASS | 36| 8 +Brand#13 |STANDARD BURNISHED COPPER| 49| 8 +Brand#13 |STANDARD BURNISHED NICKEL| 3| 8 +Brand#13 |STANDARD BURNISHED NICKEL| 14| 8 +Brand#13 |STANDARD PLATED BRASS | 9| 8 +Brand#13 |STANDARD PLATED BRASS | 23| 8 +Brand#13 |STANDARD PLATED BRASS | 49| 8 +Brand#13 |STANDARD PLATED COPPER | 36| 8 +Brand#13 |STANDARD PLATED NICKEL | 3| 8 +Brand#13 |STANDARD PLATED STEEL | 14| 8 +Brand#13 |STANDARD PLATED STEEL | 49| 8 +Brand#13 |STANDARD PLATED TIN | 14| 8 +Brand#13 |STANDARD PLATED TIN | 36| 8 +Brand#13 |STANDARD POLISHED COPPER | 14| 8 +Brand#13 |STANDARD POLISHED NICKEL | 3| 8 +Brand#13 |STANDARD POLISHED NICKEL | 36| 8 +Brand#13 |STANDARD POLISHED STEEL | 14| 8 +Brand#13 |STANDARD POLISHED STEEL | 23| 8 +Brand#13 |STANDARD POLISHED STEEL | 36| 8 +Brand#13 |STANDARD POLISHED TIN | 23| 8 +Brand#14 |ECONOMY ANODIZED BRASS | 36| 8 +Brand#14 |ECONOMY ANODIZED COPPER | 36| 8 +Brand#14 |ECONOMY ANODIZED COPPER | 45| 8 +Brand#14 |ECONOMY ANODIZED NICKEL | 23| 8 +Brand#14 |ECONOMY ANODIZED NICKEL | 45| 8 +Brand#14 |ECONOMY ANODIZED STEEL | 3| 8 +Brand#14 |ECONOMY ANODIZED STEEL | 9| 8 +Brand#14 |ECONOMY ANODIZED STEEL | 19| 8 +Brand#14 |ECONOMY ANODIZED TIN | 19| 8 +Brand#14 |ECONOMY BRUSHED BRASS | 3| 8 +Brand#14 |ECONOMY BRUSHED BRASS | 14| 8 +Brand#14 |ECONOMY BRUSHED BRASS | 49| 8 +Brand#14 |ECONOMY BRUSHED NICKEL | 14| 8 +Brand#14 |ECONOMY BRUSHED STEEL | 49| 8 +Brand#14 |ECONOMY BRUSHED TIN | 3| 8 +Brand#14 |ECONOMY BRUSHED TIN | 49| 8 +Brand#14 |ECONOMY BURNISHED BRASS | 14| 8 +Brand#14 |ECONOMY BURNISHED COPPER | 36| 8 +Brand#14 |ECONOMY BURNISHED STEEL | 23| 8 +Brand#14 |ECONOMY BURNISHED STEEL | 36| 8 +Brand#14 |ECONOMY BURNISHED TIN | 19| 8 +Brand#14 |ECONOMY BURNISHED TIN | 23| 8 +Brand#14 |ECONOMY BURNISHED TIN | 36| 8 +Brand#14 |ECONOMY PLATED BRASS | 36| 8 +Brand#14 |ECONOMY PLATED COPPER | 3| 8 +Brand#14 |ECONOMY PLATED COPPER | 9| 8 +Brand#14 |ECONOMY PLATED NICKEL | 3| 8 +Brand#14 |ECONOMY PLATED STEEL | 36| 8 +Brand#14 |ECONOMY PLATED TIN | 9| 8 +Brand#14 |ECONOMY POLISHED BRASS | 3| 8 +Brand#14 |ECONOMY POLISHED BRASS | 23| 8 +Brand#14 |ECONOMY POLISHED BRASS | 36| 8 +Brand#14 |ECONOMY POLISHED COPPER | 14| 8 +Brand#14 |ECONOMY POLISHED STEEL | 3| 8 +Brand#14 |ECONOMY POLISHED TIN | 19| 8 +Brand#14 |LARGE ANODIZED BRASS | 19| 8 +Brand#14 |LARGE ANODIZED COPPER | 23| 8 +Brand#14 |LARGE ANODIZED NICKEL | 9| 8 +Brand#14 |LARGE ANODIZED NICKEL | 49| 8 +Brand#14 |LARGE ANODIZED STEEL | 3| 8 +Brand#14 |LARGE ANODIZED STEEL | 45| 8 +Brand#14 |LARGE ANODIZED TIN | 9| 8 +Brand#14 |LARGE ANODIZED TIN | 19| 8 +Brand#14 |LARGE ANODIZED TIN | 23| 8 +Brand#14 |LARGE BRUSHED BRASS | 23| 8 +Brand#14 |LARGE BRUSHED BRASS | 45| 8 +Brand#14 |LARGE BRUSHED COPPER | 49| 8 +Brand#14 |LARGE BRUSHED NICKEL | 23| 8 +Brand#14 |LARGE BRUSHED NICKEL | 45| 8 +Brand#14 |LARGE BRUSHED TIN | 9| 8 +Brand#14 |LARGE BURNISHED BRASS | 14| 8 +Brand#14 |LARGE BURNISHED COPPER | 19| 8 +Brand#14 |LARGE BURNISHED NICKEL | 3| 8 +Brand#14 |LARGE BURNISHED NICKEL | 49| 8 +Brand#14 |LARGE BURNISHED STEEL | 3| 8 +Brand#14 |LARGE BURNISHED STEEL | 9| 8 +Brand#14 |LARGE BURNISHED STEEL | 14| 8 +Brand#14 |LARGE BURNISHED STEEL | 19| 8 +Brand#14 |LARGE BURNISHED STEEL | 45| 8 +Brand#14 |LARGE BURNISHED TIN | 19| 8 +Brand#14 |LARGE BURNISHED TIN | 23| 8 +Brand#14 |LARGE BURNISHED TIN | 45| 8 +Brand#14 |LARGE PLATED BRASS | 23| 8 +Brand#14 |LARGE PLATED COPPER | 36| 8 +Brand#14 |LARGE PLATED NICKEL | 23| 8 +Brand#14 |LARGE PLATED NICKEL | 49| 8 +Brand#14 |LARGE PLATED STEEL | 49| 8 +Brand#14 |LARGE POLISHED BRASS | 3| 8 +Brand#14 |LARGE POLISHED BRASS | 9| 8 +Brand#14 |LARGE POLISHED BRASS | 14| 8 +Brand#14 |LARGE POLISHED BRASS | 19| 8 +Brand#14 |LARGE POLISHED BRASS | 36| 8 +Brand#14 |LARGE POLISHED COPPER | 9| 8 +Brand#14 |LARGE POLISHED COPPER | 23| 8 +Brand#14 |LARGE POLISHED NICKEL | 14| 8 +Brand#14 |LARGE POLISHED NICKEL | 36| 8 +Brand#14 |LARGE POLISHED STEEL | 23| 8 +Brand#14 |LARGE POLISHED TIN | 36| 8 +Brand#14 |LARGE POLISHED TIN | 45| 8 +Brand#14 |LARGE POLISHED TIN | 49| 8 +Brand#14 |MEDIUM ANODIZED BRASS | 14| 8 +Brand#14 |MEDIUM ANODIZED COPPER | 9| 8 +Brand#14 |MEDIUM ANODIZED COPPER | 19| 8 +Brand#14 |MEDIUM ANODIZED COPPER | 36| 8 +Brand#14 |MEDIUM ANODIZED COPPER | 49| 8 +Brand#14 |MEDIUM ANODIZED NICKEL | 9| 8 +Brand#14 |MEDIUM ANODIZED NICKEL | 36| 8 +Brand#14 |MEDIUM BRUSHED COPPER | 9| 8 +Brand#14 |MEDIUM BRUSHED COPPER | 23| 8 +Brand#14 |MEDIUM BRUSHED STEEL | 49| 8 +Brand#14 |MEDIUM BRUSHED TIN | 3| 8 +Brand#14 |MEDIUM BRUSHED TIN | 9| 8 +Brand#14 |MEDIUM BURNISHED BRASS | 19| 8 +Brand#14 |MEDIUM BURNISHED BRASS | 23| 8 +Brand#14 |MEDIUM BURNISHED NICKEL | 9| 8 +Brand#14 |MEDIUM BURNISHED NICKEL | 19| 8 +Brand#14 |MEDIUM BURNISHED NICKEL | 23| 8 +Brand#14 |MEDIUM BURNISHED NICKEL | 49| 8 +Brand#14 |MEDIUM BURNISHED STEEL | 36| 8 +Brand#14 |MEDIUM BURNISHED STEEL | 49| 8 +Brand#14 |MEDIUM BURNISHED TIN | 49| 8 +Brand#14 |MEDIUM PLATED BRASS | 9| 8 +Brand#14 |MEDIUM PLATED BRASS | 23| 8 +Brand#14 |MEDIUM PLATED BRASS | 36| 8 +Brand#14 |MEDIUM PLATED BRASS | 45| 8 +Brand#14 |MEDIUM PLATED BRASS | 49| 8 +Brand#14 |MEDIUM PLATED NICKEL | 23| 8 +Brand#14 |MEDIUM PLATED STEEL | 36| 8 +Brand#14 |MEDIUM PLATED STEEL | 49| 8 +Brand#14 |MEDIUM PLATED TIN | 3| 8 +Brand#14 |MEDIUM PLATED TIN | 14| 8 +Brand#14 |MEDIUM PLATED TIN | 45| 8 +Brand#14 |PROMO ANODIZED BRASS | 23| 8 +Brand#14 |PROMO ANODIZED BRASS | 36| 8 +Brand#14 |PROMO ANODIZED COPPER | 19| 8 +Brand#14 |PROMO ANODIZED COPPER | 36| 8 +Brand#14 |PROMO ANODIZED COPPER | 45| 8 +Brand#14 |PROMO ANODIZED STEEL | 45| 8 +Brand#14 |PROMO ANODIZED TIN | 14| 8 +Brand#14 |PROMO ANODIZED TIN | 19| 8 +Brand#14 |PROMO BRUSHED BRASS | 14| 8 +Brand#14 |PROMO BRUSHED BRASS | 19| 8 +Brand#14 |PROMO BRUSHED BRASS | 36| 8 +Brand#14 |PROMO BRUSHED BRASS | 45| 8 +Brand#14 |PROMO BRUSHED COPPER | 23| 8 +Brand#14 |PROMO BRUSHED COPPER | 49| 8 +Brand#14 |PROMO BRUSHED NICKEL | 19| 8 +Brand#14 |PROMO BRUSHED NICKEL | 36| 8 +Brand#14 |PROMO BRUSHED STEEL | 9| 8 +Brand#14 |PROMO BRUSHED STEEL | 36| 8 +Brand#14 |PROMO BRUSHED STEEL | 49| 8 +Brand#14 |PROMO BURNISHED BRASS | 9| 8 +Brand#14 |PROMO BURNISHED BRASS | 23| 8 +Brand#14 |PROMO BURNISHED BRASS | 36| 8 +Brand#14 |PROMO BURNISHED BRASS | 45| 8 +Brand#14 |PROMO BURNISHED NICKEL | 9| 8 +Brand#14 |PROMO BURNISHED STEEL | 36| 8 +Brand#14 |PROMO BURNISHED TIN | 49| 8 +Brand#14 |PROMO PLATED BRASS | 14| 8 +Brand#14 |PROMO PLATED BRASS | 45| 8 +Brand#14 |PROMO PLATED COPPER | 23| 8 +Brand#14 |PROMO PLATED NICKEL | 9| 8 +Brand#14 |PROMO PLATED STEEL | 3| 8 +Brand#14 |PROMO PLATED STEEL | 14| 8 +Brand#14 |PROMO PLATED STEEL | 19| 8 +Brand#14 |PROMO PLATED STEEL | 49| 8 +Brand#14 |PROMO PLATED TIN | 3| 8 +Brand#14 |PROMO PLATED TIN | 9| 8 +Brand#14 |PROMO POLISHED BRASS | 36| 8 +Brand#14 |PROMO POLISHED COPPER | 3| 8 +Brand#14 |PROMO POLISHED NICKEL | 3| 8 +Brand#14 |PROMO POLISHED NICKEL | 45| 8 +Brand#14 |PROMO POLISHED TIN | 9| 8 +Brand#14 |PROMO POLISHED TIN | 49| 8 +Brand#14 |SMALL ANODIZED BRASS | 9| 8 +Brand#14 |SMALL ANODIZED BRASS | 14| 8 +Brand#14 |SMALL ANODIZED COPPER | 14| 8 +Brand#14 |SMALL ANODIZED NICKEL | 36| 8 +Brand#14 |SMALL ANODIZED STEEL | 23| 8 +Brand#14 |SMALL ANODIZED TIN | 19| 8 +Brand#14 |SMALL BRUSHED BRASS | 19| 8 +Brand#14 |SMALL BRUSHED BRASS | 45| 8 +Brand#14 |SMALL BRUSHED COPPER | 36| 8 +Brand#14 |SMALL BRUSHED COPPER | 49| 8 +Brand#14 |SMALL BRUSHED TIN | 9| 8 +Brand#14 |SMALL BRUSHED TIN | 14| 8 +Brand#14 |SMALL BRUSHED TIN | 36| 8 +Brand#14 |SMALL BURNISHED BRASS | 19| 8 +Brand#14 |SMALL BURNISHED BRASS | 45| 8 +Brand#14 |SMALL BURNISHED COPPER | 14| 8 +Brand#14 |SMALL BURNISHED COPPER | 36| 8 +Brand#14 |SMALL BURNISHED NICKEL | 36| 8 +Brand#14 |SMALL BURNISHED NICKEL | 45| 8 +Brand#14 |SMALL BURNISHED STEEL | 14| 8 +Brand#14 |SMALL BURNISHED STEEL | 45| 8 +Brand#14 |SMALL BURNISHED TIN | 19| 8 +Brand#14 |SMALL BURNISHED TIN | 23| 8 +Brand#14 |SMALL PLATED BRASS | 14| 8 +Brand#14 |SMALL PLATED COPPER | 23| 8 +Brand#14 |SMALL PLATED NICKEL | 19| 8 +Brand#14 |SMALL PLATED STEEL | 14| 8 +Brand#14 |SMALL PLATED STEEL | 36| 8 +Brand#14 |SMALL PLATED TIN | 9| 8 +Brand#14 |SMALL PLATED TIN | 49| 8 +Brand#14 |SMALL POLISHED BRASS | 19| 8 +Brand#14 |SMALL POLISHED BRASS | 36| 8 +Brand#14 |SMALL POLISHED BRASS | 45| 8 +Brand#14 |SMALL POLISHED COPPER | 3| 8 +Brand#14 |SMALL POLISHED NICKEL | 9| 8 +Brand#14 |SMALL POLISHED NICKEL | 19| 8 +Brand#14 |SMALL POLISHED STEEL | 49| 8 +Brand#14 |SMALL POLISHED TIN | 3| 8 +Brand#14 |SMALL POLISHED TIN | 36| 8 +Brand#14 |STANDARD ANODIZED BRASS | 3| 8 +Brand#14 |STANDARD ANODIZED COPPER | 3| 8 +Brand#14 |STANDARD ANODIZED COPPER | 23| 8 +Brand#14 |STANDARD ANODIZED STEEL | 9| 8 +Brand#14 |STANDARD BRUSHED BRASS | 19| 8 +Brand#14 |STANDARD BRUSHED COPPER | 3| 8 +Brand#14 |STANDARD BRUSHED NICKEL | 3| 8 +Brand#14 |STANDARD BRUSHED STEEL | 23| 8 +Brand#14 |STANDARD BRUSHED TIN | 9| 8 +Brand#14 |STANDARD BRUSHED TIN | 45| 8 +Brand#14 |STANDARD BRUSHED TIN | 49| 8 +Brand#14 |STANDARD BURNISHED BRASS | 9| 8 +Brand#14 |STANDARD BURNISHED BRASS | 49| 8 +Brand#14 |STANDARD BURNISHED COPPER| 14| 8 +Brand#14 |STANDARD BURNISHED NICKEL| 3| 8 +Brand#14 |STANDARD BURNISHED NICKEL| 19| 8 +Brand#14 |STANDARD BURNISHED NICKEL| 23| 8 +Brand#14 |STANDARD BURNISHED STEEL | 14| 8 +Brand#14 |STANDARD BURNISHED STEEL | 19| 8 +Brand#14 |STANDARD BURNISHED STEEL | 23| 8 +Brand#14 |STANDARD BURNISHED TIN | 3| 8 +Brand#14 |STANDARD BURNISHED TIN | 9| 8 +Brand#14 |STANDARD PLATED BRASS | 9| 8 +Brand#14 |STANDARD PLATED BRASS | 45| 8 +Brand#14 |STANDARD PLATED COPPER | 14| 8 +Brand#14 |STANDARD PLATED NICKEL | 14| 8 +Brand#14 |STANDARD PLATED STEEL | 23| 8 +Brand#14 |STANDARD PLATED TIN | 3| 8 +Brand#14 |STANDARD POLISHED BRASS | 19| 8 +Brand#14 |STANDARD POLISHED COPPER | 3| 8 +Brand#14 |STANDARD POLISHED COPPER | 49| 8 +Brand#14 |STANDARD POLISHED NICKEL | 3| 8 +Brand#14 |STANDARD POLISHED NICKEL | 9| 8 +Brand#14 |STANDARD POLISHED NICKEL | 19| 8 +Brand#15 |ECONOMY ANODIZED BRASS | 3| 8 +Brand#15 |ECONOMY ANODIZED BRASS | 9| 8 +Brand#15 |ECONOMY ANODIZED STEEL | 3| 8 +Brand#15 |ECONOMY ANODIZED STEEL | 14| 8 +Brand#15 |ECONOMY ANODIZED STEEL | 36| 8 +Brand#15 |ECONOMY ANODIZED TIN | 36| 8 +Brand#15 |ECONOMY BRUSHED BRASS | 19| 8 +Brand#15 |ECONOMY BRUSHED NICKEL | 3| 8 +Brand#15 |ECONOMY BRUSHED NICKEL | 36| 8 +Brand#15 |ECONOMY BRUSHED NICKEL | 45| 8 +Brand#15 |ECONOMY BRUSHED STEEL | 23| 8 +Brand#15 |ECONOMY BRUSHED STEEL | 45| 8 +Brand#15 |ECONOMY BRUSHED TIN | 36| 8 +Brand#15 |ECONOMY BRUSHED TIN | 49| 8 +Brand#15 |ECONOMY BURNISHED BRASS | 9| 8 +Brand#15 |ECONOMY BURNISHED BRASS | 14| 8 +Brand#15 |ECONOMY BURNISHED COPPER | 23| 8 +Brand#15 |ECONOMY BURNISHED COPPER | 45| 8 +Brand#15 |ECONOMY BURNISHED NICKEL | 49| 8 +Brand#15 |ECONOMY PLATED BRASS | 14| 8 +Brand#15 |ECONOMY PLATED COPPER | 36| 8 +Brand#15 |ECONOMY PLATED COPPER | 45| 8 +Brand#15 |ECONOMY POLISHED COPPER | 49| 8 +Brand#15 |ECONOMY POLISHED NICKEL | 9| 8 +Brand#15 |ECONOMY POLISHED NICKEL | 14| 8 +Brand#15 |ECONOMY POLISHED STEEL | 49| 8 +Brand#15 |LARGE ANODIZED BRASS | 9| 8 +Brand#15 |LARGE ANODIZED BRASS | 36| 8 +Brand#15 |LARGE ANODIZED COPPER | 23| 8 +Brand#15 |LARGE ANODIZED COPPER | 36| 8 +Brand#15 |LARGE ANODIZED COPPER | 45| 8 +Brand#15 |LARGE ANODIZED NICKEL | 23| 8 +Brand#15 |LARGE ANODIZED NICKEL | 49| 8 +Brand#15 |LARGE ANODIZED TIN | 14| 8 +Brand#15 |LARGE BRUSHED BRASS | 9| 8 +Brand#15 |LARGE BRUSHED COPPER | 3| 8 +Brand#15 |LARGE BRUSHED COPPER | 14| 8 +Brand#15 |LARGE BRUSHED STEEL | 19| 8 +Brand#15 |LARGE BRUSHED STEEL | 23| 8 +Brand#15 |LARGE BRUSHED TIN | 3| 8 +Brand#15 |LARGE BRUSHED TIN | 9| 8 +Brand#15 |LARGE BRUSHED TIN | 19| 8 +Brand#15 |LARGE BRUSHED TIN | 49| 8 +Brand#15 |LARGE BURNISHED BRASS | 9| 8 +Brand#15 |LARGE BURNISHED BRASS | 14| 8 +Brand#15 |LARGE BURNISHED BRASS | 19| 8 +Brand#15 |LARGE BURNISHED COPPER | 23| 8 +Brand#15 |LARGE BURNISHED COPPER | 45| 8 +Brand#15 |LARGE BURNISHED NICKEL | 36| 8 +Brand#15 |LARGE BURNISHED STEEL | 36| 8 +Brand#15 |LARGE BURNISHED STEEL | 49| 8 +Brand#15 |LARGE BURNISHED TIN | 49| 8 +Brand#15 |LARGE PLATED COPPER | 19| 8 +Brand#15 |LARGE PLATED COPPER | 45| 8 +Brand#15 |LARGE PLATED NICKEL | 14| 8 +Brand#15 |LARGE PLATED STEEL | 9| 8 +Brand#15 |LARGE PLATED TIN | 49| 8 +Brand#15 |LARGE POLISHED BRASS | 23| 8 +Brand#15 |LARGE POLISHED STEEL | 36| 8 +Brand#15 |LARGE POLISHED STEEL | 49| 8 +Brand#15 |LARGE POLISHED TIN | 19| 8 +Brand#15 |MEDIUM ANODIZED BRASS | 3| 8 +Brand#15 |MEDIUM ANODIZED BRASS | 9| 8 +Brand#15 |MEDIUM ANODIZED BRASS | 19| 8 +Brand#15 |MEDIUM ANODIZED BRASS | 23| 8 +Brand#15 |MEDIUM ANODIZED COPPER | 36| 8 +Brand#15 |MEDIUM ANODIZED NICKEL | 45| 8 +Brand#15 |MEDIUM ANODIZED STEEL | 23| 8 +Brand#15 |MEDIUM ANODIZED TIN | 14| 8 +Brand#15 |MEDIUM ANODIZED TIN | 19| 8 +Brand#15 |MEDIUM ANODIZED TIN | 23| 8 +Brand#15 |MEDIUM BRUSHED BRASS | 3| 8 +Brand#15 |MEDIUM BRUSHED BRASS | 23| 8 +Brand#15 |MEDIUM BRUSHED COPPER | 49| 8 +Brand#15 |MEDIUM BRUSHED NICKEL | 9| 8 +Brand#15 |MEDIUM BRUSHED TIN | 9| 8 +Brand#15 |MEDIUM BRUSHED TIN | 23| 8 +Brand#15 |MEDIUM BURNISHED BRASS | 45| 8 +Brand#15 |MEDIUM BURNISHED COPPER | 3| 8 +Brand#15 |MEDIUM BURNISHED COPPER | 49| 8 +Brand#15 |MEDIUM BURNISHED NICKEL | 19| 8 +Brand#15 |MEDIUM BURNISHED NICKEL | 36| 8 +Brand#15 |MEDIUM BURNISHED NICKEL | 49| 8 +Brand#15 |MEDIUM BURNISHED STEEL | 23| 8 +Brand#15 |MEDIUM BURNISHED STEEL | 49| 8 +Brand#15 |MEDIUM BURNISHED TIN | 45| 8 +Brand#15 |MEDIUM PLATED BRASS | 36| 8 +Brand#15 |MEDIUM PLATED NICKEL | 23| 8 +Brand#15 |MEDIUM PLATED NICKEL | 49| 8 +Brand#15 |MEDIUM PLATED STEEL | 9| 8 +Brand#15 |MEDIUM PLATED STEEL | 19| 8 +Brand#15 |MEDIUM PLATED STEEL | 49| 8 +Brand#15 |MEDIUM PLATED TIN | 19| 8 +Brand#15 |MEDIUM PLATED TIN | 49| 8 +Brand#15 |PROMO ANODIZED BRASS | 14| 8 +Brand#15 |PROMO ANODIZED BRASS | 36| 8 +Brand#15 |PROMO ANODIZED COPPER | 45| 8 +Brand#15 |PROMO ANODIZED NICKEL | 36| 8 +Brand#15 |PROMO ANODIZED NICKEL | 49| 8 +Brand#15 |PROMO ANODIZED STEEL | 14| 8 +Brand#15 |PROMO BRUSHED BRASS | 14| 8 +Brand#15 |PROMO BRUSHED COPPER | 9| 8 +Brand#15 |PROMO BRUSHED COPPER | 19| 8 +Brand#15 |PROMO BRUSHED NICKEL | 9| 8 +Brand#15 |PROMO BRUSHED NICKEL | 19| 8 +Brand#15 |PROMO BRUSHED NICKEL | 23| 8 +Brand#15 |PROMO BRUSHED STEEL | 14| 8 +Brand#15 |PROMO BRUSHED STEEL | 23| 8 +Brand#15 |PROMO BRUSHED STEEL | 49| 8 +Brand#15 |PROMO BRUSHED TIN | 3| 8 +Brand#15 |PROMO BRUSHED TIN | 23| 8 +Brand#15 |PROMO BRUSHED TIN | 36| 8 +Brand#15 |PROMO BURNISHED BRASS | 23| 8 +Brand#15 |PROMO BURNISHED BRASS | 36| 8 +Brand#15 |PROMO BURNISHED COPPER | 3| 8 +Brand#15 |PROMO BURNISHED COPPER | 9| 8 +Brand#15 |PROMO BURNISHED COPPER | 19| 8 +Brand#15 |PROMO BURNISHED NICKEL | 23| 8 +Brand#15 |PROMO BURNISHED NICKEL | 36| 8 +Brand#15 |PROMO BURNISHED NICKEL | 49| 8 +Brand#15 |PROMO BURNISHED STEEL | 9| 8 +Brand#15 |PROMO BURNISHED TIN | 14| 8 +Brand#15 |PROMO BURNISHED TIN | 45| 8 +Brand#15 |PROMO PLATED BRASS | 36| 8 +Brand#15 |PROMO PLATED BRASS | 49| 8 +Brand#15 |PROMO PLATED COPPER | 3| 8 +Brand#15 |PROMO PLATED COPPER | 9| 8 +Brand#15 |PROMO PLATED COPPER | 14| 8 +Brand#15 |PROMO PLATED NICKEL | 36| 8 +Brand#15 |PROMO PLATED NICKEL | 45| 8 +Brand#15 |PROMO PLATED STEEL | 14| 8 +Brand#15 |PROMO PLATED TIN | 3| 8 +Brand#15 |PROMO PLATED TIN | 9| 8 +Brand#15 |PROMO PLATED TIN | 19| 8 +Brand#15 |PROMO POLISHED COPPER | 3| 8 +Brand#15 |PROMO POLISHED COPPER | 14| 8 +Brand#15 |PROMO POLISHED COPPER | 19| 8 +Brand#15 |PROMO POLISHED COPPER | 49| 8 +Brand#15 |PROMO POLISHED NICKEL | 19| 8 +Brand#15 |PROMO POLISHED STEEL | 3| 8 +Brand#15 |PROMO POLISHED STEEL | 14| 8 +Brand#15 |PROMO POLISHED STEEL | 19| 8 +Brand#15 |PROMO POLISHED TIN | 23| 8 +Brand#15 |SMALL ANODIZED BRASS | 14| 8 +Brand#15 |SMALL ANODIZED BRASS | 19| 8 +Brand#15 |SMALL ANODIZED NICKEL | 3| 8 +Brand#15 |SMALL ANODIZED NICKEL | 14| 8 +Brand#15 |SMALL ANODIZED NICKEL | 36| 8 +Brand#15 |SMALL ANODIZED STEEL | 3| 8 +Brand#15 |SMALL ANODIZED TIN | 45| 8 +Brand#15 |SMALL BRUSHED BRASS | 3| 8 +Brand#15 |SMALL BRUSHED BRASS | 9| 8 +Brand#15 |SMALL BRUSHED BRASS | 19| 8 +Brand#15 |SMALL BRUSHED NICKEL | 9| 8 +Brand#15 |SMALL BRUSHED NICKEL | 49| 8 +Brand#15 |SMALL BRUSHED STEEL | 14| 8 +Brand#15 |SMALL BRUSHED STEEL | 23| 8 +Brand#15 |SMALL BRUSHED TIN | 9| 8 +Brand#15 |SMALL BRUSHED TIN | 23| 8 +Brand#15 |SMALL BRUSHED TIN | 36| 8 +Brand#15 |SMALL BRUSHED TIN | 45| 8 +Brand#15 |SMALL BURNISHED BRASS | 19| 8 +Brand#15 |SMALL BURNISHED COPPER | 14| 8 +Brand#15 |SMALL BURNISHED COPPER | 49| 8 +Brand#15 |SMALL BURNISHED NICKEL | 3| 8 +Brand#15 |SMALL BURNISHED NICKEL | 9| 8 +Brand#15 |SMALL BURNISHED NICKEL | 36| 8 +Brand#15 |SMALL BURNISHED STEEL | 9| 8 +Brand#15 |SMALL BURNISHED STEEL | 19| 8 +Brand#15 |SMALL BURNISHED TIN | 14| 8 +Brand#15 |SMALL BURNISHED TIN | 19| 8 +Brand#15 |SMALL BURNISHED TIN | 23| 8 +Brand#15 |SMALL PLATED STEEL | 3| 8 +Brand#15 |SMALL PLATED STEEL | 9| 8 +Brand#15 |SMALL PLATED TIN | 9| 8 +Brand#15 |SMALL POLISHED COPPER | 3| 8 +Brand#15 |SMALL POLISHED COPPER | 9| 8 +Brand#15 |SMALL POLISHED NICKEL | 14| 8 +Brand#15 |SMALL POLISHED STEEL | 3| 8 +Brand#15 |SMALL POLISHED STEEL | 9| 8 +Brand#15 |SMALL POLISHED STEEL | 23| 8 +Brand#15 |SMALL POLISHED STEEL | 36| 8 +Brand#15 |SMALL POLISHED TIN | 9| 8 +Brand#15 |SMALL POLISHED TIN | 19| 8 +Brand#15 |SMALL POLISHED TIN | 45| 8 +Brand#15 |STANDARD ANODIZED BRASS | 19| 8 +Brand#15 |STANDARD ANODIZED BRASS | 23| 8 +Brand#15 |STANDARD ANODIZED COPPER | 3| 8 +Brand#15 |STANDARD ANODIZED COPPER | 23| 8 +Brand#15 |STANDARD ANODIZED COPPER | 36| 8 +Brand#15 |STANDARD BRUSHED COPPER | 23| 8 +Brand#15 |STANDARD BRUSHED NICKEL | 9| 8 +Brand#15 |STANDARD BRUSHED NICKEL | 19| 8 +Brand#15 |STANDARD BRUSHED STEEL | 49| 8 +Brand#15 |STANDARD BRUSHED TIN | 45| 8 +Brand#15 |STANDARD BURNISHED BRASS | 23| 8 +Brand#15 |STANDARD BURNISHED NICKEL| 9| 8 +Brand#15 |STANDARD BURNISHED NICKEL| 14| 8 +Brand#15 |STANDARD BURNISHED NICKEL| 49| 8 +Brand#15 |STANDARD BURNISHED STEEL | 45| 8 +Brand#15 |STANDARD PLATED BRASS | 14| 8 +Brand#15 |STANDARD PLATED BRASS | 36| 8 +Brand#15 |STANDARD PLATED COPPER | 9| 8 +Brand#15 |STANDARD PLATED NICKEL | 9| 8 +Brand#15 |STANDARD PLATED STEEL | 23| 8 +Brand#15 |STANDARD POLISHED BRASS | 3| 8 +Brand#15 |STANDARD POLISHED BRASS | 9| 8 +Brand#15 |STANDARD POLISHED BRASS | 14| 8 +Brand#15 |STANDARD POLISHED COPPER | 3| 8 +Brand#15 |STANDARD POLISHED COPPER | 23| 8 +Brand#15 |STANDARD POLISHED NICKEL | 14| 8 +Brand#15 |STANDARD POLISHED NICKEL | 36| 8 +Brand#15 |STANDARD POLISHED NICKEL | 45| 8 +Brand#15 |STANDARD POLISHED TIN | 3| 8 +Brand#15 |STANDARD POLISHED TIN | 36| 8 +Brand#21 |ECONOMY ANODIZED BRASS | 14| 8 +Brand#21 |ECONOMY ANODIZED COPPER | 3| 8 +Brand#21 |ECONOMY ANODIZED COPPER | 14| 8 +Brand#21 |ECONOMY ANODIZED COPPER | 36| 8 +Brand#21 |ECONOMY ANODIZED NICKEL | 14| 8 +Brand#21 |ECONOMY ANODIZED NICKEL | 36| 8 +Brand#21 |ECONOMY ANODIZED NICKEL | 45| 8 +Brand#21 |ECONOMY ANODIZED STEEL | 36| 8 +Brand#21 |ECONOMY ANODIZED STEEL | 49| 8 +Brand#21 |ECONOMY ANODIZED TIN | 9| 8 +Brand#21 |ECONOMY BRUSHED BRASS | 14| 8 +Brand#21 |ECONOMY BRUSHED BRASS | 36| 8 +Brand#21 |ECONOMY BRUSHED COPPER | 45| 8 +Brand#21 |ECONOMY BRUSHED NICKEL | 36| 8 +Brand#21 |ECONOMY BURNISHED BRASS | 3| 8 +Brand#21 |ECONOMY BURNISHED NICKEL | 3| 8 +Brand#21 |ECONOMY BURNISHED NICKEL | 49| 8 +Brand#21 |ECONOMY BURNISHED STEEL | 23| 8 +Brand#21 |ECONOMY BURNISHED STEEL | 36| 8 +Brand#21 |ECONOMY BURNISHED TIN | 14| 8 +Brand#21 |ECONOMY BURNISHED TIN | 19| 8 +Brand#21 |ECONOMY BURNISHED TIN | 45| 8 +Brand#21 |ECONOMY PLATED BRASS | 9| 8 +Brand#21 |ECONOMY PLATED NICKEL | 49| 8 +Brand#21 |ECONOMY PLATED STEEL | 19| 8 +Brand#21 |ECONOMY PLATED STEEL | 23| 8 +Brand#21 |ECONOMY POLISHED BRASS | 23| 8 +Brand#21 |ECONOMY POLISHED COPPER | 3| 8 +Brand#21 |ECONOMY POLISHED NICKEL | 3| 8 +Brand#21 |ECONOMY POLISHED NICKEL | 19| 8 +Brand#21 |ECONOMY POLISHED NICKEL | 36| 8 +Brand#21 |ECONOMY POLISHED STEEL | 36| 8 +Brand#21 |ECONOMY POLISHED STEEL | 49| 8 +Brand#21 |ECONOMY POLISHED TIN | 3| 8 +Brand#21 |ECONOMY POLISHED TIN | 45| 8 +Brand#21 |LARGE ANODIZED BRASS | 45| 8 +Brand#21 |LARGE ANODIZED NICKEL | 9| 8 +Brand#21 |LARGE ANODIZED NICKEL | 19| 8 +Brand#21 |LARGE ANODIZED NICKEL | 49| 8 +Brand#21 |LARGE ANODIZED STEEL | 3| 8 +Brand#21 |LARGE ANODIZED STEEL | 36| 8 +Brand#21 |LARGE BRUSHED BRASS | 19| 8 +Brand#21 |LARGE BRUSHED BRASS | 23| 8 +Brand#21 |LARGE BRUSHED BRASS | 45| 8 +Brand#21 |LARGE BRUSHED COPPER | 19| 8 +Brand#21 |LARGE BRUSHED NICKEL | 14| 8 +Brand#21 |LARGE BRUSHED NICKEL | 45| 8 +Brand#21 |LARGE BRUSHED STEEL | 45| 8 +Brand#21 |LARGE BRUSHED TIN | 9| 8 +Brand#21 |LARGE BRUSHED TIN | 19| 8 +Brand#21 |LARGE BRUSHED TIN | 36| 8 +Brand#21 |LARGE BURNISHED COPPER | 3| 8 +Brand#21 |LARGE BURNISHED COPPER | 9| 8 +Brand#21 |LARGE BURNISHED COPPER | 14| 8 +Brand#21 |LARGE BURNISHED COPPER | 19| 8 +Brand#21 |LARGE BURNISHED COPPER | 23| 8 +Brand#21 |LARGE BURNISHED NICKEL | 9| 8 +Brand#21 |LARGE BURNISHED NICKEL | 36| 8 +Brand#21 |LARGE BURNISHED STEEL | 14| 8 +Brand#21 |LARGE BURNISHED STEEL | 45| 8 +Brand#21 |LARGE BURNISHED STEEL | 49| 8 +Brand#21 |LARGE BURNISHED TIN | 14| 8 +Brand#21 |LARGE BURNISHED TIN | 49| 8 +Brand#21 |LARGE PLATED BRASS | 19| 8 +Brand#21 |LARGE PLATED BRASS | 23| 8 +Brand#21 |LARGE PLATED NICKEL | 23| 8 +Brand#21 |LARGE PLATED STEEL | 3| 8 +Brand#21 |LARGE PLATED STEEL | 19| 8 +Brand#21 |LARGE PLATED STEEL | 45| 8 +Brand#21 |LARGE PLATED TIN | 9| 8 +Brand#21 |LARGE PLATED TIN | 23| 8 +Brand#21 |LARGE POLISHED BRASS | 36| 8 +Brand#21 |LARGE POLISHED BRASS | 49| 8 +Brand#21 |LARGE POLISHED COPPER | 23| 8 +Brand#21 |LARGE POLISHED NICKEL | 3| 8 +Brand#21 |LARGE POLISHED NICKEL | 23| 8 +Brand#21 |LARGE POLISHED NICKEL | 45| 8 +Brand#21 |LARGE POLISHED STEEL | 3| 8 +Brand#21 |LARGE POLISHED STEEL | 9| 8 +Brand#21 |LARGE POLISHED STEEL | 23| 8 +Brand#21 |LARGE POLISHED TIN | 3| 8 +Brand#21 |LARGE POLISHED TIN | 19| 8 +Brand#21 |LARGE POLISHED TIN | 45| 8 +Brand#21 |MEDIUM ANODIZED BRASS | 3| 8 +Brand#21 |MEDIUM ANODIZED BRASS | 14| 8 +Brand#21 |MEDIUM ANODIZED BRASS | 23| 8 +Brand#21 |MEDIUM ANODIZED NICKEL | 36| 8 +Brand#21 |MEDIUM ANODIZED TIN | 9| 8 +Brand#21 |MEDIUM ANODIZED TIN | 14| 8 +Brand#21 |MEDIUM ANODIZED TIN | 23| 8 +Brand#21 |MEDIUM ANODIZED TIN | 45| 8 +Brand#21 |MEDIUM BRUSHED BRASS | 45| 8 +Brand#21 |MEDIUM BRUSHED BRASS | 49| 8 +Brand#21 |MEDIUM BRUSHED COPPER | 3| 8 +Brand#21 |MEDIUM BRUSHED COPPER | 14| 8 +Brand#21 |MEDIUM BRUSHED NICKEL | 14| 8 +Brand#21 |MEDIUM BRUSHED STEEL | 23| 8 +Brand#21 |MEDIUM BRUSHED STEEL | 45| 8 +Brand#21 |MEDIUM BURNISHED BRASS | 36| 8 +Brand#21 |MEDIUM BURNISHED NICKEL | 14| 8 +Brand#21 |MEDIUM BURNISHED STEEL | 23| 8 +Brand#21 |MEDIUM PLATED BRASS | 45| 8 +Brand#21 |MEDIUM PLATED COPPER | 23| 8 +Brand#21 |MEDIUM PLATED COPPER | 49| 8 +Brand#21 |MEDIUM PLATED TIN | 36| 8 +Brand#21 |PROMO ANODIZED BRASS | 14| 8 +Brand#21 |PROMO ANODIZED BRASS | 19| 8 +Brand#21 |PROMO ANODIZED COPPER | 14| 8 +Brand#21 |PROMO ANODIZED COPPER | 23| 8 +Brand#21 |PROMO ANODIZED COPPER | 45| 8 +Brand#21 |PROMO ANODIZED NICKEL | 14| 8 +Brand#21 |PROMO ANODIZED NICKEL | 23| 8 +Brand#21 |PROMO ANODIZED STEEL | 3| 8 +Brand#21 |PROMO ANODIZED STEEL | 9| 8 +Brand#21 |PROMO ANODIZED TIN | 23| 8 +Brand#21 |PROMO BRUSHED BRASS | 23| 8 +Brand#21 |PROMO BRUSHED BRASS | 45| 8 +Brand#21 |PROMO BRUSHED BRASS | 49| 8 +Brand#21 |PROMO BRUSHED NICKEL | 45| 8 +Brand#21 |PROMO BRUSHED STEEL | 23| 8 +Brand#21 |PROMO BURNISHED BRASS | 19| 8 +Brand#21 |PROMO BURNISHED BRASS | 23| 8 +Brand#21 |PROMO BURNISHED COPPER | 9| 8 +Brand#21 |PROMO BURNISHED COPPER | 49| 8 +Brand#21 |PROMO BURNISHED NICKEL | 19| 8 +Brand#21 |PROMO BURNISHED NICKEL | 23| 8 +Brand#21 |PROMO BURNISHED STEEL | 23| 8 +Brand#21 |PROMO PLATED BRASS | 14| 8 +Brand#21 |PROMO PLATED BRASS | 23| 8 +Brand#21 |PROMO PLATED COPPER | 3| 8 +Brand#21 |PROMO PLATED NICKEL | 3| 8 +Brand#21 |PROMO PLATED STEEL | 9| 8 +Brand#21 |PROMO PLATED STEEL | 23| 8 +Brand#21 |PROMO PLATED STEEL | 49| 8 +Brand#21 |PROMO PLATED TIN | 3| 8 +Brand#21 |PROMO POLISHED COPPER | 14| 8 +Brand#21 |PROMO POLISHED STEEL | 19| 8 +Brand#21 |PROMO POLISHED STEEL | 23| 8 +Brand#21 |PROMO POLISHED STEEL | 45| 8 +Brand#21 |SMALL ANODIZED BRASS | 45| 8 +Brand#21 |SMALL ANODIZED COPPER | 49| 8 +Brand#21 |SMALL ANODIZED NICKEL | 9| 8 +Brand#21 |SMALL ANODIZED NICKEL | 14| 8 +Brand#21 |SMALL ANODIZED NICKEL | 19| 8 +Brand#21 |SMALL ANODIZED NICKEL | 23| 8 +Brand#21 |SMALL ANODIZED NICKEL | 45| 8 +Brand#21 |SMALL ANODIZED STEEL | 49| 8 +Brand#21 |SMALL ANODIZED TIN | 9| 8 +Brand#21 |SMALL ANODIZED TIN | 14| 8 +Brand#21 |SMALL ANODIZED TIN | 19| 8 +Brand#21 |SMALL ANODIZED TIN | 36| 8 +Brand#21 |SMALL ANODIZED TIN | 49| 8 +Brand#21 |SMALL BRUSHED BRASS | 36| 8 +Brand#21 |SMALL BRUSHED NICKEL | 36| 8 +Brand#21 |SMALL BRUSHED STEEL | 14| 8 +Brand#21 |SMALL BRUSHED TIN | 45| 8 +Brand#21 |SMALL BURNISHED BRASS | 36| 8 +Brand#21 |SMALL BURNISHED COPPER | 3| 8 +Brand#21 |SMALL BURNISHED COPPER | 14| 8 +Brand#21 |SMALL BURNISHED COPPER | 19| 8 +Brand#21 |SMALL BURNISHED COPPER | 45| 8 +Brand#21 |SMALL BURNISHED NICKEL | 14| 8 +Brand#21 |SMALL BURNISHED STEEL | 49| 8 +Brand#21 |SMALL PLATED BRASS | 14| 8 +Brand#21 |SMALL PLATED COPPER | 3| 8 +Brand#21 |SMALL PLATED COPPER | 9| 8 +Brand#21 |SMALL PLATED COPPER | 45| 8 +Brand#21 |SMALL PLATED NICKEL | 3| 8 +Brand#21 |SMALL PLATED STEEL | 3| 8 +Brand#21 |SMALL PLATED STEEL | 9| 8 +Brand#21 |SMALL PLATED TIN | 19| 8 +Brand#21 |SMALL POLISHED STEEL | 36| 8 +Brand#21 |STANDARD ANODIZED BRASS | 3| 8 +Brand#21 |STANDARD ANODIZED BRASS | 36| 8 +Brand#21 |STANDARD ANODIZED BRASS | 45| 8 +Brand#21 |STANDARD ANODIZED COPPER | 23| 8 +Brand#21 |STANDARD ANODIZED STEEL | 36| 8 +Brand#21 |STANDARD ANODIZED STEEL | 49| 8 +Brand#21 |STANDARD ANODIZED TIN | 9| 8 +Brand#21 |STANDARD ANODIZED TIN | 49| 8 +Brand#21 |STANDARD BRUSHED BRASS | 14| 8 +Brand#21 |STANDARD BRUSHED BRASS | 45| 8 +Brand#21 |STANDARD BRUSHED COPPER | 23| 8 +Brand#21 |STANDARD BRUSHED NICKEL | 19| 8 +Brand#21 |STANDARD BRUSHED STEEL | 9| 8 +Brand#21 |STANDARD BRUSHED STEEL | 49| 8 +Brand#21 |STANDARD BRUSHED TIN | 23| 8 +Brand#21 |STANDARD BRUSHED TIN | 36| 8 +Brand#21 |STANDARD BRUSHED TIN | 45| 8 +Brand#21 |STANDARD BURNISHED BRASS | 36| 8 +Brand#21 |STANDARD BURNISHED COPPER| 9| 8 +Brand#21 |STANDARD BURNISHED COPPER| 19| 8 +Brand#21 |STANDARD BURNISHED NICKEL| 9| 8 +Brand#21 |STANDARD BURNISHED NICKEL| 23| 8 +Brand#21 |STANDARD BURNISHED NICKEL| 45| 8 +Brand#21 |STANDARD BURNISHED STEEL | 14| 8 +Brand#21 |STANDARD BURNISHED STEEL | 36| 8 +Brand#21 |STANDARD BURNISHED STEEL | 45| 8 +Brand#21 |STANDARD BURNISHED TIN | 19| 8 +Brand#21 |STANDARD BURNISHED TIN | 36| 8 +Brand#21 |STANDARD PLATED BRASS | 14| 8 +Brand#21 |STANDARD PLATED BRASS | 19| 8 +Brand#21 |STANDARD PLATED BRASS | 49| 8 +Brand#21 |STANDARD PLATED COPPER | 19| 8 +Brand#21 |STANDARD PLATED COPPER | 23| 8 +Brand#21 |STANDARD PLATED COPPER | 49| 8 +Brand#21 |STANDARD PLATED NICKEL | 3| 8 +Brand#21 |STANDARD PLATED NICKEL | 45| 8 +Brand#21 |STANDARD PLATED TIN | 14| 8 +Brand#21 |STANDARD PLATED TIN | 49| 8 +Brand#21 |STANDARD POLISHED BRASS | 9| 8 +Brand#21 |STANDARD POLISHED BRASS | 19| 8 +Brand#21 |STANDARD POLISHED BRASS | 45| 8 +Brand#21 |STANDARD POLISHED COPPER | 23| 8 +Brand#21 |STANDARD POLISHED NICKEL | 14| 8 +Brand#21 |STANDARD POLISHED NICKEL | 23| 8 +Brand#21 |STANDARD POLISHED STEEL | 19| 8 +Brand#21 |STANDARD POLISHED TIN | 36| 8 +Brand#22 |ECONOMY ANODIZED BRASS | 3| 8 +Brand#22 |ECONOMY ANODIZED BRASS | 36| 8 +Brand#22 |ECONOMY ANODIZED COPPER | 14| 8 +Brand#22 |ECONOMY ANODIZED STEEL | 23| 8 +Brand#22 |ECONOMY ANODIZED TIN | 36| 8 +Brand#22 |ECONOMY BRUSHED BRASS | 14| 8 +Brand#22 |ECONOMY BRUSHED COPPER | 3| 8 +Brand#22 |ECONOMY BRUSHED COPPER | 9| 8 +Brand#22 |ECONOMY BRUSHED COPPER | 23| 8 +Brand#22 |ECONOMY BRUSHED NICKEL | 3| 8 +Brand#22 |ECONOMY BRUSHED NICKEL | 9| 8 +Brand#22 |ECONOMY BRUSHED NICKEL | 14| 8 +Brand#22 |ECONOMY BRUSHED NICKEL | 45| 8 +Brand#22 |ECONOMY BRUSHED STEEL | 49| 8 +Brand#22 |ECONOMY BRUSHED TIN | 45| 8 +Brand#22 |ECONOMY BURNISHED NICKEL | 3| 8 +Brand#22 |ECONOMY BURNISHED NICKEL | 49| 8 +Brand#22 |ECONOMY BURNISHED STEEL | 9| 8 +Brand#22 |ECONOMY BURNISHED TIN | 23| 8 +Brand#22 |ECONOMY PLATED BRASS | 3| 8 +Brand#22 |ECONOMY PLATED STEEL | 3| 8 +Brand#22 |ECONOMY PLATED TIN | 9| 8 +Brand#22 |ECONOMY POLISHED COPPER | 49| 8 +Brand#22 |ECONOMY POLISHED NICKEL | 45| 8 +Brand#22 |ECONOMY POLISHED STEEL | 9| 8 +Brand#22 |ECONOMY POLISHED STEEL | 14| 8 +Brand#22 |ECONOMY POLISHED TIN | 14| 8 +Brand#22 |ECONOMY POLISHED TIN | 45| 8 +Brand#22 |LARGE ANODIZED BRASS | 14| 8 +Brand#22 |LARGE ANODIZED NICKEL | 23| 8 +Brand#22 |LARGE ANODIZED TIN | 19| 8 +Brand#22 |LARGE ANODIZED TIN | 23| 8 +Brand#22 |LARGE ANODIZED TIN | 49| 8 +Brand#22 |LARGE BRUSHED BRASS | 23| 8 +Brand#22 |LARGE BRUSHED BRASS | 36| 8 +Brand#22 |LARGE BRUSHED COPPER | 9| 8 +Brand#22 |LARGE BRUSHED NICKEL | 23| 8 +Brand#22 |LARGE BRUSHED NICKEL | 45| 8 +Brand#22 |LARGE BRUSHED STEEL | 23| 8 +Brand#22 |LARGE BURNISHED BRASS | 23| 8 +Brand#22 |LARGE BURNISHED COPPER | 9| 8 +Brand#22 |LARGE BURNISHED COPPER | 19| 8 +Brand#22 |LARGE BURNISHED NICKEL | 36| 8 +Brand#22 |LARGE BURNISHED NICKEL | 49| 8 +Brand#22 |LARGE BURNISHED STEEL | 9| 8 +Brand#22 |LARGE BURNISHED TIN | 45| 8 +Brand#22 |LARGE PLATED BRASS | 45| 8 +Brand#22 |LARGE PLATED COPPER | 45| 8 +Brand#22 |LARGE PLATED NICKEL | 9| 8 +Brand#22 |LARGE PLATED NICKEL | 19| 8 +Brand#22 |LARGE PLATED NICKEL | 23| 8 +Brand#22 |LARGE PLATED STEEL | 14| 8 +Brand#22 |LARGE PLATED STEEL | 19| 8 +Brand#22 |LARGE PLATED STEEL | 23| 8 +Brand#22 |LARGE PLATED TIN | 14| 8 +Brand#22 |LARGE POLISHED BRASS | 23| 8 +Brand#22 |LARGE POLISHED BRASS | 45| 8 +Brand#22 |LARGE POLISHED BRASS | 49| 8 +Brand#22 |LARGE POLISHED COPPER | 9| 8 +Brand#22 |LARGE POLISHED COPPER | 49| 8 +Brand#22 |LARGE POLISHED NICKEL | 45| 8 +Brand#22 |LARGE POLISHED NICKEL | 49| 8 +Brand#22 |LARGE POLISHED STEEL | 49| 8 +Brand#22 |LARGE POLISHED TIN | 49| 8 +Brand#22 |MEDIUM ANODIZED BRASS | 14| 8 +Brand#22 |MEDIUM ANODIZED BRASS | 49| 8 +Brand#22 |MEDIUM ANODIZED COPPER | 3| 8 +Brand#22 |MEDIUM ANODIZED COPPER | 14| 8 +Brand#22 |MEDIUM ANODIZED COPPER | 45| 8 +Brand#22 |MEDIUM ANODIZED NICKEL | 3| 8 +Brand#22 |MEDIUM ANODIZED NICKEL | 36| 8 +Brand#22 |MEDIUM ANODIZED STEEL | 36| 8 +Brand#22 |MEDIUM ANODIZED TIN | 45| 8 +Brand#22 |MEDIUM BRUSHED BRASS | 45| 8 +Brand#22 |MEDIUM BRUSHED BRASS | 49| 8 +Brand#22 |MEDIUM BRUSHED COPPER | 3| 8 +Brand#22 |MEDIUM BRUSHED COPPER | 45| 8 +Brand#22 |MEDIUM BRUSHED COPPER | 49| 8 +Brand#22 |MEDIUM BRUSHED STEEL | 36| 8 +Brand#22 |MEDIUM BURNISHED BRASS | 9| 8 +Brand#22 |MEDIUM BURNISHED BRASS | 45| 8 +Brand#22 |MEDIUM BURNISHED BRASS | 49| 8 +Brand#22 |MEDIUM BURNISHED COPPER | 14| 8 +Brand#22 |MEDIUM BURNISHED COPPER | 23| 8 +Brand#22 |MEDIUM BURNISHED COPPER | 36| 8 +Brand#22 |MEDIUM BURNISHED COPPER | 45| 8 +Brand#22 |MEDIUM BURNISHED COPPER | 49| 8 +Brand#22 |MEDIUM BURNISHED NICKEL | 3| 8 +Brand#22 |MEDIUM BURNISHED NICKEL | 14| 8 +Brand#22 |MEDIUM BURNISHED STEEL | 3| 8 +Brand#22 |MEDIUM BURNISHED STEEL | 9| 8 +Brand#22 |MEDIUM BURNISHED STEEL | 45| 8 +Brand#22 |MEDIUM BURNISHED TIN | 3| 8 +Brand#22 |MEDIUM BURNISHED TIN | 9| 8 +Brand#22 |MEDIUM BURNISHED TIN | 19| 8 +Brand#22 |MEDIUM BURNISHED TIN | 49| 8 +Brand#22 |MEDIUM PLATED COPPER | 19| 8 +Brand#22 |MEDIUM PLATED NICKEL | 3| 8 +Brand#22 |MEDIUM PLATED NICKEL | 45| 8 +Brand#22 |MEDIUM PLATED NICKEL | 49| 8 +Brand#22 |MEDIUM PLATED STEEL | 3| 8 +Brand#22 |MEDIUM PLATED STEEL | 9| 8 +Brand#22 |MEDIUM PLATED STEEL | 19| 8 +Brand#22 |MEDIUM PLATED TIN | 49| 8 +Brand#22 |PROMO ANODIZED BRASS | 3| 8 +Brand#22 |PROMO ANODIZED BRASS | 9| 8 +Brand#22 |PROMO ANODIZED BRASS | 45| 8 +Brand#22 |PROMO ANODIZED COPPER | 3| 8 +Brand#22 |PROMO ANODIZED COPPER | 9| 8 +Brand#22 |PROMO ANODIZED COPPER | 23| 8 +Brand#22 |PROMO ANODIZED NICKEL | 9| 8 +Brand#22 |PROMO ANODIZED NICKEL | 45| 8 +Brand#22 |PROMO ANODIZED STEEL | 19| 8 +Brand#22 |PROMO ANODIZED TIN | 14| 8 +Brand#22 |PROMO ANODIZED TIN | 23| 8 +Brand#22 |PROMO BRUSHED BRASS | 3| 8 +Brand#22 |PROMO BRUSHED BRASS | 19| 8 +Brand#22 |PROMO BRUSHED BRASS | 23| 8 +Brand#22 |PROMO BRUSHED BRASS | 36| 8 +Brand#22 |PROMO BRUSHED NICKEL | 19| 8 +Brand#22 |PROMO BRUSHED NICKEL | 45| 8 +Brand#22 |PROMO BRUSHED STEEL | 36| 8 +Brand#22 |PROMO BRUSHED TIN | 3| 8 +Brand#22 |PROMO BURNISHED COPPER | 14| 8 +Brand#22 |PROMO BURNISHED COPPER | 36| 8 +Brand#22 |PROMO BURNISHED STEEL | 14| 8 +Brand#22 |PROMO BURNISHED STEEL | 36| 8 +Brand#22 |PROMO BURNISHED TIN | 3| 8 +Brand#22 |PROMO PLATED BRASS | 36| 8 +Brand#22 |PROMO PLATED BRASS | 45| 8 +Brand#22 |PROMO PLATED COPPER | 36| 8 +Brand#22 |PROMO PLATED NICKEL | 9| 8 +Brand#22 |PROMO PLATED NICKEL | 19| 8 +Brand#22 |PROMO PLATED NICKEL | 49| 8 +Brand#22 |PROMO PLATED STEEL | 45| 8 +Brand#22 |PROMO PLATED TIN | 3| 8 +Brand#22 |PROMO PLATED TIN | 23| 8 +Brand#22 |PROMO POLISHED BRASS | 3| 8 +Brand#22 |PROMO POLISHED BRASS | 9| 8 +Brand#22 |PROMO POLISHED NICKEL | 9| 8 +Brand#22 |PROMO POLISHED STEEL | 14| 8 +Brand#22 |PROMO POLISHED TIN | 3| 8 +Brand#22 |PROMO POLISHED TIN | 23| 8 +Brand#22 |PROMO POLISHED TIN | 49| 8 +Brand#22 |SMALL ANODIZED BRASS | 14| 8 +Brand#22 |SMALL ANODIZED COPPER | 3| 8 +Brand#22 |SMALL ANODIZED NICKEL | 3| 8 +Brand#22 |SMALL ANODIZED NICKEL | 36| 8 +Brand#22 |SMALL ANODIZED STEEL | 23| 8 +Brand#22 |SMALL BRUSHED BRASS | 36| 8 +Brand#22 |SMALL BRUSHED TIN | 19| 8 +Brand#22 |SMALL BRUSHED TIN | 23| 8 +Brand#22 |SMALL BURNISHED BRASS | 3| 8 +Brand#22 |SMALL BURNISHED NICKEL | 3| 8 +Brand#22 |SMALL BURNISHED NICKEL | 49| 8 +Brand#22 |SMALL BURNISHED STEEL | 9| 8 +Brand#22 |SMALL BURNISHED STEEL | 23| 8 +Brand#22 |SMALL BURNISHED STEEL | 49| 8 +Brand#22 |SMALL BURNISHED TIN | 45| 8 +Brand#22 |SMALL PLATED BRASS | 23| 8 +Brand#22 |SMALL PLATED COPPER | 14| 8 +Brand#22 |SMALL PLATED COPPER | 36| 8 +Brand#22 |SMALL PLATED NICKEL | 3| 8 +Brand#22 |SMALL PLATED NICKEL | 19| 8 +Brand#22 |SMALL PLATED STEEL | 3| 8 +Brand#22 |SMALL PLATED STEEL | 45| 8 +Brand#22 |SMALL POLISHED COPPER | 9| 8 +Brand#22 |SMALL POLISHED COPPER | 23| 8 +Brand#22 |SMALL POLISHED NICKEL | 14| 8 +Brand#22 |SMALL POLISHED NICKEL | 19| 8 +Brand#22 |SMALL POLISHED STEEL | 14| 8 +Brand#22 |SMALL POLISHED TIN | 14| 8 +Brand#22 |SMALL POLISHED TIN | 19| 8 +Brand#22 |STANDARD ANODIZED BRASS | 14| 8 +Brand#22 |STANDARD ANODIZED BRASS | 19| 8 +Brand#22 |STANDARD ANODIZED COPPER | 9| 8 +Brand#22 |STANDARD ANODIZED COPPER | 23| 8 +Brand#22 |STANDARD ANODIZED COPPER | 36| 8 +Brand#22 |STANDARD ANODIZED NICKEL | 3| 8 +Brand#22 |STANDARD ANODIZED NICKEL | 14| 8 +Brand#22 |STANDARD ANODIZED TIN | 3| 8 +Brand#22 |STANDARD ANODIZED TIN | 49| 8 +Brand#22 |STANDARD BRUSHED BRASS | 14| 8 +Brand#22 |STANDARD BRUSHED BRASS | 19| 8 +Brand#22 |STANDARD BRUSHED COPPER | 19| 8 +Brand#22 |STANDARD BRUSHED COPPER | 36| 8 +Brand#22 |STANDARD BRUSHED NICKEL | 9| 8 +Brand#22 |STANDARD BRUSHED NICKEL | 19| 8 +Brand#22 |STANDARD BRUSHED NICKEL | 23| 8 +Brand#22 |STANDARD BRUSHED STEEL | 9| 8 +Brand#22 |STANDARD BRUSHED STEEL | 14| 8 +Brand#22 |STANDARD BRUSHED STEEL | 19| 8 +Brand#22 |STANDARD BRUSHED STEEL | 36| 8 +Brand#22 |STANDARD BRUSHED TIN | 3| 8 +Brand#22 |STANDARD BRUSHED TIN | 45| 8 +Brand#22 |STANDARD BURNISHED BRASS | 14| 8 +Brand#22 |STANDARD BURNISHED NICKEL| 14| 8 +Brand#22 |STANDARD BURNISHED NICKEL| 45| 8 +Brand#22 |STANDARD BURNISHED STEEL | 36| 8 +Brand#22 |STANDARD BURNISHED STEEL | 45| 8 +Brand#22 |STANDARD PLATED BRASS | 14| 8 +Brand#22 |STANDARD PLATED COPPER | 19| 8 +Brand#22 |STANDARD PLATED NICKEL | 19| 8 +Brand#22 |STANDARD PLATED NICKEL | 36| 8 +Brand#22 |STANDARD PLATED STEEL | 9| 8 +Brand#22 |STANDARD PLATED STEEL | 14| 8 +Brand#22 |STANDARD POLISHED BRASS | 14| 8 +Brand#22 |STANDARD POLISHED NICKEL | 23| 8 +Brand#22 |STANDARD POLISHED NICKEL | 45| 8 +Brand#22 |STANDARD POLISHED STEEL | 36| 8 +Brand#22 |STANDARD POLISHED STEEL | 45| 8 +Brand#22 |STANDARD POLISHED STEEL | 49| 8 +Brand#22 |STANDARD POLISHED TIN | 9| 8 +Brand#22 |STANDARD POLISHED TIN | 19| 8 +Brand#23 |ECONOMY ANODIZED COPPER | 3| 8 +Brand#23 |ECONOMY ANODIZED NICKEL | 3| 8 +Brand#23 |ECONOMY ANODIZED NICKEL | 49| 8 +Brand#23 |ECONOMY ANODIZED STEEL | 14| 8 +Brand#23 |ECONOMY ANODIZED TIN | 14| 8 +Brand#23 |ECONOMY ANODIZED TIN | 19| 8 +Brand#23 |ECONOMY ANODIZED TIN | 45| 8 +Brand#23 |ECONOMY ANODIZED TIN | 49| 8 +Brand#23 |ECONOMY BRUSHED BRASS | 3| 8 +Brand#23 |ECONOMY BRUSHED BRASS | 36| 8 +Brand#23 |ECONOMY BRUSHED COPPER | 9| 8 +Brand#23 |ECONOMY BRUSHED TIN | 9| 8 +Brand#23 |ECONOMY BRUSHED TIN | 19| 8 +Brand#23 |ECONOMY BRUSHED TIN | 23| 8 +Brand#23 |ECONOMY BURNISHED BRASS | 9| 8 +Brand#23 |ECONOMY BURNISHED BRASS | 14| 8 +Brand#23 |ECONOMY BURNISHED COPPER | 14| 8 +Brand#23 |ECONOMY BURNISHED NICKEL | 9| 8 +Brand#23 |ECONOMY BURNISHED NICKEL | 23| 8 +Brand#23 |ECONOMY BURNISHED STEEL | 45| 8 +Brand#23 |ECONOMY PLATED BRASS | 23| 8 +Brand#23 |ECONOMY PLATED COPPER | 23| 8 +Brand#23 |ECONOMY PLATED NICKEL | 3| 8 +Brand#23 |ECONOMY PLATED NICKEL | 23| 8 +Brand#23 |ECONOMY PLATED STEEL | 19| 8 +Brand#23 |ECONOMY PLATED TIN | 3| 8 +Brand#23 |ECONOMY PLATED TIN | 19| 8 +Brand#23 |ECONOMY PLATED TIN | 23| 8 +Brand#23 |ECONOMY PLATED TIN | 36| 8 +Brand#23 |ECONOMY POLISHED BRASS | 36| 8 +Brand#23 |ECONOMY POLISHED COPPER | 3| 8 +Brand#23 |ECONOMY POLISHED COPPER | 14| 8 +Brand#23 |ECONOMY POLISHED COPPER | 49| 8 +Brand#23 |ECONOMY POLISHED STEEL | 3| 8 +Brand#23 |ECONOMY POLISHED STEEL | 23| 8 +Brand#23 |ECONOMY POLISHED STEEL | 36| 8 +Brand#23 |ECONOMY POLISHED TIN | 45| 8 +Brand#23 |LARGE ANODIZED BRASS | 9| 8 +Brand#23 |LARGE ANODIZED BRASS | 14| 8 +Brand#23 |LARGE ANODIZED COPPER | 9| 8 +Brand#23 |LARGE ANODIZED COPPER | 45| 8 +Brand#23 |LARGE ANODIZED COPPER | 49| 8 +Brand#23 |LARGE ANODIZED STEEL | 19| 8 +Brand#23 |LARGE ANODIZED STEEL | 36| 8 +Brand#23 |LARGE BRUSHED BRASS | 9| 8 +Brand#23 |LARGE BRUSHED NICKEL | 3| 8 +Brand#23 |LARGE BRUSHED NICKEL | 45| 8 +Brand#23 |LARGE BURNISHED COPPER | 3| 8 +Brand#23 |LARGE BURNISHED COPPER | 9| 8 +Brand#23 |LARGE BURNISHED NICKEL | 9| 8 +Brand#23 |LARGE BURNISHED NICKEL | 19| 8 +Brand#23 |LARGE BURNISHED STEEL | 3| 8 +Brand#23 |LARGE BURNISHED STEEL | 9| 8 +Brand#23 |LARGE BURNISHED STEEL | 14| 8 +Brand#23 |LARGE BURNISHED STEEL | 49| 8 +Brand#23 |LARGE PLATED BRASS | 3| 8 +Brand#23 |LARGE PLATED BRASS | 9| 8 +Brand#23 |LARGE PLATED BRASS | 14| 8 +Brand#23 |LARGE PLATED COPPER | 19| 8 +Brand#23 |LARGE PLATED NICKEL | 23| 8 +Brand#23 |LARGE PLATED NICKEL | 49| 8 +Brand#23 |LARGE PLATED STEEL | 3| 8 +Brand#23 |LARGE PLATED STEEL | 14| 8 +Brand#23 |LARGE PLATED STEEL | 45| 8 +Brand#23 |LARGE POLISHED NICKEL | 3| 8 +Brand#23 |LARGE POLISHED NICKEL | 49| 8 +Brand#23 |LARGE POLISHED TIN | 9| 8 +Brand#23 |LARGE POLISHED TIN | 14| 8 +Brand#23 |LARGE POLISHED TIN | 36| 8 +Brand#23 |LARGE POLISHED TIN | 49| 8 +Brand#23 |MEDIUM ANODIZED COPPER | 45| 8 +Brand#23 |MEDIUM ANODIZED NICKEL | 3| 8 +Brand#23 |MEDIUM ANODIZED NICKEL | 14| 8 +Brand#23 |MEDIUM ANODIZED STEEL | 3| 8 +Brand#23 |MEDIUM ANODIZED STEEL | 19| 8 +Brand#23 |MEDIUM ANODIZED STEEL | 49| 8 +Brand#23 |MEDIUM ANODIZED TIN | 14| 8 +Brand#23 |MEDIUM ANODIZED TIN | 23| 8 +Brand#23 |MEDIUM ANODIZED TIN | 45| 8 +Brand#23 |MEDIUM BRUSHED BRASS | 45| 8 +Brand#23 |MEDIUM BRUSHED COPPER | 19| 8 +Brand#23 |MEDIUM BRUSHED COPPER | 23| 8 +Brand#23 |MEDIUM BRUSHED NICKEL | 3| 8 +Brand#23 |MEDIUM BRUSHED NICKEL | 14| 8 +Brand#23 |MEDIUM BRUSHED TIN | 14| 8 +Brand#23 |MEDIUM BRUSHED TIN | 45| 8 +Brand#23 |MEDIUM BURNISHED BRASS | 3| 8 +Brand#23 |MEDIUM BURNISHED BRASS | 9| 8 +Brand#23 |MEDIUM BURNISHED BRASS | 14| 8 +Brand#23 |MEDIUM BURNISHED COPPER | 14| 8 +Brand#23 |MEDIUM BURNISHED COPPER | 23| 8 +Brand#23 |MEDIUM BURNISHED COPPER | 36| 8 +Brand#23 |MEDIUM BURNISHED STEEL | 9| 8 +Brand#23 |MEDIUM BURNISHED STEEL | 14| 8 +Brand#23 |MEDIUM BURNISHED TIN | 9| 8 +Brand#23 |MEDIUM BURNISHED TIN | 14| 8 +Brand#23 |MEDIUM PLATED BRASS | 9| 8 +Brand#23 |MEDIUM PLATED BRASS | 14| 8 +Brand#23 |MEDIUM PLATED BRASS | 19| 8 +Brand#23 |MEDIUM PLATED NICKEL | 3| 8 +Brand#23 |MEDIUM PLATED NICKEL | 9| 8 +Brand#23 |MEDIUM PLATED NICKEL | 23| 8 +Brand#23 |MEDIUM PLATED NICKEL | 36| 8 +Brand#23 |MEDIUM PLATED STEEL | 23| 8 +Brand#23 |MEDIUM PLATED TIN | 49| 8 +Brand#23 |PROMO ANODIZED COPPER | 3| 8 +Brand#23 |PROMO ANODIZED COPPER | 36| 8 +Brand#23 |PROMO ANODIZED COPPER | 45| 8 +Brand#23 |PROMO ANODIZED NICKEL | 45| 8 +Brand#23 |PROMO ANODIZED TIN | 14| 8 +Brand#23 |PROMO BRUSHED BRASS | 19| 8 +Brand#23 |PROMO BRUSHED BRASS | 36| 8 +Brand#23 |PROMO BRUSHED COPPER | 14| 8 +Brand#23 |PROMO BRUSHED NICKEL | 3| 8 +Brand#23 |PROMO BRUSHED NICKEL | 49| 8 +Brand#23 |PROMO BRUSHED TIN | 9| 8 +Brand#23 |PROMO BRUSHED TIN | 49| 8 +Brand#23 |PROMO BURNISHED BRASS | 14| 8 +Brand#23 |PROMO BURNISHED BRASS | 45| 8 +Brand#23 |PROMO BURNISHED COPPER | 49| 8 +Brand#23 |PROMO BURNISHED NICKEL | 9| 8 +Brand#23 |PROMO BURNISHED NICKEL | 23| 8 +Brand#23 |PROMO BURNISHED STEEL | 14| 8 +Brand#23 |PROMO BURNISHED TIN | 14| 8 +Brand#23 |PROMO BURNISHED TIN | 49| 8 +Brand#23 |PROMO PLATED BRASS | 14| 8 +Brand#23 |PROMO PLATED COPPER | 14| 8 +Brand#23 |PROMO PLATED NICKEL | 23| 8 +Brand#23 |PROMO PLATED NICKEL | 45| 8 +Brand#23 |PROMO PLATED STEEL | 3| 8 +Brand#23 |PROMO PLATED STEEL | 49| 8 +Brand#23 |PROMO PLATED TIN | 3| 8 +Brand#23 |PROMO PLATED TIN | 23| 8 +Brand#23 |PROMO PLATED TIN | 36| 8 +Brand#23 |PROMO PLATED TIN | 45| 8 +Brand#23 |PROMO POLISHED BRASS | 14| 8 +Brand#23 |PROMO POLISHED COPPER | 23| 8 +Brand#23 |PROMO POLISHED NICKEL | 19| 8 +Brand#23 |PROMO POLISHED NICKEL | 23| 8 +Brand#23 |PROMO POLISHED NICKEL | 36| 8 +Brand#23 |PROMO POLISHED STEEL | 3| 8 +Brand#23 |PROMO POLISHED STEEL | 14| 8 +Brand#23 |PROMO POLISHED TIN | 23| 8 +Brand#23 |PROMO POLISHED TIN | 49| 8 +Brand#23 |SMALL ANODIZED BRASS | 36| 8 +Brand#23 |SMALL ANODIZED BRASS | 49| 8 +Brand#23 |SMALL ANODIZED COPPER | 14| 8 +Brand#23 |SMALL ANODIZED STEEL | 14| 8 +Brand#23 |SMALL ANODIZED STEEL | 23| 8 +Brand#23 |SMALL ANODIZED TIN | 3| 8 +Brand#23 |SMALL BRUSHED BRASS | 49| 8 +Brand#23 |SMALL BRUSHED COPPER | 23| 8 +Brand#23 |SMALL BRUSHED COPPER | 45| 8 +Brand#23 |SMALL BRUSHED NICKEL | 3| 8 +Brand#23 |SMALL BRUSHED STEEL | 23| 8 +Brand#23 |SMALL BRUSHED STEEL | 45| 8 +Brand#23 |SMALL BRUSHED STEEL | 49| 8 +Brand#23 |SMALL BRUSHED TIN | 3| 8 +Brand#23 |SMALL BRUSHED TIN | 14| 8 +Brand#23 |SMALL BURNISHED BRASS | 3| 8 +Brand#23 |SMALL BURNISHED BRASS | 9| 8 +Brand#23 |SMALL BURNISHED BRASS | 49| 8 +Brand#23 |SMALL BURNISHED COPPER | 45| 8 +Brand#23 |SMALL BURNISHED NICKEL | 3| 8 +Brand#23 |SMALL BURNISHED NICKEL | 49| 8 +Brand#23 |SMALL BURNISHED STEEL | 19| 8 +Brand#23 |SMALL BURNISHED STEEL | 49| 8 +Brand#23 |SMALL PLATED BRASS | 3| 8 +Brand#23 |SMALL PLATED BRASS | 45| 8 +Brand#23 |SMALL PLATED COPPER | 14| 8 +Brand#23 |SMALL PLATED COPPER | 36| 8 +Brand#23 |SMALL PLATED COPPER | 45| 8 +Brand#23 |SMALL PLATED NICKEL | 23| 8 +Brand#23 |SMALL PLATED STEEL | 19| 8 +Brand#23 |SMALL PLATED STEEL | 36| 8 +Brand#23 |SMALL PLATED STEEL | 49| 8 +Brand#23 |SMALL PLATED TIN | 19| 8 +Brand#23 |SMALL PLATED TIN | 23| 8 +Brand#23 |SMALL PLATED TIN | 45| 8 +Brand#23 |SMALL PLATED TIN | 49| 8 +Brand#23 |SMALL POLISHED BRASS | 19| 8 +Brand#23 |SMALL POLISHED BRASS | 49| 8 +Brand#23 |SMALL POLISHED COPPER | 9| 8 +Brand#23 |SMALL POLISHED NICKEL | 3| 8 +Brand#23 |SMALL POLISHED NICKEL | 23| 8 +Brand#23 |SMALL POLISHED NICKEL | 49| 8 +Brand#23 |STANDARD ANODIZED BRASS | 19| 8 +Brand#23 |STANDARD ANODIZED COPPER | 19| 8 +Brand#23 |STANDARD ANODIZED COPPER | 23| 8 +Brand#23 |STANDARD ANODIZED NICKEL | 9| 8 +Brand#23 |STANDARD ANODIZED NICKEL | 23| 8 +Brand#23 |STANDARD ANODIZED STEEL | 9| 8 +Brand#23 |STANDARD ANODIZED STEEL | 14| 8 +Brand#23 |STANDARD ANODIZED STEEL | 45| 8 +Brand#23 |STANDARD ANODIZED STEEL | 49| 8 +Brand#23 |STANDARD BRUSHED BRASS | 19| 8 +Brand#23 |STANDARD BRUSHED BRASS | 36| 8 +Brand#23 |STANDARD BRUSHED COPPER | 36| 8 +Brand#23 |STANDARD BRUSHED NICKEL | 9| 8 +Brand#23 |STANDARD BRUSHED NICKEL | 19| 8 +Brand#23 |STANDARD BRUSHED STEEL | 14| 8 +Brand#23 |STANDARD BRUSHED STEEL | 49| 8 +Brand#23 |STANDARD BRUSHED TIN | 3| 8 +Brand#23 |STANDARD BRUSHED TIN | 36| 8 +Brand#23 |STANDARD BURNISHED BRASS | 45| 8 +Brand#23 |STANDARD BURNISHED COPPER| 3| 8 +Brand#23 |STANDARD BURNISHED COPPER| 36| 8 +Brand#23 |STANDARD BURNISHED NICKEL| 45| 8 +Brand#23 |STANDARD BURNISHED TIN | 49| 8 +Brand#23 |STANDARD PLATED BRASS | 23| 8 +Brand#23 |STANDARD PLATED COPPER | 3| 8 +Brand#23 |STANDARD PLATED COPPER | 14| 8 +Brand#23 |STANDARD PLATED COPPER | 23| 8 +Brand#23 |STANDARD PLATED COPPER | 36| 8 +Brand#23 |STANDARD PLATED STEEL | 3| 8 +Brand#23 |STANDARD PLATED STEEL | 19| 8 +Brand#23 |STANDARD PLATED STEEL | 36| 8 +Brand#23 |STANDARD PLATED STEEL | 49| 8 +Brand#23 |STANDARD PLATED TIN | 3| 8 +Brand#23 |STANDARD PLATED TIN | 23| 8 +Brand#23 |STANDARD POLISHED BRASS | 36| 8 +Brand#23 |STANDARD POLISHED BRASS | 49| 8 +Brand#23 |STANDARD POLISHED COPPER | 14| 8 +Brand#23 |STANDARD POLISHED COPPER | 45| 8 +Brand#23 |STANDARD POLISHED TIN | 3| 8 +Brand#24 |ECONOMY ANODIZED BRASS | 23| 8 +Brand#24 |ECONOMY ANODIZED COPPER | 9| 8 +Brand#24 |ECONOMY ANODIZED COPPER | 14| 8 +Brand#24 |ECONOMY ANODIZED NICKEL | 9| 8 +Brand#24 |ECONOMY ANODIZED NICKEL | 14| 8 +Brand#24 |ECONOMY ANODIZED NICKEL | 19| 8 +Brand#24 |ECONOMY ANODIZED NICKEL | 36| 8 +Brand#24 |ECONOMY ANODIZED STEEL | 3| 8 +Brand#24 |ECONOMY ANODIZED STEEL | 36| 8 +Brand#24 |ECONOMY ANODIZED TIN | 19| 8 +Brand#24 |ECONOMY ANODIZED TIN | 36| 8 +Brand#24 |ECONOMY BRUSHED BRASS | 19| 8 +Brand#24 |ECONOMY BRUSHED COPPER | 23| 8 +Brand#24 |ECONOMY BRUSHED NICKEL | 9| 8 +Brand#24 |ECONOMY BRUSHED NICKEL | 45| 8 +Brand#24 |ECONOMY BRUSHED NICKEL | 49| 8 +Brand#24 |ECONOMY BRUSHED STEEL | 36| 8 +Brand#24 |ECONOMY BRUSHED TIN | 9| 8 +Brand#24 |ECONOMY BRUSHED TIN | 14| 8 +Brand#24 |ECONOMY BRUSHED TIN | 36| 8 +Brand#24 |ECONOMY BURNISHED BRASS | 23| 8 +Brand#24 |ECONOMY BURNISHED BRASS | 49| 8 +Brand#24 |ECONOMY BURNISHED COPPER | 45| 8 +Brand#24 |ECONOMY BURNISHED NICKEL | 14| 8 +Brand#24 |ECONOMY BURNISHED NICKEL | 19| 8 +Brand#24 |ECONOMY BURNISHED STEEL | 9| 8 +Brand#24 |ECONOMY BURNISHED STEEL | 36| 8 +Brand#24 |ECONOMY BURNISHED STEEL | 49| 8 +Brand#24 |ECONOMY PLATED BRASS | 49| 8 +Brand#24 |ECONOMY PLATED COPPER | 36| 8 +Brand#24 |ECONOMY PLATED COPPER | 45| 8 +Brand#24 |ECONOMY PLATED NICKEL | 9| 8 +Brand#24 |ECONOMY PLATED NICKEL | 36| 8 +Brand#24 |ECONOMY PLATED STEEL | 14| 8 +Brand#24 |ECONOMY POLISHED BRASS | 3| 8 +Brand#24 |ECONOMY POLISHED BRASS | 9| 8 +Brand#24 |ECONOMY POLISHED BRASS | 14| 8 +Brand#24 |ECONOMY POLISHED BRASS | 36| 8 +Brand#24 |ECONOMY POLISHED COPPER | 23| 8 +Brand#24 |ECONOMY POLISHED NICKEL | 23| 8 +Brand#24 |ECONOMY POLISHED NICKEL | 36| 8 +Brand#24 |ECONOMY POLISHED STEEL | 23| 8 +Brand#24 |ECONOMY POLISHED STEEL | 36| 8 +Brand#24 |ECONOMY POLISHED TIN | 9| 8 +Brand#24 |ECONOMY POLISHED TIN | 23| 8 +Brand#24 |LARGE ANODIZED COPPER | 23| 8 +Brand#24 |LARGE ANODIZED NICKEL | 3| 8 +Brand#24 |LARGE ANODIZED NICKEL | 23| 8 +Brand#24 |LARGE ANODIZED NICKEL | 49| 8 +Brand#24 |LARGE ANODIZED STEEL | 14| 8 +Brand#24 |LARGE ANODIZED STEEL | 49| 8 +Brand#24 |LARGE ANODIZED TIN | 9| 8 +Brand#24 |LARGE BRUSHED COPPER | 19| 8 +Brand#24 |LARGE BRUSHED COPPER | 49| 8 +Brand#24 |LARGE BRUSHED NICKEL | 36| 8 +Brand#24 |LARGE BRUSHED STEEL | 9| 8 +Brand#24 |LARGE BRUSHED STEEL | 19| 8 +Brand#24 |LARGE BRUSHED TIN | 45| 8 +Brand#24 |LARGE BRUSHED TIN | 49| 8 +Brand#24 |LARGE BURNISHED BRASS | 3| 8 +Brand#24 |LARGE BURNISHED BRASS | 23| 8 +Brand#24 |LARGE BURNISHED COPPER | 3| 8 +Brand#24 |LARGE BURNISHED NICKEL | 14| 8 +Brand#24 |LARGE BURNISHED NICKEL | 19| 8 +Brand#24 |LARGE BURNISHED TIN | 45| 8 +Brand#24 |LARGE PLATED BRASS | 9| 8 +Brand#24 |LARGE PLATED BRASS | 23| 8 +Brand#24 |LARGE PLATED COPPER | 45| 8 +Brand#24 |LARGE PLATED COPPER | 49| 8 +Brand#24 |LARGE PLATED NICKEL | 14| 8 +Brand#24 |LARGE PLATED NICKEL | 49| 8 +Brand#24 |LARGE PLATED STEEL | 19| 8 +Brand#24 |LARGE PLATED STEEL | 36| 8 +Brand#24 |LARGE PLATED TIN | 19| 8 +Brand#24 |LARGE POLISHED BRASS | 3| 8 +Brand#24 |LARGE POLISHED BRASS | 14| 8 +Brand#24 |LARGE POLISHED BRASS | 36| 8 +Brand#24 |LARGE POLISHED NICKEL | 9| 8 +Brand#24 |LARGE POLISHED NICKEL | 19| 8 +Brand#24 |LARGE POLISHED NICKEL | 36| 8 +Brand#24 |LARGE POLISHED STEEL | 23| 8 +Brand#24 |LARGE POLISHED STEEL | 49| 8 +Brand#24 |MEDIUM ANODIZED BRASS | 45| 8 +Brand#24 |MEDIUM ANODIZED BRASS | 49| 8 +Brand#24 |MEDIUM ANODIZED COPPER | 45| 8 +Brand#24 |MEDIUM ANODIZED NICKEL | 36| 8 +Brand#24 |MEDIUM ANODIZED STEEL | 9| 8 +Brand#24 |MEDIUM ANODIZED STEEL | 23| 8 +Brand#24 |MEDIUM ANODIZED STEEL | 49| 8 +Brand#24 |MEDIUM BRUSHED BRASS | 3| 8 +Brand#24 |MEDIUM BRUSHED COPPER | 14| 8 +Brand#24 |MEDIUM BRUSHED TIN | 49| 8 +Brand#24 |MEDIUM BURNISHED BRASS | 9| 8 +Brand#24 |MEDIUM BURNISHED COPPER | 3| 8 +Brand#24 |MEDIUM BURNISHED COPPER | 9| 8 +Brand#24 |MEDIUM BURNISHED NICKEL | 36| 8 +Brand#24 |MEDIUM BURNISHED NICKEL | 45| 8 +Brand#24 |MEDIUM BURNISHED STEEL | 19| 8 +Brand#24 |MEDIUM BURNISHED STEEL | 36| 8 +Brand#24 |MEDIUM PLATED BRASS | 19| 8 +Brand#24 |MEDIUM PLATED BRASS | 23| 8 +Brand#24 |MEDIUM PLATED COPPER | 3| 8 +Brand#24 |MEDIUM PLATED COPPER | 9| 8 +Brand#24 |MEDIUM PLATED COPPER | 23| 8 +Brand#24 |MEDIUM PLATED COPPER | 45| 8 +Brand#24 |MEDIUM PLATED NICKEL | 3| 8 +Brand#24 |MEDIUM PLATED NICKEL | 19| 8 +Brand#24 |MEDIUM PLATED STEEL | 14| 8 +Brand#24 |MEDIUM PLATED STEEL | 19| 8 +Brand#24 |PROMO ANODIZED BRASS | 3| 8 +Brand#24 |PROMO ANODIZED NICKEL | 14| 8 +Brand#24 |PROMO ANODIZED STEEL | 9| 8 +Brand#24 |PROMO ANODIZED STEEL | 45| 8 +Brand#24 |PROMO BRUSHED BRASS | 19| 8 +Brand#24 |PROMO BRUSHED COPPER | 3| 8 +Brand#24 |PROMO BRUSHED COPPER | 45| 8 +Brand#24 |PROMO BRUSHED NICKEL | 19| 8 +Brand#24 |PROMO BRUSHED NICKEL | 45| 8 +Brand#24 |PROMO BRUSHED NICKEL | 49| 8 +Brand#24 |PROMO BRUSHED STEEL | 19| 8 +Brand#24 |PROMO BRUSHED TIN | 14| 8 +Brand#24 |PROMO BURNISHED BRASS | 49| 8 +Brand#24 |PROMO BURNISHED STEEL | 3| 8 +Brand#24 |PROMO PLATED BRASS | 3| 8 +Brand#24 |PROMO PLATED BRASS | 9| 8 +Brand#24 |PROMO PLATED BRASS | 19| 8 +Brand#24 |PROMO PLATED BRASS | 49| 8 +Brand#24 |PROMO PLATED COPPER | 9| 8 +Brand#24 |PROMO PLATED NICKEL | 9| 8 +Brand#24 |PROMO PLATED STEEL | 36| 8 +Brand#24 |PROMO PLATED TIN | 23| 8 +Brand#24 |PROMO PLATED TIN | 49| 8 +Brand#24 |PROMO POLISHED BRASS | 45| 8 +Brand#24 |PROMO POLISHED COPPER | 49| 8 +Brand#24 |PROMO POLISHED NICKEL | 45| 8 +Brand#24 |PROMO POLISHED NICKEL | 49| 8 +Brand#24 |PROMO POLISHED STEEL | 14| 8 +Brand#24 |PROMO POLISHED STEEL | 36| 8 +Brand#24 |PROMO POLISHED TIN | 3| 8 +Brand#24 |PROMO POLISHED TIN | 14| 8 +Brand#24 |PROMO POLISHED TIN | 45| 8 +Brand#24 |SMALL ANODIZED BRASS | 19| 8 +Brand#24 |SMALL ANODIZED BRASS | 23| 8 +Brand#24 |SMALL ANODIZED COPPER | 36| 8 +Brand#24 |SMALL ANODIZED NICKEL | 9| 8 +Brand#24 |SMALL ANODIZED NICKEL | 45| 8 +Brand#24 |SMALL ANODIZED NICKEL | 49| 8 +Brand#24 |SMALL ANODIZED STEEL | 45| 8 +Brand#24 |SMALL ANODIZED TIN | 9| 8 +Brand#24 |SMALL ANODIZED TIN | 23| 8 +Brand#24 |SMALL ANODIZED TIN | 36| 8 +Brand#24 |SMALL BRUSHED BRASS | 9| 8 +Brand#24 |SMALL BRUSHED COPPER | 19| 8 +Brand#24 |SMALL BRUSHED NICKEL | 36| 8 +Brand#24 |SMALL BRUSHED STEEL | 9| 8 +Brand#24 |SMALL BRUSHED STEEL | 19| 8 +Brand#24 |SMALL BRUSHED STEEL | 36| 8 +Brand#24 |SMALL BRUSHED TIN | 3| 8 +Brand#24 |SMALL BRUSHED TIN | 14| 8 +Brand#24 |SMALL BRUSHED TIN | 36| 8 +Brand#24 |SMALL BRUSHED TIN | 49| 8 +Brand#24 |SMALL BURNISHED BRASS | 19| 8 +Brand#24 |SMALL BURNISHED BRASS | 36| 8 +Brand#24 |SMALL BURNISHED BRASS | 49| 8 +Brand#24 |SMALL BURNISHED NICKEL | 19| 8 +Brand#24 |SMALL BURNISHED NICKEL | 23| 8 +Brand#24 |SMALL BURNISHED NICKEL | 36| 8 +Brand#24 |SMALL BURNISHED TIN | 9| 8 +Brand#24 |SMALL PLATED BRASS | 23| 8 +Brand#24 |SMALL PLATED BRASS | 36| 8 +Brand#24 |SMALL PLATED COPPER | 3| 8 +Brand#24 |SMALL PLATED COPPER | 23| 8 +Brand#24 |SMALL PLATED NICKEL | 49| 8 +Brand#24 |SMALL PLATED STEEL | 3| 8 +Brand#24 |SMALL PLATED STEEL | 14| 8 +Brand#24 |SMALL PLATED STEEL | 49| 8 +Brand#24 |SMALL PLATED TIN | 3| 8 +Brand#24 |SMALL PLATED TIN | 14| 8 +Brand#24 |SMALL POLISHED BRASS | 14| 8 +Brand#24 |SMALL POLISHED BRASS | 23| 8 +Brand#24 |SMALL POLISHED NICKEL | 3| 8 +Brand#24 |SMALL POLISHED NICKEL | 9| 8 +Brand#24 |SMALL POLISHED NICKEL | 36| 8 +Brand#24 |SMALL POLISHED NICKEL | 45| 8 +Brand#24 |SMALL POLISHED STEEL | 9| 8 +Brand#24 |SMALL POLISHED TIN | 3| 8 +Brand#24 |STANDARD ANODIZED BRASS | 14| 8 +Brand#24 |STANDARD ANODIZED BRASS | 23| 8 +Brand#24 |STANDARD ANODIZED BRASS | 49| 8 +Brand#24 |STANDARD ANODIZED COPPER | 14| 8 +Brand#24 |STANDARD ANODIZED NICKEL | 36| 8 +Brand#24 |STANDARD ANODIZED STEEL | 3| 8 +Brand#24 |STANDARD ANODIZED STEEL | 14| 8 +Brand#24 |STANDARD BRUSHED BRASS | 3| 8 +Brand#24 |STANDARD BRUSHED BRASS | 36| 8 +Brand#24 |STANDARD BRUSHED COPPER | 9| 8 +Brand#24 |STANDARD BRUSHED COPPER | 23| 8 +Brand#24 |STANDARD BRUSHED NICKEL | 45| 8 +Brand#24 |STANDARD BRUSHED STEEL | 19| 8 +Brand#24 |STANDARD BRUSHED TIN | 14| 8 +Brand#24 |STANDARD BURNISHED NICKEL| 9| 8 +Brand#24 |STANDARD BURNISHED NICKEL| 23| 8 +Brand#24 |STANDARD BURNISHED NICKEL| 36| 8 +Brand#24 |STANDARD BURNISHED STEEL | 9| 8 +Brand#24 |STANDARD BURNISHED STEEL | 45| 8 +Brand#24 |STANDARD BURNISHED TIN | 14| 8 +Brand#24 |STANDARD BURNISHED TIN | 23| 8 +Brand#24 |STANDARD PLATED BRASS | 14| 8 +Brand#24 |STANDARD PLATED COPPER | 14| 8 +Brand#24 |STANDARD PLATED NICKEL | 3| 8 +Brand#24 |STANDARD PLATED NICKEL | 14| 8 +Brand#24 |STANDARD PLATED NICKEL | 45| 8 +Brand#24 |STANDARD PLATED STEEL | 19| 8 +Brand#24 |STANDARD PLATED STEEL | 49| 8 +Brand#24 |STANDARD PLATED TIN | 36| 8 +Brand#24 |STANDARD PLATED TIN | 45| 8 +Brand#24 |STANDARD POLISHED BRASS | 49| 8 +Brand#24 |STANDARD POLISHED COPPER | 23| 8 +Brand#24 |STANDARD POLISHED COPPER | 45| 8 +Brand#24 |STANDARD POLISHED NICKEL | 3| 8 +Brand#24 |STANDARD POLISHED NICKEL | 14| 8 +Brand#24 |STANDARD POLISHED STEEL | 3| 8 +Brand#24 |STANDARD POLISHED STEEL | 9| 8 +Brand#24 |STANDARD POLISHED STEEL | 19| 8 +Brand#24 |STANDARD POLISHED STEEL | 23| 8 +Brand#25 |ECONOMY ANODIZED BRASS | 49| 8 +Brand#25 |ECONOMY ANODIZED COPPER | 9| 8 +Brand#25 |ECONOMY ANODIZED COPPER | 23| 8 +Brand#25 |ECONOMY ANODIZED NICKEL | 9| 8 +Brand#25 |ECONOMY ANODIZED NICKEL | 19| 8 +Brand#25 |ECONOMY ANODIZED NICKEL | 45| 8 +Brand#25 |ECONOMY ANODIZED STEEL | 3| 8 +Brand#25 |ECONOMY ANODIZED STEEL | 19| 8 +Brand#25 |ECONOMY ANODIZED TIN | 49| 8 +Brand#25 |ECONOMY BRUSHED BRASS | 36| 8 +Brand#25 |ECONOMY BRUSHED NICKEL | 36| 8 +Brand#25 |ECONOMY BRUSHED STEEL | 49| 8 +Brand#25 |ECONOMY BURNISHED COPPER | 9| 8 +Brand#25 |ECONOMY BURNISHED COPPER | 14| 8 +Brand#25 |ECONOMY BURNISHED COPPER | 45| 8 +Brand#25 |ECONOMY BURNISHED NICKEL | 36| 8 +Brand#25 |ECONOMY BURNISHED STEEL | 9| 8 +Brand#25 |ECONOMY PLATED NICKEL | 45| 8 +Brand#25 |ECONOMY PLATED STEEL | 49| 8 +Brand#25 |ECONOMY PLATED TIN | 3| 8 +Brand#25 |ECONOMY PLATED TIN | 19| 8 +Brand#25 |ECONOMY PLATED TIN | 36| 8 +Brand#25 |ECONOMY POLISHED BRASS | 36| 8 +Brand#25 |ECONOMY POLISHED BRASS | 45| 8 +Brand#25 |ECONOMY POLISHED COPPER | 9| 8 +Brand#25 |ECONOMY POLISHED TIN | 36| 8 +Brand#25 |LARGE ANODIZED BRASS | 45| 8 +Brand#25 |LARGE ANODIZED NICKEL | 36| 8 +Brand#25 |LARGE ANODIZED STEEL | 3| 8 +Brand#25 |LARGE BRUSHED BRASS | 3| 8 +Brand#25 |LARGE BRUSHED NICKEL | 19| 8 +Brand#25 |LARGE BURNISHED BRASS | 9| 8 +Brand#25 |LARGE BURNISHED BRASS | 49| 8 +Brand#25 |LARGE BURNISHED COPPER | 3| 8 +Brand#25 |LARGE BURNISHED COPPER | 14| 8 +Brand#25 |LARGE BURNISHED COPPER | 19| 8 +Brand#25 |LARGE BURNISHED COPPER | 45| 8 +Brand#25 |LARGE BURNISHED TIN | 3| 8 +Brand#25 |LARGE BURNISHED TIN | 9| 8 +Brand#25 |LARGE PLATED COPPER | 36| 8 +Brand#25 |LARGE PLATED NICKEL | 36| 8 +Brand#25 |LARGE PLATED STEEL | 9| 8 +Brand#25 |LARGE PLATED STEEL | 23| 8 +Brand#25 |LARGE PLATED STEEL | 49| 8 +Brand#25 |LARGE PLATED TIN | 3| 8 +Brand#25 |LARGE PLATED TIN | 9| 8 +Brand#25 |LARGE PLATED TIN | 19| 8 +Brand#25 |LARGE PLATED TIN | 45| 8 +Brand#25 |LARGE POLISHED BRASS | 9| 8 +Brand#25 |LARGE POLISHED BRASS | 19| 8 +Brand#25 |LARGE POLISHED COPPER | 14| 8 +Brand#25 |LARGE POLISHED COPPER | 23| 8 +Brand#25 |LARGE POLISHED COPPER | 36| 8 +Brand#25 |LARGE POLISHED NICKEL | 14| 8 +Brand#25 |LARGE POLISHED STEEL | 9| 8 +Brand#25 |LARGE POLISHED STEEL | 36| 8 +Brand#25 |LARGE POLISHED STEEL | 45| 8 +Brand#25 |MEDIUM ANODIZED COPPER | 9| 8 +Brand#25 |MEDIUM ANODIZED COPPER | 36| 8 +Brand#25 |MEDIUM ANODIZED NICKEL | 9| 8 +Brand#25 |MEDIUM ANODIZED NICKEL | 36| 8 +Brand#25 |MEDIUM ANODIZED STEEL | 3| 8 +Brand#25 |MEDIUM ANODIZED TIN | 9| 8 +Brand#25 |MEDIUM ANODIZED TIN | 49| 8 +Brand#25 |MEDIUM BRUSHED COPPER | 14| 8 +Brand#25 |MEDIUM BRUSHED COPPER | 45| 8 +Brand#25 |MEDIUM BRUSHED COPPER | 49| 8 +Brand#25 |MEDIUM BRUSHED NICKEL | 49| 8 +Brand#25 |MEDIUM BRUSHED STEEL | 45| 8 +Brand#25 |MEDIUM BURNISHED BRASS | 3| 8 +Brand#25 |MEDIUM BURNISHED BRASS | 19| 8 +Brand#25 |MEDIUM BURNISHED BRASS | 36| 8 +Brand#25 |MEDIUM BURNISHED BRASS | 45| 8 +Brand#25 |MEDIUM BURNISHED COPPER | 14| 8 +Brand#25 |MEDIUM BURNISHED COPPER | 19| 8 +Brand#25 |MEDIUM BURNISHED COPPER | 45| 8 +Brand#25 |MEDIUM BURNISHED NICKEL | 3| 8 +Brand#25 |MEDIUM BURNISHED NICKEL | 9| 8 +Brand#25 |MEDIUM BURNISHED STEEL | 3| 8 +Brand#25 |MEDIUM BURNISHED STEEL | 45| 8 +Brand#25 |MEDIUM BURNISHED STEEL | 49| 8 +Brand#25 |MEDIUM BURNISHED TIN | 9| 8 +Brand#25 |MEDIUM PLATED BRASS | 14| 8 +Brand#25 |MEDIUM PLATED BRASS | 45| 8 +Brand#25 |MEDIUM PLATED COPPER | 49| 8 +Brand#25 |MEDIUM PLATED NICKEL | 9| 8 +Brand#25 |MEDIUM PLATED NICKEL | 19| 8 +Brand#25 |MEDIUM PLATED NICKEL | 23| 8 +Brand#25 |MEDIUM PLATED NICKEL | 36| 8 +Brand#25 |MEDIUM PLATED NICKEL | 45| 8 +Brand#25 |MEDIUM PLATED TIN | 3| 8 +Brand#25 |PROMO ANODIZED BRASS | 23| 8 +Brand#25 |PROMO ANODIZED BRASS | 45| 8 +Brand#25 |PROMO ANODIZED COPPER | 19| 8 +Brand#25 |PROMO ANODIZED COPPER | 45| 8 +Brand#25 |PROMO ANODIZED TIN | 3| 8 +Brand#25 |PROMO ANODIZED TIN | 14| 8 +Brand#25 |PROMO ANODIZED TIN | 19| 8 +Brand#25 |PROMO BRUSHED COPPER | 49| 8 +Brand#25 |PROMO BRUSHED NICKEL | 3| 8 +Brand#25 |PROMO BRUSHED NICKEL | 19| 8 +Brand#25 |PROMO BRUSHED TIN | 14| 8 +Brand#25 |PROMO BRUSHED TIN | 19| 8 +Brand#25 |PROMO BURNISHED COPPER | 14| 8 +Brand#25 |PROMO BURNISHED NICKEL | 3| 8 +Brand#25 |PROMO BURNISHED NICKEL | 36| 8 +Brand#25 |PROMO BURNISHED STEEL | 19| 8 +Brand#25 |PROMO BURNISHED TIN | 36| 8 +Brand#25 |PROMO PLATED BRASS | 14| 8 +Brand#25 |PROMO PLATED BRASS | 19| 8 +Brand#25 |PROMO PLATED NICKEL | 3| 8 +Brand#25 |PROMO PLATED NICKEL | 9| 8 +Brand#25 |PROMO PLATED NICKEL | 49| 8 +Brand#25 |PROMO PLATED STEEL | 23| 8 +Brand#25 |PROMO PLATED STEEL | 36| 8 +Brand#25 |PROMO POLISHED BRASS | 14| 8 +Brand#25 |PROMO POLISHED COPPER | 9| 8 +Brand#25 |PROMO POLISHED COPPER | 36| 8 +Brand#25 |PROMO POLISHED NICKEL | 19| 8 +Brand#25 |PROMO POLISHED NICKEL | 45| 8 +Brand#25 |PROMO POLISHED TIN | 19| 8 +Brand#25 |SMALL ANODIZED BRASS | 3| 8 +Brand#25 |SMALL ANODIZED BRASS | 9| 8 +Brand#25 |SMALL ANODIZED BRASS | 14| 8 +Brand#25 |SMALL ANODIZED BRASS | 23| 8 +Brand#25 |SMALL ANODIZED NICKEL | 14| 8 +Brand#25 |SMALL ANODIZED NICKEL | 19| 8 +Brand#25 |SMALL ANODIZED NICKEL | 49| 8 +Brand#25 |SMALL ANODIZED STEEL | 23| 8 +Brand#25 |SMALL ANODIZED TIN | 3| 8 +Brand#25 |SMALL ANODIZED TIN | 45| 8 +Brand#25 |SMALL BRUSHED BRASS | 3| 8 +Brand#25 |SMALL BRUSHED BRASS | 49| 8 +Brand#25 |SMALL BRUSHED COPPER | 36| 8 +Brand#25 |SMALL BRUSHED NICKEL | 9| 8 +Brand#25 |SMALL BRUSHED NICKEL | 49| 8 +Brand#25 |SMALL BRUSHED STEEL | 3| 8 +Brand#25 |SMALL BRUSHED TIN | 36| 8 +Brand#25 |SMALL BRUSHED TIN | 49| 8 +Brand#25 |SMALL BURNISHED BRASS | 23| 8 +Brand#25 |SMALL BURNISHED COPPER | 45| 8 +Brand#25 |SMALL BURNISHED NICKEL | 23| 8 +Brand#25 |SMALL BURNISHED STEEL | 3| 8 +Brand#25 |SMALL BURNISHED TIN | 3| 8 +Brand#25 |SMALL PLATED COPPER | 36| 8 +Brand#25 |SMALL PLATED COPPER | 49| 8 +Brand#25 |SMALL PLATED STEEL | 23| 8 +Brand#25 |SMALL PLATED STEEL | 36| 8 +Brand#25 |SMALL PLATED STEEL | 45| 8 +Brand#25 |SMALL PLATED TIN | 49| 8 +Brand#25 |SMALL POLISHED BRASS | 3| 8 +Brand#25 |SMALL POLISHED BRASS | 19| 8 +Brand#25 |SMALL POLISHED BRASS | 23| 8 +Brand#25 |SMALL POLISHED BRASS | 45| 8 +Brand#25 |SMALL POLISHED COPPER | 3| 8 +Brand#25 |SMALL POLISHED NICKEL | 9| 8 +Brand#25 |SMALL POLISHED NICKEL | 14| 8 +Brand#25 |SMALL POLISHED NICKEL | 19| 8 +Brand#25 |SMALL POLISHED STEEL | 14| 8 +Brand#25 |SMALL POLISHED TIN | 45| 8 +Brand#25 |SMALL POLISHED TIN | 49| 8 +Brand#25 |STANDARD ANODIZED BRASS | 9| 8 +Brand#25 |STANDARD ANODIZED BRASS | 45| 8 +Brand#25 |STANDARD ANODIZED NICKEL | 14| 8 +Brand#25 |STANDARD ANODIZED NICKEL | 23| 8 +Brand#25 |STANDARD ANODIZED NICKEL | 49| 8 +Brand#25 |STANDARD ANODIZED STEEL | 3| 8 +Brand#25 |STANDARD ANODIZED STEEL | 9| 8 +Brand#25 |STANDARD ANODIZED TIN | 9| 8 +Brand#25 |STANDARD ANODIZED TIN | 14| 8 +Brand#25 |STANDARD ANODIZED TIN | 23| 8 +Brand#25 |STANDARD ANODIZED TIN | 49| 8 +Brand#25 |STANDARD BRUSHED COPPER | 3| 8 +Brand#25 |STANDARD BRUSHED COPPER | 36| 8 +Brand#25 |STANDARD BRUSHED NICKEL | 14| 8 +Brand#25 |STANDARD BRUSHED NICKEL | 19| 8 +Brand#25 |STANDARD BRUSHED TIN | 36| 8 +Brand#25 |STANDARD BURNISHED NICKEL| 9| 8 +Brand#25 |STANDARD BURNISHED NICKEL| 19| 8 +Brand#25 |STANDARD BURNISHED STEEL | 14| 8 +Brand#25 |STANDARD BURNISHED STEEL | 36| 8 +Brand#25 |STANDARD BURNISHED STEEL | 45| 8 +Brand#25 |STANDARD BURNISHED TIN | 14| 8 +Brand#25 |STANDARD BURNISHED TIN | 19| 8 +Brand#25 |STANDARD PLATED BRASS | 19| 8 +Brand#25 |STANDARD PLATED COPPER | 14| 8 +Brand#25 |STANDARD PLATED COPPER | 36| 8 +Brand#25 |STANDARD PLATED COPPER | 45| 8 +Brand#25 |STANDARD PLATED STEEL | 45| 8 +Brand#25 |STANDARD PLATED TIN | 49| 8 +Brand#25 |STANDARD POLISHED BRASS | 19| 8 +Brand#25 |STANDARD POLISHED BRASS | 49| 8 +Brand#25 |STANDARD POLISHED NICKEL | 3| 8 +Brand#25 |STANDARD POLISHED STEEL | 19| 8 +Brand#25 |STANDARD POLISHED TIN | 36| 8 +Brand#25 |STANDARD POLISHED TIN | 45| 8 +Brand#25 |STANDARD POLISHED TIN | 49| 8 +Brand#31 |ECONOMY ANODIZED COPPER | 23| 8 +Brand#31 |ECONOMY ANODIZED NICKEL | 9| 8 +Brand#31 |ECONOMY ANODIZED NICKEL | 14| 8 +Brand#31 |ECONOMY ANODIZED STEEL | 3| 8 +Brand#31 |ECONOMY ANODIZED TIN | 3| 8 +Brand#31 |ECONOMY ANODIZED TIN | 19| 8 +Brand#31 |ECONOMY BRUSHED COPPER | 3| 8 +Brand#31 |ECONOMY BRUSHED COPPER | 9| 8 +Brand#31 |ECONOMY BRUSHED NICKEL | 9| 8 +Brand#31 |ECONOMY BRUSHED STEEL | 3| 8 +Brand#31 |ECONOMY BRUSHED STEEL | 19| 8 +Brand#31 |ECONOMY BRUSHED TIN | 23| 8 +Brand#31 |ECONOMY BURNISHED COPPER | 45| 8 +Brand#31 |ECONOMY BURNISHED STEEL | 3| 8 +Brand#31 |ECONOMY BURNISHED STEEL | 14| 8 +Brand#31 |ECONOMY BURNISHED STEEL | 19| 8 +Brand#31 |ECONOMY BURNISHED TIN | 3| 8 +Brand#31 |ECONOMY BURNISHED TIN | 45| 8 +Brand#31 |ECONOMY BURNISHED TIN | 49| 8 +Brand#31 |ECONOMY PLATED BRASS | 36| 8 +Brand#31 |ECONOMY PLATED COPPER | 19| 8 +Brand#31 |ECONOMY PLATED COPPER | 49| 8 +Brand#31 |ECONOMY PLATED NICKEL | 36| 8 +Brand#31 |ECONOMY PLATED STEEL | 23| 8 +Brand#31 |ECONOMY PLATED TIN | 3| 8 +Brand#31 |ECONOMY PLATED TIN | 36| 8 +Brand#31 |ECONOMY POLISHED BRASS | 9| 8 +Brand#31 |ECONOMY POLISHED BRASS | 23| 8 +Brand#31 |ECONOMY POLISHED COPPER | 49| 8 +Brand#31 |ECONOMY POLISHED NICKEL | 9| 8 +Brand#31 |ECONOMY POLISHED NICKEL | 45| 8 +Brand#31 |ECONOMY POLISHED STEEL | 49| 8 +Brand#31 |ECONOMY POLISHED TIN | 45| 8 +Brand#31 |LARGE ANODIZED BRASS | 3| 8 +Brand#31 |LARGE ANODIZED BRASS | 14| 8 +Brand#31 |LARGE ANODIZED BRASS | 36| 8 +Brand#31 |LARGE ANODIZED COPPER | 23| 8 +Brand#31 |LARGE ANODIZED COPPER | 45| 8 +Brand#31 |LARGE ANODIZED NICKEL | 49| 8 +Brand#31 |LARGE ANODIZED STEEL | 3| 8 +Brand#31 |LARGE ANODIZED STEEL | 9| 8 +Brand#31 |LARGE ANODIZED TIN | 9| 8 +Brand#31 |LARGE BRUSHED BRASS | 45| 8 +Brand#31 |LARGE BRUSHED BRASS | 49| 8 +Brand#31 |LARGE BRUSHED COPPER | 19| 8 +Brand#31 |LARGE BRUSHED NICKEL | 14| 8 +Brand#31 |LARGE BRUSHED NICKEL | 23| 8 +Brand#31 |LARGE BRUSHED STEEL | 14| 8 +Brand#31 |LARGE BRUSHED TIN | 45| 8 +Brand#31 |LARGE BURNISHED BRASS | 19| 8 +Brand#31 |LARGE BURNISHED BRASS | 23| 8 +Brand#31 |LARGE BURNISHED COPPER | 23| 8 +Brand#31 |LARGE BURNISHED COPPER | 45| 8 +Brand#31 |LARGE BURNISHED NICKEL | 9| 8 +Brand#31 |LARGE BURNISHED NICKEL | 19| 8 +Brand#31 |LARGE BURNISHED STEEL | 9| 8 +Brand#31 |LARGE BURNISHED STEEL | 36| 8 +Brand#31 |LARGE BURNISHED TIN | 14| 8 +Brand#31 |LARGE BURNISHED TIN | 23| 8 +Brand#31 |LARGE BURNISHED TIN | 49| 8 +Brand#31 |LARGE PLATED BRASS | 14| 8 +Brand#31 |LARGE PLATED COPPER | 19| 8 +Brand#31 |LARGE PLATED TIN | 9| 8 +Brand#31 |LARGE PLATED TIN | 36| 8 +Brand#31 |LARGE POLISHED BRASS | 45| 8 +Brand#31 |LARGE POLISHED COPPER | 3| 8 +Brand#31 |LARGE POLISHED COPPER | 9| 8 +Brand#31 |LARGE POLISHED COPPER | 19| 8 +Brand#31 |LARGE POLISHED NICKEL | 14| 8 +Brand#31 |LARGE POLISHED NICKEL | 19| 8 +Brand#31 |LARGE POLISHED TIN | 14| 8 +Brand#31 |LARGE POLISHED TIN | 19| 8 +Brand#31 |LARGE POLISHED TIN | 23| 8 +Brand#31 |MEDIUM ANODIZED BRASS | 19| 8 +Brand#31 |MEDIUM ANODIZED BRASS | 23| 8 +Brand#31 |MEDIUM ANODIZED COPPER | 14| 8 +Brand#31 |MEDIUM ANODIZED COPPER | 19| 8 +Brand#31 |MEDIUM ANODIZED STEEL | 49| 8 +Brand#31 |MEDIUM ANODIZED TIN | 19| 8 +Brand#31 |MEDIUM BRUSHED BRASS | 19| 8 +Brand#31 |MEDIUM BRUSHED BRASS | 36| 8 +Brand#31 |MEDIUM BRUSHED COPPER | 9| 8 +Brand#31 |MEDIUM BRUSHED COPPER | 23| 8 +Brand#31 |MEDIUM BRUSHED COPPER | 49| 8 +Brand#31 |MEDIUM BRUSHED STEEL | 23| 8 +Brand#31 |MEDIUM BRUSHED TIN | 49| 8 +Brand#31 |MEDIUM BURNISHED BRASS | 49| 8 +Brand#31 |MEDIUM BURNISHED NICKEL | 9| 8 +Brand#31 |MEDIUM BURNISHED NICKEL | 19| 8 +Brand#31 |MEDIUM BURNISHED NICKEL | 45| 8 +Brand#31 |MEDIUM BURNISHED STEEL | 19| 8 +Brand#31 |MEDIUM BURNISHED TIN | 3| 8 +Brand#31 |MEDIUM BURNISHED TIN | 14| 8 +Brand#31 |MEDIUM BURNISHED TIN | 23| 8 +Brand#31 |MEDIUM PLATED BRASS | 3| 8 +Brand#31 |MEDIUM PLATED COPPER | 14| 8 +Brand#31 |MEDIUM PLATED COPPER | 19| 8 +Brand#31 |MEDIUM PLATED TIN | 19| 8 +Brand#31 |PROMO ANODIZED BRASS | 3| 8 +Brand#31 |PROMO ANODIZED BRASS | 9| 8 +Brand#31 |PROMO ANODIZED BRASS | 14| 8 +Brand#31 |PROMO ANODIZED BRASS | 23| 8 +Brand#31 |PROMO ANODIZED COPPER | 23| 8 +Brand#31 |PROMO ANODIZED NICKEL | 3| 8 +Brand#31 |PROMO ANODIZED NICKEL | 36| 8 +Brand#31 |PROMO ANODIZED NICKEL | 45| 8 +Brand#31 |PROMO ANODIZED STEEL | 9| 8 +Brand#31 |PROMO ANODIZED STEEL | 49| 8 +Brand#31 |PROMO BRUSHED BRASS | 19| 8 +Brand#31 |PROMO BRUSHED BRASS | 23| 8 +Brand#31 |PROMO BRUSHED BRASS | 36| 8 +Brand#31 |PROMO BRUSHED COPPER | 45| 8 +Brand#31 |PROMO BRUSHED NICKEL | 23| 8 +Brand#31 |PROMO BRUSHED NICKEL | 49| 8 +Brand#31 |PROMO BRUSHED STEEL | 49| 8 +Brand#31 |PROMO BRUSHED TIN | 9| 8 +Brand#31 |PROMO BRUSHED TIN | 36| 8 +Brand#31 |PROMO BURNISHED COPPER | 3| 8 +Brand#31 |PROMO BURNISHED COPPER | 14| 8 +Brand#31 |PROMO BURNISHED COPPER | 19| 8 +Brand#31 |PROMO BURNISHED COPPER | 36| 8 +Brand#31 |PROMO BURNISHED NICKEL | 45| 8 +Brand#31 |PROMO BURNISHED STEEL | 19| 8 +Brand#31 |PROMO PLATED COPPER | 19| 8 +Brand#31 |PROMO PLATED COPPER | 36| 8 +Brand#31 |PROMO PLATED COPPER | 49| 8 +Brand#31 |PROMO PLATED NICKEL | 36| 8 +Brand#31 |PROMO PLATED STEEL | 19| 8 +Brand#31 |PROMO PLATED STEEL | 23| 8 +Brand#31 |PROMO PLATED TIN | 3| 8 +Brand#31 |PROMO PLATED TIN | 49| 8 +Brand#31 |PROMO POLISHED BRASS | 3| 8 +Brand#31 |PROMO POLISHED BRASS | 49| 8 +Brand#31 |PROMO POLISHED NICKEL | 3| 8 +Brand#31 |PROMO POLISHED TIN | 9| 8 +Brand#31 |PROMO POLISHED TIN | 45| 8 +Brand#31 |SMALL ANODIZED BRASS | 9| 8 +Brand#31 |SMALL ANODIZED BRASS | 36| 8 +Brand#31 |SMALL ANODIZED COPPER | 36| 8 +Brand#31 |SMALL ANODIZED COPPER | 45| 8 +Brand#31 |SMALL ANODIZED NICKEL | 14| 8 +Brand#31 |SMALL ANODIZED NICKEL | 49| 8 +Brand#31 |SMALL ANODIZED STEEL | 9| 8 +Brand#31 |SMALL ANODIZED STEEL | 45| 8 +Brand#31 |SMALL ANODIZED TIN | 23| 8 +Brand#31 |SMALL BRUSHED BRASS | 23| 8 +Brand#31 |SMALL BRUSHED NICKEL | 19| 8 +Brand#31 |SMALL BRUSHED NICKEL | 49| 8 +Brand#31 |SMALL BRUSHED STEEL | 36| 8 +Brand#31 |SMALL BRUSHED STEEL | 49| 8 +Brand#31 |SMALL BRUSHED TIN | 9| 8 +Brand#31 |SMALL BRUSHED TIN | 45| 8 +Brand#31 |SMALL BURNISHED NICKEL | 23| 8 +Brand#31 |SMALL BURNISHED STEEL | 3| 8 +Brand#31 |SMALL BURNISHED STEEL | 9| 8 +Brand#31 |SMALL BURNISHED STEEL | 19| 8 +Brand#31 |SMALL BURNISHED STEEL | 23| 8 +Brand#31 |SMALL BURNISHED STEEL | 36| 8 +Brand#31 |SMALL BURNISHED STEEL | 49| 8 +Brand#31 |SMALL BURNISHED TIN | 36| 8 +Brand#31 |SMALL PLATED BRASS | 23| 8 +Brand#31 |SMALL PLATED COPPER | 14| 8 +Brand#31 |SMALL PLATED COPPER | 19| 8 +Brand#31 |SMALL PLATED NICKEL | 36| 8 +Brand#31 |SMALL PLATED STEEL | 14| 8 +Brand#31 |SMALL PLATED STEEL | 36| 8 +Brand#31 |SMALL PLATED TIN | 3| 8 +Brand#31 |SMALL PLATED TIN | 36| 8 +Brand#31 |SMALL POLISHED BRASS | 3| 8 +Brand#31 |SMALL POLISHED BRASS | 14| 8 +Brand#31 |SMALL POLISHED BRASS | 19| 8 +Brand#31 |SMALL POLISHED COPPER | 3| 8 +Brand#31 |SMALL POLISHED COPPER | 36| 8 +Brand#31 |SMALL POLISHED NICKEL | 14| 8 +Brand#31 |SMALL POLISHED STEEL | 49| 8 +Brand#31 |SMALL POLISHED TIN | 23| 8 +Brand#31 |SMALL POLISHED TIN | 49| 8 +Brand#31 |STANDARD ANODIZED NICKEL | 9| 8 +Brand#31 |STANDARD ANODIZED NICKEL | 14| 8 +Brand#31 |STANDARD ANODIZED NICKEL | 45| 8 +Brand#31 |STANDARD ANODIZED STEEL | 19| 8 +Brand#31 |STANDARD ANODIZED STEEL | 45| 8 +Brand#31 |STANDARD ANODIZED TIN | 3| 8 +Brand#31 |STANDARD ANODIZED TIN | 9| 8 +Brand#31 |STANDARD ANODIZED TIN | 19| 8 +Brand#31 |STANDARD ANODIZED TIN | 36| 8 +Brand#31 |STANDARD BRUSHED BRASS | 9| 8 +Brand#31 |STANDARD BRUSHED BRASS | 36| 8 +Brand#31 |STANDARD BRUSHED COPPER | 36| 8 +Brand#31 |STANDARD BRUSHED NICKEL | 36| 8 +Brand#31 |STANDARD BRUSHED STEEL | 19| 8 +Brand#31 |STANDARD BRUSHED STEEL | 45| 8 +Brand#31 |STANDARD BRUSHED TIN | 23| 8 +Brand#31 |STANDARD BURNISHED BRASS | 9| 8 +Brand#31 |STANDARD BURNISHED BRASS | 36| 8 +Brand#31 |STANDARD BURNISHED COPPER| 9| 8 +Brand#31 |STANDARD BURNISHED COPPER| 14| 8 +Brand#31 |STANDARD BURNISHED NICKEL| 45| 8 +Brand#31 |STANDARD BURNISHED STEEL | 9| 8 +Brand#31 |STANDARD BURNISHED STEEL | 23| 8 +Brand#31 |STANDARD BURNISHED TIN | 3| 8 +Brand#31 |STANDARD BURNISHED TIN | 9| 8 +Brand#31 |STANDARD BURNISHED TIN | 36| 8 +Brand#31 |STANDARD PLATED COPPER | 3| 8 +Brand#31 |STANDARD PLATED COPPER | 23| 8 +Brand#31 |STANDARD PLATED COPPER | 49| 8 +Brand#31 |STANDARD PLATED NICKEL | 3| 8 +Brand#31 |STANDARD PLATED NICKEL | 9| 8 +Brand#31 |STANDARD PLATED NICKEL | 36| 8 +Brand#31 |STANDARD PLATED TIN | 14| 8 +Brand#31 |STANDARD PLATED TIN | 19| 8 +Brand#31 |STANDARD POLISHED BRASS | 14| 8 +Brand#31 |STANDARD POLISHED COPPER | 3| 8 +Brand#31 |STANDARD POLISHED COPPER | 23| 8 +Brand#31 |STANDARD POLISHED NICKEL | 19| 8 +Brand#31 |STANDARD POLISHED STEEL | 14| 8 +Brand#31 |STANDARD POLISHED TIN | 36| 8 +Brand#31 |STANDARD POLISHED TIN | 45| 8 +Brand#32 |ECONOMY ANODIZED BRASS | 19| 8 +Brand#32 |ECONOMY ANODIZED BRASS | 45| 8 +Brand#32 |ECONOMY ANODIZED COPPER | 49| 8 +Brand#32 |ECONOMY ANODIZED NICKEL | 14| 8 +Brand#32 |ECONOMY ANODIZED NICKEL | 19| 8 +Brand#32 |ECONOMY ANODIZED STEEL | 3| 8 +Brand#32 |ECONOMY ANODIZED STEEL | 45| 8 +Brand#32 |ECONOMY ANODIZED TIN | 49| 8 +Brand#32 |ECONOMY BRUSHED COPPER | 23| 8 +Brand#32 |ECONOMY BRUSHED NICKEL | 36| 8 +Brand#32 |ECONOMY BRUSHED STEEL | 14| 8 +Brand#32 |ECONOMY BRUSHED TIN | 14| 8 +Brand#32 |ECONOMY BRUSHED TIN | 45| 8 +Brand#32 |ECONOMY BURNISHED COPPER | 9| 8 +Brand#32 |ECONOMY BURNISHED NICKEL | 9| 8 +Brand#32 |ECONOMY BURNISHED NICKEL | 14| 8 +Brand#32 |ECONOMY BURNISHED NICKEL | 19| 8 +Brand#32 |ECONOMY BURNISHED NICKEL | 23| 8 +Brand#32 |ECONOMY BURNISHED STEEL | 14| 8 +Brand#32 |ECONOMY BURNISHED STEEL | 19| 8 +Brand#32 |ECONOMY BURNISHED STEEL | 36| 8 +Brand#32 |ECONOMY BURNISHED TIN | 9| 8 +Brand#32 |ECONOMY BURNISHED TIN | 45| 8 +Brand#32 |ECONOMY BURNISHED TIN | 49| 8 +Brand#32 |ECONOMY PLATED NICKEL | 3| 8 +Brand#32 |ECONOMY PLATED NICKEL | 14| 8 +Brand#32 |ECONOMY PLATED STEEL | 49| 8 +Brand#32 |ECONOMY PLATED TIN | 9| 8 +Brand#32 |ECONOMY POLISHED BRASS | 14| 8 +Brand#32 |ECONOMY POLISHED BRASS | 19| 8 +Brand#32 |ECONOMY POLISHED BRASS | 49| 8 +Brand#32 |ECONOMY POLISHED COPPER | 3| 8 +Brand#32 |ECONOMY POLISHED COPPER | 23| 8 +Brand#32 |ECONOMY POLISHED NICKEL | 9| 8 +Brand#32 |ECONOMY POLISHED NICKEL | 23| 8 +Brand#32 |ECONOMY POLISHED NICKEL | 49| 8 +Brand#32 |ECONOMY POLISHED STEEL | 19| 8 +Brand#32 |ECONOMY POLISHED STEEL | 36| 8 +Brand#32 |ECONOMY POLISHED TIN | 9| 8 +Brand#32 |LARGE ANODIZED BRASS | 9| 8 +Brand#32 |LARGE ANODIZED NICKEL | 45| 8 +Brand#32 |LARGE ANODIZED STEEL | 3| 8 +Brand#32 |LARGE ANODIZED STEEL | 49| 8 +Brand#32 |LARGE ANODIZED TIN | 9| 8 +Brand#32 |LARGE BRUSHED BRASS | 3| 8 +Brand#32 |LARGE BRUSHED COPPER | 9| 8 +Brand#32 |LARGE BRUSHED COPPER | 14| 8 +Brand#32 |LARGE BRUSHED NICKEL | 45| 8 +Brand#32 |LARGE BRUSHED TIN | 36| 8 +Brand#32 |LARGE BURNISHED BRASS | 9| 8 +Brand#32 |LARGE BURNISHED BRASS | 23| 8 +Brand#32 |LARGE BURNISHED BRASS | 36| 8 +Brand#32 |LARGE BURNISHED NICKEL | 3| 8 +Brand#32 |LARGE BURNISHED STEEL | 49| 8 +Brand#32 |LARGE BURNISHED TIN | 23| 8 +Brand#32 |LARGE BURNISHED TIN | 45| 8 +Brand#32 |LARGE BURNISHED TIN | 49| 8 +Brand#32 |LARGE PLATED BRASS | 14| 8 +Brand#32 |LARGE PLATED BRASS | 45| 8 +Brand#32 |LARGE PLATED BRASS | 49| 8 +Brand#32 |LARGE PLATED NICKEL | 14| 8 +Brand#32 |LARGE PLATED STEEL | 19| 8 +Brand#32 |LARGE PLATED TIN | 14| 8 +Brand#32 |LARGE POLISHED BRASS | 45| 8 +Brand#32 |LARGE POLISHED COPPER | 3| 8 +Brand#32 |LARGE POLISHED COPPER | 9| 8 +Brand#32 |LARGE POLISHED STEEL | 49| 8 +Brand#32 |LARGE POLISHED TIN | 14| 8 +Brand#32 |LARGE POLISHED TIN | 49| 8 +Brand#32 |MEDIUM ANODIZED BRASS | 3| 8 +Brand#32 |MEDIUM ANODIZED BRASS | 23| 8 +Brand#32 |MEDIUM ANODIZED COPPER | 3| 8 +Brand#32 |MEDIUM ANODIZED STEEL | 9| 8 +Brand#32 |MEDIUM ANODIZED TIN | 9| 8 +Brand#32 |MEDIUM BRUSHED BRASS | 3| 8 +Brand#32 |MEDIUM BRUSHED BRASS | 36| 8 +Brand#32 |MEDIUM BRUSHED COPPER | 23| 8 +Brand#32 |MEDIUM BRUSHED TIN | 3| 8 +Brand#32 |MEDIUM BRUSHED TIN | 23| 8 +Brand#32 |MEDIUM BURNISHED BRASS | 19| 8 +Brand#32 |MEDIUM BURNISHED BRASS | 45| 8 +Brand#32 |MEDIUM BURNISHED BRASS | 49| 8 +Brand#32 |MEDIUM BURNISHED COPPER | 9| 8 +Brand#32 |MEDIUM BURNISHED COPPER | 36| 8 +Brand#32 |MEDIUM BURNISHED NICKEL | 49| 8 +Brand#32 |MEDIUM BURNISHED STEEL | 9| 8 +Brand#32 |MEDIUM BURNISHED TIN | 9| 8 +Brand#32 |MEDIUM PLATED BRASS | 3| 8 +Brand#32 |MEDIUM PLATED COPPER | 3| 8 +Brand#32 |MEDIUM PLATED COPPER | 9| 8 +Brand#32 |MEDIUM PLATED COPPER | 23| 8 +Brand#32 |MEDIUM PLATED NICKEL | 23| 8 +Brand#32 |MEDIUM PLATED STEEL | 3| 8 +Brand#32 |MEDIUM PLATED STEEL | 9| 8 +Brand#32 |PROMO ANODIZED BRASS | 3| 8 +Brand#32 |PROMO ANODIZED BRASS | 9| 8 +Brand#32 |PROMO ANODIZED COPPER | 19| 8 +Brand#32 |PROMO ANODIZED NICKEL | 9| 8 +Brand#32 |PROMO ANODIZED NICKEL | 14| 8 +Brand#32 |PROMO ANODIZED NICKEL | 19| 8 +Brand#32 |PROMO ANODIZED STEEL | 3| 8 +Brand#32 |PROMO ANODIZED STEEL | 23| 8 +Brand#32 |PROMO BRUSHED BRASS | 36| 8 +Brand#32 |PROMO BRUSHED COPPER | 23| 8 +Brand#32 |PROMO BRUSHED NICKEL | 23| 8 +Brand#32 |PROMO BRUSHED NICKEL | 36| 8 +Brand#32 |PROMO BRUSHED STEEL | 3| 8 +Brand#32 |PROMO BRUSHED TIN | 23| 8 +Brand#32 |PROMO BURNISHED BRASS | 14| 8 +Brand#32 |PROMO BURNISHED BRASS | 45| 8 +Brand#32 |PROMO BURNISHED COPPER | 3| 8 +Brand#32 |PROMO BURNISHED COPPER | 19| 8 +Brand#32 |PROMO BURNISHED COPPER | 49| 8 +Brand#32 |PROMO BURNISHED NICKEL | 3| 8 +Brand#32 |PROMO BURNISHED NICKEL | 19| 8 +Brand#32 |PROMO BURNISHED NICKEL | 49| 8 +Brand#32 |PROMO BURNISHED TIN | 3| 8 +Brand#32 |PROMO BURNISHED TIN | 14| 8 +Brand#32 |PROMO BURNISHED TIN | 45| 8 +Brand#32 |PROMO PLATED BRASS | 9| 8 +Brand#32 |PROMO PLATED COPPER | 19| 8 +Brand#32 |PROMO PLATED NICKEL | 49| 8 +Brand#32 |PROMO PLATED STEEL | 14| 8 +Brand#32 |PROMO PLATED TIN | 19| 8 +Brand#32 |PROMO POLISHED BRASS | 3| 8 +Brand#32 |PROMO POLISHED BRASS | 23| 8 +Brand#32 |PROMO POLISHED BRASS | 49| 8 +Brand#32 |PROMO POLISHED NICKEL | 3| 8 +Brand#32 |PROMO POLISHED NICKEL | 36| 8 +Brand#32 |PROMO POLISHED STEEL | 3| 8 +Brand#32 |PROMO POLISHED TIN | 3| 8 +Brand#32 |PROMO POLISHED TIN | 9| 8 +Brand#32 |PROMO POLISHED TIN | 14| 8 +Brand#32 |PROMO POLISHED TIN | 36| 8 +Brand#32 |SMALL ANODIZED BRASS | 3| 8 +Brand#32 |SMALL ANODIZED BRASS | 49| 8 +Brand#32 |SMALL ANODIZED COPPER | 23| 8 +Brand#32 |SMALL ANODIZED STEEL | 3| 8 +Brand#32 |SMALL ANODIZED STEEL | 23| 8 +Brand#32 |SMALL ANODIZED TIN | 49| 8 +Brand#32 |SMALL BRUSHED BRASS | 36| 8 +Brand#32 |SMALL BRUSHED COPPER | 14| 8 +Brand#32 |SMALL BRUSHED COPPER | 23| 8 +Brand#32 |SMALL BRUSHED NICKEL | 3| 8 +Brand#32 |SMALL BRUSHED NICKEL | 36| 8 +Brand#32 |SMALL BRUSHED STEEL | 9| 8 +Brand#32 |SMALL BURNISHED BRASS | 9| 8 +Brand#32 |SMALL BURNISHED BRASS | 36| 8 +Brand#32 |SMALL BURNISHED BRASS | 49| 8 +Brand#32 |SMALL BURNISHED COPPER | 45| 8 +Brand#32 |SMALL BURNISHED NICKEL | 9| 8 +Brand#32 |SMALL BURNISHED STEEL | 3| 8 +Brand#32 |SMALL BURNISHED STEEL | 9| 8 +Brand#32 |SMALL BURNISHED STEEL | 14| 8 +Brand#32 |SMALL BURNISHED STEEL | 23| 8 +Brand#32 |SMALL BURNISHED TIN | 19| 8 +Brand#32 |SMALL BURNISHED TIN | 45| 8 +Brand#32 |SMALL PLATED COPPER | 23| 8 +Brand#32 |SMALL PLATED COPPER | 36| 8 +Brand#32 |SMALL PLATED NICKEL | 9| 8 +Brand#32 |SMALL PLATED STEEL | 3| 8 +Brand#32 |SMALL PLATED STEEL | 19| 8 +Brand#32 |SMALL PLATED TIN | 23| 8 +Brand#32 |SMALL PLATED TIN | 36| 8 +Brand#32 |SMALL PLATED TIN | 45| 8 +Brand#32 |SMALL POLISHED BRASS | 3| 8 +Brand#32 |SMALL POLISHED BRASS | 45| 8 +Brand#32 |SMALL POLISHED COPPER | 9| 8 +Brand#32 |SMALL POLISHED COPPER | 14| 8 +Brand#32 |SMALL POLISHED NICKEL | 49| 8 +Brand#32 |SMALL POLISHED STEEL | 3| 8 +Brand#32 |SMALL POLISHED STEEL | 14| 8 +Brand#32 |SMALL POLISHED STEEL | 45| 8 +Brand#32 |SMALL POLISHED TIN | 19| 8 +Brand#32 |SMALL POLISHED TIN | 45| 8 +Brand#32 |STANDARD ANODIZED BRASS | 19| 8 +Brand#32 |STANDARD ANODIZED NICKEL | 19| 8 +Brand#32 |STANDARD ANODIZED STEEL | 9| 8 +Brand#32 |STANDARD ANODIZED STEEL | 45| 8 +Brand#32 |STANDARD ANODIZED STEEL | 49| 8 +Brand#32 |STANDARD ANODIZED TIN | 36| 8 +Brand#32 |STANDARD BRUSHED COPPER | 36| 8 +Brand#32 |STANDARD BRUSHED NICKEL | 14| 8 +Brand#32 |STANDARD BRUSHED NICKEL | 19| 8 +Brand#32 |STANDARD BRUSHED STEEL | 3| 8 +Brand#32 |STANDARD BRUSHED TIN | 45| 8 +Brand#32 |STANDARD BURNISHED BRASS | 14| 8 +Brand#32 |STANDARD BURNISHED NICKEL| 14| 8 +Brand#32 |STANDARD BURNISHED NICKEL| 23| 8 +Brand#32 |STANDARD BURNISHED NICKEL| 49| 8 +Brand#32 |STANDARD BURNISHED STEEL | 14| 8 +Brand#32 |STANDARD BURNISHED STEEL | 45| 8 +Brand#32 |STANDARD BURNISHED STEEL | 49| 8 +Brand#32 |STANDARD BURNISHED TIN | 14| 8 +Brand#32 |STANDARD BURNISHED TIN | 23| 8 +Brand#32 |STANDARD PLATED BRASS | 3| 8 +Brand#32 |STANDARD PLATED BRASS | 9| 8 +Brand#32 |STANDARD PLATED COPPER | 9| 8 +Brand#32 |STANDARD PLATED COPPER | 14| 8 +Brand#32 |STANDARD PLATED NICKEL | 19| 8 +Brand#32 |STANDARD PLATED TIN | 9| 8 +Brand#32 |STANDARD POLISHED COPPER | 3| 8 +Brand#32 |STANDARD POLISHED COPPER | 23| 8 +Brand#32 |STANDARD POLISHED NICKEL | 9| 8 +Brand#32 |STANDARD POLISHED NICKEL | 14| 8 +Brand#32 |STANDARD POLISHED NICKEL | 49| 8 +Brand#32 |STANDARD POLISHED STEEL | 23| 8 +Brand#33 |ECONOMY ANODIZED BRASS | 3| 8 +Brand#33 |ECONOMY ANODIZED BRASS | 19| 8 +Brand#33 |ECONOMY ANODIZED COPPER | 3| 8 +Brand#33 |ECONOMY ANODIZED COPPER | 9| 8 +Brand#33 |ECONOMY ANODIZED COPPER | 23| 8 +Brand#33 |ECONOMY ANODIZED NICKEL | 3| 8 +Brand#33 |ECONOMY ANODIZED NICKEL | 23| 8 +Brand#33 |ECONOMY ANODIZED STEEL | 19| 8 +Brand#33 |ECONOMY BRUSHED BRASS | 14| 8 +Brand#33 |ECONOMY BRUSHED BRASS | 45| 8 +Brand#33 |ECONOMY BRUSHED COPPER | 9| 8 +Brand#33 |ECONOMY BRUSHED COPPER | 23| 8 +Brand#33 |ECONOMY BRUSHED COPPER | 45| 8 +Brand#33 |ECONOMY BRUSHED NICKEL | 14| 8 +Brand#33 |ECONOMY BRUSHED NICKEL | 45| 8 +Brand#33 |ECONOMY BRUSHED STEEL | 19| 8 +Brand#33 |ECONOMY BRUSHED TIN | 3| 8 +Brand#33 |ECONOMY BURNISHED BRASS | 3| 8 +Brand#33 |ECONOMY BURNISHED BRASS | 45| 8 +Brand#33 |ECONOMY BURNISHED BRASS | 49| 8 +Brand#33 |ECONOMY BURNISHED COPPER | 3| 8 +Brand#33 |ECONOMY BURNISHED COPPER | 14| 8 +Brand#33 |ECONOMY BURNISHED COPPER | 19| 8 +Brand#33 |ECONOMY BURNISHED STEEL | 9| 8 +Brand#33 |ECONOMY BURNISHED STEEL | 36| 8 +Brand#33 |ECONOMY BURNISHED TIN | 9| 8 +Brand#33 |ECONOMY PLATED BRASS | 3| 8 +Brand#33 |ECONOMY PLATED BRASS | 9| 8 +Brand#33 |ECONOMY PLATED BRASS | 19| 8 +Brand#33 |ECONOMY PLATED COPPER | 9| 8 +Brand#33 |ECONOMY PLATED COPPER | 14| 8 +Brand#33 |ECONOMY PLATED COPPER | 23| 8 +Brand#33 |ECONOMY PLATED COPPER | 49| 8 +Brand#33 |ECONOMY PLATED NICKEL | 3| 8 +Brand#33 |ECONOMY PLATED NICKEL | 36| 8 +Brand#33 |ECONOMY PLATED STEEL | 9| 8 +Brand#33 |ECONOMY PLATED STEEL | 19| 8 +Brand#33 |ECONOMY PLATED STEEL | 23| 8 +Brand#33 |ECONOMY POLISHED BRASS | 19| 8 +Brand#33 |ECONOMY POLISHED NICKEL | 14| 8 +Brand#33 |ECONOMY POLISHED STEEL | 9| 8 +Brand#33 |LARGE ANODIZED BRASS | 9| 8 +Brand#33 |LARGE ANODIZED BRASS | 49| 8 +Brand#33 |LARGE ANODIZED COPPER | 3| 8 +Brand#33 |LARGE ANODIZED COPPER | 19| 8 +Brand#33 |LARGE ANODIZED NICKEL | 19| 8 +Brand#33 |LARGE ANODIZED NICKEL | 45| 8 +Brand#33 |LARGE ANODIZED NICKEL | 49| 8 +Brand#33 |LARGE BRUSHED BRASS | 3| 8 +Brand#33 |LARGE BRUSHED BRASS | 14| 8 +Brand#33 |LARGE BRUSHED BRASS | 19| 8 +Brand#33 |LARGE BRUSHED BRASS | 49| 8 +Brand#33 |LARGE BRUSHED COPPER | 19| 8 +Brand#33 |LARGE BRUSHED COPPER | 49| 8 +Brand#33 |LARGE BRUSHED NICKEL | 9| 8 +Brand#33 |LARGE BRUSHED NICKEL | 14| 8 +Brand#33 |LARGE BRUSHED NICKEL | 49| 8 +Brand#33 |LARGE BRUSHED STEEL | 36| 8 +Brand#33 |LARGE BRUSHED TIN | 3| 8 +Brand#33 |LARGE BRUSHED TIN | 23| 8 +Brand#33 |LARGE BURNISHED BRASS | 3| 8 +Brand#33 |LARGE BURNISHED BRASS | 9| 8 +Brand#33 |LARGE BURNISHED COPPER | 14| 8 +Brand#33 |LARGE BURNISHED NICKEL | 3| 8 +Brand#33 |LARGE BURNISHED TIN | 9| 8 +Brand#33 |LARGE BURNISHED TIN | 14| 8 +Brand#33 |LARGE BURNISHED TIN | 45| 8 +Brand#33 |LARGE PLATED BRASS | 3| 8 +Brand#33 |LARGE PLATED BRASS | 45| 8 +Brand#33 |LARGE PLATED NICKEL | 3| 8 +Brand#33 |LARGE PLATED STEEL | 3| 8 +Brand#33 |LARGE PLATED STEEL | 14| 8 +Brand#33 |LARGE PLATED TIN | 36| 8 +Brand#33 |LARGE POLISHED BRASS | 23| 8 +Brand#33 |LARGE POLISHED NICKEL | 3| 8 +Brand#33 |LARGE POLISHED NICKEL | 14| 8 +Brand#33 |LARGE POLISHED STEEL | 36| 8 +Brand#33 |LARGE POLISHED TIN | 9| 8 +Brand#33 |LARGE POLISHED TIN | 36| 8 +Brand#33 |MEDIUM ANODIZED BRASS | 3| 8 +Brand#33 |MEDIUM ANODIZED COPPER | 3| 8 +Brand#33 |MEDIUM ANODIZED COPPER | 9| 8 +Brand#33 |MEDIUM ANODIZED STEEL | 3| 8 +Brand#33 |MEDIUM ANODIZED STEEL | 9| 8 +Brand#33 |MEDIUM ANODIZED TIN | 9| 8 +Brand#33 |MEDIUM ANODIZED TIN | 23| 8 +Brand#33 |MEDIUM ANODIZED TIN | 36| 8 +Brand#33 |MEDIUM BRUSHED BRASS | 19| 8 +Brand#33 |MEDIUM BRUSHED BRASS | 23| 8 +Brand#33 |MEDIUM BRUSHED COPPER | 14| 8 +Brand#33 |MEDIUM BRUSHED NICKEL | 23| 8 +Brand#33 |MEDIUM BRUSHED NICKEL | 45| 8 +Brand#33 |MEDIUM BURNISHED BRASS | 3| 8 +Brand#33 |MEDIUM BURNISHED COPPER | 14| 8 +Brand#33 |MEDIUM BURNISHED COPPER | 45| 8 +Brand#33 |MEDIUM BURNISHED COPPER | 49| 8 +Brand#33 |MEDIUM BURNISHED NICKEL | 9| 8 +Brand#33 |MEDIUM BURNISHED NICKEL | 19| 8 +Brand#33 |MEDIUM BURNISHED STEEL | 14| 8 +Brand#33 |MEDIUM BURNISHED TIN | 36| 8 +Brand#33 |MEDIUM PLATED BRASS | 3| 8 +Brand#33 |MEDIUM PLATED BRASS | 19| 8 +Brand#33 |MEDIUM PLATED NICKEL | 3| 8 +Brand#33 |MEDIUM PLATED NICKEL | 9| 8 +Brand#33 |MEDIUM PLATED NICKEL | 23| 8 +Brand#33 |MEDIUM PLATED NICKEL | 36| 8 +Brand#33 |MEDIUM PLATED NICKEL | 45| 8 +Brand#33 |MEDIUM PLATED STEEL | 14| 8 +Brand#33 |MEDIUM PLATED TIN | 14| 8 +Brand#33 |PROMO ANODIZED BRASS | 3| 8 +Brand#33 |PROMO ANODIZED BRASS | 9| 8 +Brand#33 |PROMO ANODIZED BRASS | 49| 8 +Brand#33 |PROMO ANODIZED COPPER | 14| 8 +Brand#33 |PROMO ANODIZED COPPER | 19| 8 +Brand#33 |PROMO ANODIZED NICKEL | 45| 8 +Brand#33 |PROMO ANODIZED STEEL | 9| 8 +Brand#33 |PROMO ANODIZED TIN | 45| 8 +Brand#33 |PROMO BRUSHED COPPER | 3| 8 +Brand#33 |PROMO BRUSHED COPPER | 9| 8 +Brand#33 |PROMO BRUSHED COPPER | 45| 8 +Brand#33 |PROMO BRUSHED COPPER | 49| 8 +Brand#33 |PROMO BRUSHED NICKEL | 14| 8 +Brand#33 |PROMO BRUSHED NICKEL | 36| 8 +Brand#33 |PROMO BRUSHED NICKEL | 49| 8 +Brand#33 |PROMO BRUSHED STEEL | 9| 8 +Brand#33 |PROMO BRUSHED STEEL | 49| 8 +Brand#33 |PROMO BRUSHED TIN | 3| 8 +Brand#33 |PROMO BRUSHED TIN | 9| 8 +Brand#33 |PROMO BURNISHED BRASS | 45| 8 +Brand#33 |PROMO BURNISHED BRASS | 49| 8 +Brand#33 |PROMO BURNISHED COPPER | 3| 8 +Brand#33 |PROMO BURNISHED COPPER | 23| 8 +Brand#33 |PROMO BURNISHED NICKEL | 3| 8 +Brand#33 |PROMO BURNISHED NICKEL | 14| 8 +Brand#33 |PROMO BURNISHED NICKEL | 19| 8 +Brand#33 |PROMO BURNISHED STEEL | 3| 8 +Brand#33 |PROMO BURNISHED STEEL | 14| 8 +Brand#33 |PROMO BURNISHED STEEL | 19| 8 +Brand#33 |PROMO BURNISHED STEEL | 36| 8 +Brand#33 |PROMO BURNISHED STEEL | 45| 8 +Brand#33 |PROMO PLATED BRASS | 3| 8 +Brand#33 |PROMO PLATED BRASS | 9| 8 +Brand#33 |PROMO PLATED BRASS | 45| 8 +Brand#33 |PROMO PLATED COPPER | 14| 8 +Brand#33 |PROMO PLATED COPPER | 19| 8 +Brand#33 |PROMO PLATED COPPER | 45| 8 +Brand#33 |PROMO PLATED NICKEL | 45| 8 +Brand#33 |PROMO PLATED STEEL | 9| 8 +Brand#33 |PROMO POLISHED BRASS | 3| 8 +Brand#33 |PROMO POLISHED BRASS | 9| 8 +Brand#33 |PROMO POLISHED BRASS | 14| 8 +Brand#33 |PROMO POLISHED BRASS | 36| 8 +Brand#33 |PROMO POLISHED BRASS | 49| 8 +Brand#33 |PROMO POLISHED COPPER | 45| 8 +Brand#33 |PROMO POLISHED NICKEL | 9| 8 +Brand#33 |PROMO POLISHED NICKEL | 49| 8 +Brand#33 |PROMO POLISHED STEEL | 3| 8 +Brand#33 |PROMO POLISHED STEEL | 19| 8 +Brand#33 |PROMO POLISHED TIN | 14| 8 +Brand#33 |PROMO POLISHED TIN | 45| 8 +Brand#33 |PROMO POLISHED TIN | 49| 8 +Brand#33 |SMALL ANODIZED BRASS | 23| 8 +Brand#33 |SMALL ANODIZED COPPER | 3| 8 +Brand#33 |SMALL ANODIZED COPPER | 14| 8 +Brand#33 |SMALL ANODIZED COPPER | 45| 8 +Brand#33 |SMALL ANODIZED COPPER | 49| 8 +Brand#33 |SMALL ANODIZED NICKEL | 3| 8 +Brand#33 |SMALL ANODIZED NICKEL | 45| 8 +Brand#33 |SMALL ANODIZED STEEL | 3| 8 +Brand#33 |SMALL ANODIZED STEEL | 9| 8 +Brand#33 |SMALL ANODIZED TIN | 49| 8 +Brand#33 |SMALL BRUSHED BRASS | 9| 8 +Brand#33 |SMALL BRUSHED BRASS | 23| 8 +Brand#33 |SMALL BRUSHED BRASS | 49| 8 +Brand#33 |SMALL BRUSHED STEEL | 3| 8 +Brand#33 |SMALL BRUSHED TIN | 9| 8 +Brand#33 |SMALL BRUSHED TIN | 19| 8 +Brand#33 |SMALL BURNISHED BRASS | 9| 8 +Brand#33 |SMALL BURNISHED BRASS | 14| 8 +Brand#33 |SMALL BURNISHED BRASS | 23| 8 +Brand#33 |SMALL BURNISHED COPPER | 36| 8 +Brand#33 |SMALL BURNISHED STEEL | 9| 8 +Brand#33 |SMALL BURNISHED STEEL | 14| 8 +Brand#33 |SMALL BURNISHED TIN | 23| 8 +Brand#33 |SMALL BURNISHED TIN | 36| 8 +Brand#33 |SMALL BURNISHED TIN | 45| 8 +Brand#33 |SMALL PLATED BRASS | 9| 8 +Brand#33 |SMALL PLATED BRASS | 49| 8 +Brand#33 |SMALL PLATED NICKEL | 14| 8 +Brand#33 |SMALL PLATED NICKEL | 19| 8 +Brand#33 |SMALL PLATED NICKEL | 36| 8 +Brand#33 |SMALL PLATED STEEL | 14| 8 +Brand#33 |SMALL PLATED STEEL | 23| 8 +Brand#33 |SMALL PLATED TIN | 23| 8 +Brand#33 |SMALL PLATED TIN | 36| 8 +Brand#33 |SMALL PLATED TIN | 49| 8 +Brand#33 |SMALL POLISHED BRASS | 9| 8 +Brand#33 |SMALL POLISHED BRASS | 23| 8 +Brand#33 |SMALL POLISHED BRASS | 45| 8 +Brand#33 |SMALL POLISHED COPPER | 3| 8 +Brand#33 |SMALL POLISHED STEEL | 23| 8 +Brand#33 |SMALL POLISHED STEEL | 49| 8 +Brand#33 |SMALL POLISHED TIN | 19| 8 +Brand#33 |SMALL POLISHED TIN | 23| 8 +Brand#33 |SMALL POLISHED TIN | 45| 8 +Brand#33 |STANDARD ANODIZED COPPER | 3| 8 +Brand#33 |STANDARD ANODIZED COPPER | 19| 8 +Brand#33 |STANDARD ANODIZED COPPER | 23| 8 +Brand#33 |STANDARD ANODIZED COPPER | 49| 8 +Brand#33 |STANDARD ANODIZED NICKEL | 45| 8 +Brand#33 |STANDARD ANODIZED STEEL | 19| 8 +Brand#33 |STANDARD ANODIZED STEEL | 36| 8 +Brand#33 |STANDARD ANODIZED STEEL | 49| 8 +Brand#33 |STANDARD ANODIZED TIN | 23| 8 +Brand#33 |STANDARD ANODIZED TIN | 49| 8 +Brand#33 |STANDARD BRUSHED BRASS | 9| 8 +Brand#33 |STANDARD BRUSHED COPPER | 3| 8 +Brand#33 |STANDARD BRUSHED COPPER | 19| 8 +Brand#33 |STANDARD BRUSHED COPPER | 36| 8 +Brand#33 |STANDARD BRUSHED NICKEL | 23| 8 +Brand#33 |STANDARD BRUSHED NICKEL | 49| 8 +Brand#33 |STANDARD BRUSHED STEEL | 9| 8 +Brand#33 |STANDARD BRUSHED TIN | 19| 8 +Brand#33 |STANDARD BURNISHED BRASS | 14| 8 +Brand#33 |STANDARD BURNISHED BRASS | 23| 8 +Brand#33 |STANDARD BURNISHED BRASS | 49| 8 +Brand#33 |STANDARD BURNISHED COPPER| 19| 8 +Brand#33 |STANDARD BURNISHED NICKEL| 36| 8 +Brand#33 |STANDARD BURNISHED STEEL | 36| 8 +Brand#33 |STANDARD PLATED BRASS | 14| 8 +Brand#33 |STANDARD PLATED BRASS | 36| 8 +Brand#33 |STANDARD PLATED BRASS | 45| 8 +Brand#33 |STANDARD PLATED BRASS | 49| 8 +Brand#33 |STANDARD PLATED COPPER | 14| 8 +Brand#33 |STANDARD PLATED COPPER | 19| 8 +Brand#33 |STANDARD PLATED COPPER | 45| 8 +Brand#33 |STANDARD PLATED COPPER | 49| 8 +Brand#33 |STANDARD PLATED NICKEL | 36| 8 +Brand#33 |STANDARD PLATED STEEL | 3| 8 +Brand#33 |STANDARD PLATED STEEL | 9| 8 +Brand#33 |STANDARD PLATED STEEL | 23| 8 +Brand#33 |STANDARD PLATED STEEL | 49| 8 +Brand#33 |STANDARD PLATED TIN | 14| 8 +Brand#33 |STANDARD PLATED TIN | 49| 8 +Brand#33 |STANDARD POLISHED BRASS | 19| 8 +Brand#33 |STANDARD POLISHED COPPER | 3| 8 +Brand#33 |STANDARD POLISHED COPPER | 9| 8 +Brand#33 |STANDARD POLISHED COPPER | 23| 8 +Brand#33 |STANDARD POLISHED NICKEL | 14| 8 +Brand#33 |STANDARD POLISHED STEEL | 14| 8 +Brand#33 |STANDARD POLISHED STEEL | 19| 8 +Brand#33 |STANDARD POLISHED STEEL | 49| 8 +Brand#34 |ECONOMY ANODIZED BRASS | 14| 8 +Brand#34 |ECONOMY ANODIZED COPPER | 9| 8 +Brand#34 |ECONOMY ANODIZED COPPER | 14| 8 +Brand#34 |ECONOMY ANODIZED COPPER | 45| 8 +Brand#34 |ECONOMY ANODIZED STEEL | 49| 8 +Brand#34 |ECONOMY ANODIZED TIN | 19| 8 +Brand#34 |ECONOMY ANODIZED TIN | 23| 8 +Brand#34 |ECONOMY ANODIZED TIN | 36| 8 +Brand#34 |ECONOMY ANODIZED TIN | 49| 8 +Brand#34 |ECONOMY BRUSHED BRASS | 9| 8 +Brand#34 |ECONOMY BRUSHED BRASS | 14| 8 +Brand#34 |ECONOMY BRUSHED BRASS | 36| 8 +Brand#34 |ECONOMY BRUSHED COPPER | 3| 8 +Brand#34 |ECONOMY BRUSHED NICKEL | 23| 8 +Brand#34 |ECONOMY BRUSHED STEEL | 3| 8 +Brand#34 |ECONOMY BRUSHED STEEL | 19| 8 +Brand#34 |ECONOMY BRUSHED TIN | 14| 8 +Brand#34 |ECONOMY BURNISHED NICKEL | 45| 8 +Brand#34 |ECONOMY BURNISHED TIN | 3| 8 +Brand#34 |ECONOMY BURNISHED TIN | 9| 8 +Brand#34 |ECONOMY BURNISHED TIN | 19| 8 +Brand#34 |ECONOMY PLATED BRASS | 9| 8 +Brand#34 |ECONOMY PLATED BRASS | 14| 8 +Brand#34 |ECONOMY PLATED BRASS | 45| 8 +Brand#34 |ECONOMY PLATED COPPER | 49| 8 +Brand#34 |ECONOMY PLATED NICKEL | 23| 8 +Brand#34 |ECONOMY PLATED NICKEL | 36| 8 +Brand#34 |ECONOMY PLATED NICKEL | 45| 8 +Brand#34 |ECONOMY PLATED STEEL | 3| 8 +Brand#34 |ECONOMY PLATED STEEL | 9| 8 +Brand#34 |ECONOMY PLATED TIN | 45| 8 +Brand#34 |ECONOMY POLISHED BRASS | 14| 8 +Brand#34 |ECONOMY POLISHED BRASS | 19| 8 +Brand#34 |ECONOMY POLISHED BRASS | 36| 8 +Brand#34 |ECONOMY POLISHED COPPER | 14| 8 +Brand#34 |ECONOMY POLISHED COPPER | 19| 8 +Brand#34 |ECONOMY POLISHED COPPER | 45| 8 +Brand#34 |ECONOMY POLISHED STEEL | 14| 8 +Brand#34 |ECONOMY POLISHED STEEL | 23| 8 +Brand#34 |ECONOMY POLISHED STEEL | 45| 8 +Brand#34 |LARGE ANODIZED TIN | 36| 8 +Brand#34 |LARGE BRUSHED BRASS | 14| 8 +Brand#34 |LARGE BRUSHED BRASS | 49| 8 +Brand#34 |LARGE BRUSHED STEEL | 19| 8 +Brand#34 |LARGE BRUSHED STEEL | 49| 8 +Brand#34 |LARGE BRUSHED TIN | 9| 8 +Brand#34 |LARGE BURNISHED BRASS | 36| 8 +Brand#34 |LARGE BURNISHED BRASS | 45| 8 +Brand#34 |LARGE BURNISHED COPPER | 3| 8 +Brand#34 |LARGE BURNISHED COPPER | 14| 8 +Brand#34 |LARGE BURNISHED COPPER | 36| 8 +Brand#34 |LARGE BURNISHED NICKEL | 3| 8 +Brand#34 |LARGE BURNISHED STEEL | 19| 8 +Brand#34 |LARGE BURNISHED TIN | 3| 8 +Brand#34 |LARGE PLATED COPPER | 3| 8 +Brand#34 |LARGE PLATED COPPER | 14| 8 +Brand#34 |LARGE PLATED COPPER | 36| 8 +Brand#34 |LARGE PLATED COPPER | 49| 8 +Brand#34 |LARGE PLATED NICKEL | 14| 8 +Brand#34 |LARGE PLATED STEEL | 23| 8 +Brand#34 |LARGE PLATED TIN | 19| 8 +Brand#34 |LARGE POLISHED BRASS | 23| 8 +Brand#34 |LARGE POLISHED COPPER | 9| 8 +Brand#34 |LARGE POLISHED NICKEL | 19| 8 +Brand#34 |LARGE POLISHED STEEL | 3| 8 +Brand#34 |LARGE POLISHED STEEL | 23| 8 +Brand#34 |LARGE POLISHED STEEL | 36| 8 +Brand#34 |LARGE POLISHED TIN | 19| 8 +Brand#34 |LARGE POLISHED TIN | 36| 8 +Brand#34 |LARGE POLISHED TIN | 45| 8 +Brand#34 |MEDIUM ANODIZED BRASS | 9| 8 +Brand#34 |MEDIUM ANODIZED BRASS | 23| 8 +Brand#34 |MEDIUM ANODIZED BRASS | 49| 8 +Brand#34 |MEDIUM ANODIZED STEEL | 49| 8 +Brand#34 |MEDIUM ANODIZED TIN | 9| 8 +Brand#34 |MEDIUM ANODIZED TIN | 14| 8 +Brand#34 |MEDIUM BRUSHED COPPER | 19| 8 +Brand#34 |MEDIUM BRUSHED COPPER | 45| 8 +Brand#34 |MEDIUM BRUSHED COPPER | 49| 8 +Brand#34 |MEDIUM BRUSHED NICKEL | 23| 8 +Brand#34 |MEDIUM BRUSHED STEEL | 36| 8 +Brand#34 |MEDIUM BRUSHED TIN | 9| 8 +Brand#34 |MEDIUM BURNISHED BRASS | 49| 8 +Brand#34 |MEDIUM BURNISHED COPPER | 3| 8 +Brand#34 |MEDIUM BURNISHED NICKEL | 36| 8 +Brand#34 |MEDIUM BURNISHED TIN | 3| 8 +Brand#34 |MEDIUM PLATED BRASS | 19| 8 +Brand#34 |MEDIUM PLATED COPPER | 14| 8 +Brand#34 |MEDIUM PLATED COPPER | 49| 8 +Brand#34 |MEDIUM PLATED STEEL | 14| 8 +Brand#34 |MEDIUM PLATED STEEL | 23| 8 +Brand#34 |MEDIUM PLATED TIN | 14| 8 +Brand#34 |MEDIUM PLATED TIN | 19| 8 +Brand#34 |MEDIUM PLATED TIN | 36| 8 +Brand#34 |PROMO ANODIZED BRASS | 3| 8 +Brand#34 |PROMO ANODIZED COPPER | 14| 8 +Brand#34 |PROMO ANODIZED COPPER | 45| 8 +Brand#34 |PROMO ANODIZED NICKEL | 14| 8 +Brand#34 |PROMO ANODIZED NICKEL | 19| 8 +Brand#34 |PROMO ANODIZED STEEL | 14| 8 +Brand#34 |PROMO ANODIZED STEEL | 23| 8 +Brand#34 |PROMO ANODIZED TIN | 3| 8 +Brand#34 |PROMO ANODIZED TIN | 9| 8 +Brand#34 |PROMO ANODIZED TIN | 14| 8 +Brand#34 |PROMO BRUSHED BRASS | 9| 8 +Brand#34 |PROMO BRUSHED BRASS | 19| 8 +Brand#34 |PROMO BRUSHED BRASS | 23| 8 +Brand#34 |PROMO BRUSHED BRASS | 45| 8 +Brand#34 |PROMO BRUSHED COPPER | 14| 8 +Brand#34 |PROMO BRUSHED STEEL | 36| 8 +Brand#34 |PROMO BRUSHED TIN | 3| 8 +Brand#34 |PROMO BRUSHED TIN | 45| 8 +Brand#34 |PROMO BURNISHED BRASS | 14| 8 +Brand#34 |PROMO BURNISHED BRASS | 36| 8 +Brand#34 |PROMO BURNISHED NICKEL | 19| 8 +Brand#34 |PROMO BURNISHED STEEL | 9| 8 +Brand#34 |PROMO BURNISHED STEEL | 45| 8 +Brand#34 |PROMO BURNISHED STEEL | 49| 8 +Brand#34 |PROMO BURNISHED TIN | 14| 8 +Brand#34 |PROMO BURNISHED TIN | 36| 8 +Brand#34 |PROMO PLATED BRASS | 9| 8 +Brand#34 |PROMO PLATED BRASS | 23| 8 +Brand#34 |PROMO PLATED BRASS | 49| 8 +Brand#34 |PROMO PLATED NICKEL | 23| 8 +Brand#34 |PROMO PLATED STEEL | 9| 8 +Brand#34 |PROMO PLATED STEEL | 14| 8 +Brand#34 |PROMO POLISHED BRASS | 23| 8 +Brand#34 |PROMO POLISHED COPPER | 14| 8 +Brand#34 |PROMO POLISHED NICKEL | 19| 8 +Brand#34 |PROMO POLISHED STEEL | 9| 8 +Brand#34 |PROMO POLISHED STEEL | 19| 8 +Brand#34 |PROMO POLISHED STEEL | 49| 8 +Brand#34 |PROMO POLISHED TIN | 9| 8 +Brand#34 |PROMO POLISHED TIN | 45| 8 +Brand#34 |SMALL ANODIZED BRASS | 49| 8 +Brand#34 |SMALL ANODIZED NICKEL | 23| 8 +Brand#34 |SMALL ANODIZED NICKEL | 36| 8 +Brand#34 |SMALL ANODIZED NICKEL | 49| 8 +Brand#34 |SMALL ANODIZED STEEL | 49| 8 +Brand#34 |SMALL ANODIZED TIN | 49| 8 +Brand#34 |SMALL BRUSHED BRASS | 14| 8 +Brand#34 |SMALL BRUSHED NICKEL | 14| 8 +Brand#34 |SMALL BRUSHED NICKEL | 45| 8 +Brand#34 |SMALL BRUSHED STEEL | 9| 8 +Brand#34 |SMALL BRUSHED STEEL | 14| 8 +Brand#34 |SMALL BURNISHED BRASS | 19| 8 +Brand#34 |SMALL BURNISHED BRASS | 45| 8 +Brand#34 |SMALL BURNISHED COPPER | 14| 8 +Brand#34 |SMALL BURNISHED COPPER | 23| 8 +Brand#34 |SMALL BURNISHED NICKEL | 3| 8 +Brand#34 |SMALL BURNISHED NICKEL | 49| 8 +Brand#34 |SMALL BURNISHED TIN | 36| 8 +Brand#34 |SMALL BURNISHED TIN | 49| 8 +Brand#34 |SMALL PLATED BRASS | 23| 8 +Brand#34 |SMALL PLATED COPPER | 19| 8 +Brand#34 |SMALL PLATED COPPER | 23| 8 +Brand#34 |SMALL PLATED COPPER | 49| 8 +Brand#34 |SMALL PLATED NICKEL | 3| 8 +Brand#34 |SMALL PLATED NICKEL | 9| 8 +Brand#34 |SMALL PLATED NICKEL | 23| 8 +Brand#34 |SMALL PLATED STEEL | 9| 8 +Brand#34 |SMALL PLATED STEEL | 45| 8 +Brand#34 |SMALL PLATED TIN | 14| 8 +Brand#34 |SMALL PLATED TIN | 19| 8 +Brand#34 |SMALL POLISHED BRASS | 14| 8 +Brand#34 |SMALL POLISHED COPPER | 9| 8 +Brand#34 |SMALL POLISHED COPPER | 45| 8 +Brand#34 |STANDARD ANODIZED BRASS | 14| 8 +Brand#34 |STANDARD ANODIZED BRASS | 23| 8 +Brand#34 |STANDARD ANODIZED COPPER | 3| 8 +Brand#34 |STANDARD ANODIZED COPPER | 45| 8 +Brand#34 |STANDARD ANODIZED NICKEL | 3| 8 +Brand#34 |STANDARD ANODIZED NICKEL | 9| 8 +Brand#34 |STANDARD ANODIZED NICKEL | 23| 8 +Brand#34 |STANDARD ANODIZED NICKEL | 36| 8 +Brand#34 |STANDARD ANODIZED STEEL | 3| 8 +Brand#34 |STANDARD ANODIZED STEEL | 45| 8 +Brand#34 |STANDARD ANODIZED TIN | 36| 8 +Brand#34 |STANDARD BRUSHED COPPER | 49| 8 +Brand#34 |STANDARD BRUSHED NICKEL | 19| 8 +Brand#34 |STANDARD BRUSHED NICKEL | 45| 8 +Brand#34 |STANDARD BRUSHED TIN | 49| 8 +Brand#34 |STANDARD BURNISHED BRASS | 14| 8 +Brand#34 |STANDARD BURNISHED BRASS | 19| 8 +Brand#34 |STANDARD BURNISHED BRASS | 49| 8 +Brand#34 |STANDARD BURNISHED COPPER| 9| 8 +Brand#34 |STANDARD BURNISHED COPPER| 45| 8 +Brand#34 |STANDARD BURNISHED NICKEL| 14| 8 +Brand#34 |STANDARD BURNISHED NICKEL| 49| 8 +Brand#34 |STANDARD BURNISHED STEEL | 9| 8 +Brand#34 |STANDARD BURNISHED TIN | 9| 8 +Brand#34 |STANDARD BURNISHED TIN | 23| 8 +Brand#34 |STANDARD PLATED NICKEL | 3| 8 +Brand#34 |STANDARD PLATED NICKEL | 19| 8 +Brand#34 |STANDARD PLATED NICKEL | 36| 8 +Brand#34 |STANDARD PLATED STEEL | 23| 8 +Brand#34 |STANDARD PLATED STEEL | 49| 8 +Brand#34 |STANDARD PLATED TIN | 14| 8 +Brand#34 |STANDARD PLATED TIN | 19| 8 +Brand#34 |STANDARD PLATED TIN | 45| 8 +Brand#34 |STANDARD POLISHED BRASS | 9| 8 +Brand#34 |STANDARD POLISHED BRASS | 19| 8 +Brand#34 |STANDARD POLISHED COPPER | 36| 8 +Brand#34 |STANDARD POLISHED NICKEL | 36| 8 +Brand#34 |STANDARD POLISHED STEEL | 3| 8 +Brand#34 |STANDARD POLISHED STEEL | 9| 8 +Brand#34 |STANDARD POLISHED STEEL | 23| 8 +Brand#34 |STANDARD POLISHED TIN | 3| 8 +Brand#35 |ECONOMY ANODIZED BRASS | 23| 8 +Brand#35 |ECONOMY ANODIZED COPPER | 3| 8 +Brand#35 |ECONOMY ANODIZED COPPER | 49| 8 +Brand#35 |ECONOMY ANODIZED NICKEL | 3| 8 +Brand#35 |ECONOMY ANODIZED NICKEL | 9| 8 +Brand#35 |ECONOMY ANODIZED NICKEL | 49| 8 +Brand#35 |ECONOMY ANODIZED STEEL | 36| 8 +Brand#35 |ECONOMY ANODIZED TIN | 19| 8 +Brand#35 |ECONOMY ANODIZED TIN | 23| 8 +Brand#35 |ECONOMY BRUSHED BRASS | 3| 8 +Brand#35 |ECONOMY BRUSHED COPPER | 23| 8 +Brand#35 |ECONOMY BRUSHED NICKEL | 14| 8 +Brand#35 |ECONOMY BRUSHED STEEL | 23| 8 +Brand#35 |ECONOMY BRUSHED STEEL | 36| 8 +Brand#35 |ECONOMY BRUSHED STEEL | 45| 8 +Brand#35 |ECONOMY BRUSHED TIN | 3| 8 +Brand#35 |ECONOMY BRUSHED TIN | 9| 8 +Brand#35 |ECONOMY BRUSHED TIN | 23| 8 +Brand#35 |ECONOMY BRUSHED TIN | 36| 8 +Brand#35 |ECONOMY BURNISHED BRASS | 3| 8 +Brand#35 |ECONOMY BURNISHED COPPER | 19| 8 +Brand#35 |ECONOMY BURNISHED COPPER | 23| 8 +Brand#35 |ECONOMY BURNISHED NICKEL | 23| 8 +Brand#35 |ECONOMY BURNISHED TIN | 3| 8 +Brand#35 |ECONOMY BURNISHED TIN | 23| 8 +Brand#35 |ECONOMY BURNISHED TIN | 45| 8 +Brand#35 |ECONOMY PLATED BRASS | 45| 8 +Brand#35 |ECONOMY PLATED BRASS | 49| 8 +Brand#35 |ECONOMY PLATED COPPER | 19| 8 +Brand#35 |ECONOMY PLATED NICKEL | 3| 8 +Brand#35 |ECONOMY PLATED NICKEL | 23| 8 +Brand#35 |ECONOMY PLATED STEEL | 19| 8 +Brand#35 |ECONOMY PLATED STEEL | 23| 8 +Brand#35 |ECONOMY PLATED TIN | 36| 8 +Brand#35 |ECONOMY POLISHED BRASS | 14| 8 +Brand#35 |ECONOMY POLISHED BRASS | 36| 8 +Brand#35 |ECONOMY POLISHED COPPER | 3| 8 +Brand#35 |ECONOMY POLISHED COPPER | 14| 8 +Brand#35 |ECONOMY POLISHED NICKEL | 9| 8 +Brand#35 |ECONOMY POLISHED TIN | 19| 8 +Brand#35 |LARGE ANODIZED BRASS | 23| 8 +Brand#35 |LARGE ANODIZED BRASS | 36| 8 +Brand#35 |LARGE ANODIZED COPPER | 9| 8 +Brand#35 |LARGE ANODIZED COPPER | 14| 8 +Brand#35 |LARGE ANODIZED STEEL | 9| 8 +Brand#35 |LARGE ANODIZED STEEL | 19| 8 +Brand#35 |LARGE ANODIZED STEEL | 23| 8 +Brand#35 |LARGE ANODIZED TIN | 9| 8 +Brand#35 |LARGE ANODIZED TIN | 14| 8 +Brand#35 |LARGE BRUSHED BRASS | 23| 8 +Brand#35 |LARGE BRUSHED COPPER | 9| 8 +Brand#35 |LARGE BRUSHED COPPER | 19| 8 +Brand#35 |LARGE BRUSHED STEEL | 14| 8 +Brand#35 |LARGE BRUSHED STEEL | 19| 8 +Brand#35 |LARGE BRUSHED TIN | 23| 8 +Brand#35 |LARGE BRUSHED TIN | 45| 8 +Brand#35 |LARGE BURNISHED BRASS | 14| 8 +Brand#35 |LARGE BURNISHED BRASS | 19| 8 +Brand#35 |LARGE BURNISHED BRASS | 36| 8 +Brand#35 |LARGE BURNISHED COPPER | 3| 8 +Brand#35 |LARGE BURNISHED NICKEL | 14| 8 +Brand#35 |LARGE BURNISHED NICKEL | 23| 8 +Brand#35 |LARGE BURNISHED TIN | 3| 8 +Brand#35 |LARGE BURNISHED TIN | 9| 8 +Brand#35 |LARGE BURNISHED TIN | 19| 8 +Brand#35 |LARGE BURNISHED TIN | 23| 8 +Brand#35 |LARGE BURNISHED TIN | 36| 8 +Brand#35 |LARGE PLATED BRASS | 9| 8 +Brand#35 |LARGE PLATED BRASS | 45| 8 +Brand#35 |LARGE PLATED COPPER | 23| 8 +Brand#35 |LARGE PLATED NICKEL | 3| 8 +Brand#35 |LARGE PLATED NICKEL | 19| 8 +Brand#35 |LARGE PLATED STEEL | 23| 8 +Brand#35 |LARGE PLATED TIN | 9| 8 +Brand#35 |LARGE PLATED TIN | 45| 8 +Brand#35 |LARGE POLISHED BRASS | 19| 8 +Brand#35 |LARGE POLISHED BRASS | 49| 8 +Brand#35 |LARGE POLISHED STEEL | 14| 8 +Brand#35 |LARGE POLISHED STEEL | 36| 8 +Brand#35 |LARGE POLISHED TIN | 9| 8 +Brand#35 |LARGE POLISHED TIN | 14| 8 +Brand#35 |MEDIUM ANODIZED COPPER | 9| 8 +Brand#35 |MEDIUM ANODIZED STEEL | 3| 8 +Brand#35 |MEDIUM ANODIZED TIN | 14| 8 +Brand#35 |MEDIUM ANODIZED TIN | 45| 8 +Brand#35 |MEDIUM ANODIZED TIN | 49| 8 +Brand#35 |MEDIUM BRUSHED BRASS | 19| 8 +Brand#35 |MEDIUM BRUSHED BRASS | 23| 8 +Brand#35 |MEDIUM BRUSHED COPPER | 19| 8 +Brand#35 |MEDIUM BRUSHED COPPER | 36| 8 +Brand#35 |MEDIUM BRUSHED NICKEL | 9| 8 +Brand#35 |MEDIUM BRUSHED STEEL | 3| 8 +Brand#35 |MEDIUM BRUSHED TIN | 14| 8 +Brand#35 |MEDIUM BRUSHED TIN | 19| 8 +Brand#35 |MEDIUM BURNISHED BRASS | 49| 8 +Brand#35 |MEDIUM BURNISHED STEEL | 45| 8 +Brand#35 |MEDIUM BURNISHED TIN | 9| 8 +Brand#35 |MEDIUM BURNISHED TIN | 19| 8 +Brand#35 |MEDIUM BURNISHED TIN | 23| 8 +Brand#35 |MEDIUM BURNISHED TIN | 36| 8 +Brand#35 |MEDIUM BURNISHED TIN | 45| 8 +Brand#35 |MEDIUM PLATED BRASS | 3| 8 +Brand#35 |MEDIUM PLATED BRASS | 23| 8 +Brand#35 |MEDIUM PLATED BRASS | 36| 8 +Brand#35 |MEDIUM PLATED COPPER | 3| 8 +Brand#35 |MEDIUM PLATED COPPER | 9| 8 +Brand#35 |MEDIUM PLATED COPPER | 19| 8 +Brand#35 |MEDIUM PLATED NICKEL | 49| 8 +Brand#35 |MEDIUM PLATED STEEL | 14| 8 +Brand#35 |MEDIUM PLATED STEEL | 23| 8 +Brand#35 |MEDIUM PLATED STEEL | 36| 8 +Brand#35 |MEDIUM PLATED TIN | 23| 8 +Brand#35 |PROMO ANODIZED BRASS | 3| 8 +Brand#35 |PROMO ANODIZED COPPER | 3| 8 +Brand#35 |PROMO ANODIZED COPPER | 36| 8 +Brand#35 |PROMO ANODIZED NICKEL | 36| 8 +Brand#35 |PROMO ANODIZED NICKEL | 45| 8 +Brand#35 |PROMO ANODIZED NICKEL | 49| 8 +Brand#35 |PROMO ANODIZED STEEL | 45| 8 +Brand#35 |PROMO ANODIZED TIN | 14| 8 +Brand#35 |PROMO BRUSHED BRASS | 14| 8 +Brand#35 |PROMO BRUSHED BRASS | 45| 8 +Brand#35 |PROMO BRUSHED COPPER | 3| 8 +Brand#35 |PROMO BRUSHED COPPER | 14| 8 +Brand#35 |PROMO BRUSHED NICKEL | 9| 8 +Brand#35 |PROMO BRUSHED STEEL | 9| 8 +Brand#35 |PROMO BRUSHED TIN | 19| 8 +Brand#35 |PROMO BRUSHED TIN | 45| 8 +Brand#35 |PROMO BURNISHED BRASS | 3| 8 +Brand#35 |PROMO BURNISHED BRASS | 19| 8 +Brand#35 |PROMO BURNISHED COPPER | 9| 8 +Brand#35 |PROMO BURNISHED COPPER | 14| 8 +Brand#35 |PROMO BURNISHED COPPER | 19| 8 +Brand#35 |PROMO BURNISHED NICKEL | 14| 8 +Brand#35 |PROMO BURNISHED TIN | 3| 8 +Brand#35 |PROMO BURNISHED TIN | 45| 8 +Brand#35 |PROMO PLATED BRASS | 19| 8 +Brand#35 |PROMO PLATED COPPER | 23| 8 +Brand#35 |PROMO PLATED NICKEL | 9| 8 +Brand#35 |PROMO PLATED NICKEL | 23| 8 +Brand#35 |PROMO PLATED NICKEL | 45| 8 +Brand#35 |PROMO PLATED STEEL | 9| 8 +Brand#35 |PROMO PLATED STEEL | 23| 8 +Brand#35 |PROMO PLATED STEEL | 36| 8 +Brand#35 |PROMO PLATED TIN | 3| 8 +Brand#35 |PROMO PLATED TIN | 9| 8 +Brand#35 |PROMO PLATED TIN | 19| 8 +Brand#35 |PROMO PLATED TIN | 36| 8 +Brand#35 |PROMO PLATED TIN | 45| 8 +Brand#35 |PROMO POLISHED BRASS | 3| 8 +Brand#35 |PROMO POLISHED BRASS | 9| 8 +Brand#35 |PROMO POLISHED BRASS | 23| 8 +Brand#35 |PROMO POLISHED NICKEL | 9| 8 +Brand#35 |PROMO POLISHED NICKEL | 23| 8 +Brand#35 |PROMO POLISHED TIN | 3| 8 +Brand#35 |PROMO POLISHED TIN | 23| 8 +Brand#35 |PROMO POLISHED TIN | 45| 8 +Brand#35 |SMALL ANODIZED BRASS | 49| 8 +Brand#35 |SMALL ANODIZED NICKEL | 9| 8 +Brand#35 |SMALL ANODIZED NICKEL | 19| 8 +Brand#35 |SMALL ANODIZED STEEL | 19| 8 +Brand#35 |SMALL ANODIZED TIN | 14| 8 +Brand#35 |SMALL ANODIZED TIN | 36| 8 +Brand#35 |SMALL BRUSHED BRASS | 14| 8 +Brand#35 |SMALL BRUSHED COPPER | 49| 8 +Brand#35 |SMALL BRUSHED NICKEL | 3| 8 +Brand#35 |SMALL BRUSHED NICKEL | 9| 8 +Brand#35 |SMALL BRUSHED NICKEL | 49| 8 +Brand#35 |SMALL BRUSHED STEEL | 9| 8 +Brand#35 |SMALL BRUSHED STEEL | 23| 8 +Brand#35 |SMALL BRUSHED STEEL | 36| 8 +Brand#35 |SMALL BRUSHED STEEL | 49| 8 +Brand#35 |SMALL BRUSHED TIN | 19| 8 +Brand#35 |SMALL BRUSHED TIN | 23| 8 +Brand#35 |SMALL BURNISHED COPPER | 49| 8 +Brand#35 |SMALL BURNISHED NICKEL | 9| 8 +Brand#35 |SMALL BURNISHED STEEL | 3| 8 +Brand#35 |SMALL BURNISHED STEEL | 14| 8 +Brand#35 |SMALL BURNISHED STEEL | 23| 8 +Brand#35 |SMALL BURNISHED STEEL | 36| 8 +Brand#35 |SMALL PLATED COPPER | 45| 8 +Brand#35 |SMALL PLATED NICKEL | 9| 8 +Brand#35 |SMALL PLATED NICKEL | 23| 8 +Brand#35 |SMALL PLATED NICKEL | 36| 8 +Brand#35 |SMALL PLATED NICKEL | 45| 8 +Brand#35 |SMALL PLATED STEEL | 3| 8 +Brand#35 |SMALL PLATED STEEL | 14| 8 +Brand#35 |SMALL PLATED TIN | 9| 8 +Brand#35 |SMALL POLISHED BRASS | 9| 8 +Brand#35 |SMALL POLISHED BRASS | 23| 8 +Brand#35 |SMALL POLISHED BRASS | 36| 8 +Brand#35 |SMALL POLISHED COPPER | 3| 8 +Brand#35 |SMALL POLISHED COPPER | 23| 8 +Brand#35 |SMALL POLISHED COPPER | 45| 8 +Brand#35 |SMALL POLISHED COPPER | 49| 8 +Brand#35 |SMALL POLISHED NICKEL | 14| 8 +Brand#35 |SMALL POLISHED NICKEL | 19| 8 +Brand#35 |SMALL POLISHED STEEL | 23| 8 +Brand#35 |SMALL POLISHED STEEL | 49| 8 +Brand#35 |SMALL POLISHED TIN | 9| 8 +Brand#35 |SMALL POLISHED TIN | 23| 8 +Brand#35 |SMALL POLISHED TIN | 45| 8 +Brand#35 |SMALL POLISHED TIN | 49| 8 +Brand#35 |STANDARD ANODIZED BRASS | 14| 8 +Brand#35 |STANDARD ANODIZED BRASS | 19| 8 +Brand#35 |STANDARD ANODIZED COPPER | 14| 8 +Brand#35 |STANDARD ANODIZED COPPER | 36| 8 +Brand#35 |STANDARD ANODIZED COPPER | 45| 8 +Brand#35 |STANDARD ANODIZED NICKEL | 14| 8 +Brand#35 |STANDARD ANODIZED NICKEL | 49| 8 +Brand#35 |STANDARD ANODIZED STEEL | 14| 8 +Brand#35 |STANDARD ANODIZED TIN | 23| 8 +Brand#35 |STANDARD ANODIZED TIN | 45| 8 +Brand#35 |STANDARD ANODIZED TIN | 49| 8 +Brand#35 |STANDARD BRUSHED BRASS | 19| 8 +Brand#35 |STANDARD BRUSHED BRASS | 23| 8 +Brand#35 |STANDARD BRUSHED BRASS | 36| 8 +Brand#35 |STANDARD BRUSHED COPPER | 14| 8 +Brand#35 |STANDARD BRUSHED COPPER | 23| 8 +Brand#35 |STANDARD BRUSHED COPPER | 36| 8 +Brand#35 |STANDARD BRUSHED NICKEL | 14| 8 +Brand#35 |STANDARD BRUSHED NICKEL | 49| 8 +Brand#35 |STANDARD BRUSHED TIN | 3| 8 +Brand#35 |STANDARD BURNISHED BRASS | 45| 8 +Brand#35 |STANDARD BURNISHED COPPER| 36| 8 +Brand#35 |STANDARD BURNISHED NICKEL| 9| 8 +Brand#35 |STANDARD BURNISHED NICKEL| 14| 8 +Brand#35 |STANDARD BURNISHED NICKEL| 49| 8 +Brand#35 |STANDARD BURNISHED STEEL | 14| 8 +Brand#35 |STANDARD BURNISHED TIN | 36| 8 +Brand#35 |STANDARD PLATED BRASS | 23| 8 +Brand#35 |STANDARD PLATED COPPER | 3| 8 +Brand#35 |STANDARD PLATED COPPER | 19| 8 +Brand#35 |STANDARD PLATED COPPER | 36| 8 +Brand#35 |STANDARD PLATED NICKEL | 14| 8 +Brand#35 |STANDARD PLATED TIN | 19| 8 +Brand#35 |STANDARD PLATED TIN | 23| 8 +Brand#35 |STANDARD PLATED TIN | 49| 8 +Brand#35 |STANDARD POLISHED BRASS | 19| 8 +Brand#35 |STANDARD POLISHED BRASS | 36| 8 +Brand#35 |STANDARD POLISHED NICKEL | 23| 8 +Brand#35 |STANDARD POLISHED STEEL | 14| 8 +Brand#35 |STANDARD POLISHED STEEL | 45| 8 +Brand#35 |STANDARD POLISHED STEEL | 49| 8 +Brand#35 |STANDARD POLISHED TIN | 45| 8 +Brand#41 |ECONOMY ANODIZED BRASS | 14| 8 +Brand#41 |ECONOMY ANODIZED BRASS | 19| 8 +Brand#41 |ECONOMY ANODIZED COPPER | 23| 8 +Brand#41 |ECONOMY ANODIZED NICKEL | 19| 8 +Brand#41 |ECONOMY ANODIZED NICKEL | 45| 8 +Brand#41 |ECONOMY ANODIZED STEEL | 45| 8 +Brand#41 |ECONOMY BRUSHED BRASS | 3| 8 +Brand#41 |ECONOMY BRUSHED BRASS | 14| 8 +Brand#41 |ECONOMY BRUSHED BRASS | 36| 8 +Brand#41 |ECONOMY BRUSHED COPPER | 3| 8 +Brand#41 |ECONOMY BRUSHED COPPER | 14| 8 +Brand#41 |ECONOMY BRUSHED COPPER | 19| 8 +Brand#41 |ECONOMY BRUSHED NICKEL | 19| 8 +Brand#41 |ECONOMY BRUSHED NICKEL | 36| 8 +Brand#41 |ECONOMY BRUSHED NICKEL | 45| 8 +Brand#41 |ECONOMY BRUSHED STEEL | 3| 8 +Brand#41 |ECONOMY BRUSHED STEEL | 45| 8 +Brand#41 |ECONOMY BRUSHED TIN | 14| 8 +Brand#41 |ECONOMY BRUSHED TIN | 36| 8 +Brand#41 |ECONOMY BURNISHED BRASS | 3| 8 +Brand#41 |ECONOMY BURNISHED BRASS | 45| 8 +Brand#41 |ECONOMY BURNISHED COPPER | 9| 8 +Brand#41 |ECONOMY BURNISHED NICKEL | 45| 8 +Brand#41 |ECONOMY BURNISHED NICKEL | 49| 8 +Brand#41 |ECONOMY BURNISHED STEEL | 23| 8 +Brand#41 |ECONOMY BURNISHED TIN | 3| 8 +Brand#41 |ECONOMY PLATED BRASS | 49| 8 +Brand#41 |ECONOMY PLATED COPPER | 14| 8 +Brand#41 |ECONOMY PLATED NICKEL | 14| 8 +Brand#41 |ECONOMY PLATED NICKEL | 45| 8 +Brand#41 |ECONOMY PLATED STEEL | 9| 8 +Brand#41 |ECONOMY PLATED STEEL | 23| 8 +Brand#41 |ECONOMY PLATED STEEL | 45| 8 +Brand#41 |ECONOMY PLATED TIN | 19| 8 +Brand#41 |ECONOMY PLATED TIN | 49| 8 +Brand#41 |ECONOMY POLISHED BRASS | 14| 8 +Brand#41 |ECONOMY POLISHED BRASS | 23| 8 +Brand#41 |ECONOMY POLISHED BRASS | 49| 8 +Brand#41 |ECONOMY POLISHED COPPER | 14| 8 +Brand#41 |ECONOMY POLISHED NICKEL | 49| 8 +Brand#41 |ECONOMY POLISHED TIN | 45| 8 +Brand#41 |ECONOMY POLISHED TIN | 49| 8 +Brand#41 |LARGE ANODIZED BRASS | 3| 8 +Brand#41 |LARGE ANODIZED BRASS | 45| 8 +Brand#41 |LARGE ANODIZED COPPER | 14| 8 +Brand#41 |LARGE ANODIZED NICKEL | 3| 8 +Brand#41 |LARGE ANODIZED STEEL | 14| 8 +Brand#41 |LARGE ANODIZED STEEL | 36| 8 +Brand#41 |LARGE ANODIZED TIN | 45| 8 +Brand#41 |LARGE BRUSHED BRASS | 23| 8 +Brand#41 |LARGE BRUSHED COPPER | 49| 8 +Brand#41 |LARGE BRUSHED TIN | 14| 8 +Brand#41 |LARGE BRUSHED TIN | 19| 8 +Brand#41 |LARGE BRUSHED TIN | 49| 8 +Brand#41 |LARGE BURNISHED BRASS | 19| 8 +Brand#41 |LARGE BURNISHED COPPER | 14| 8 +Brand#41 |LARGE BURNISHED COPPER | 49| 8 +Brand#41 |LARGE BURNISHED NICKEL | 14| 8 +Brand#41 |LARGE BURNISHED STEEL | 3| 8 +Brand#41 |LARGE BURNISHED STEEL | 14| 8 +Brand#41 |LARGE BURNISHED STEEL | 45| 8 +Brand#41 |LARGE BURNISHED STEEL | 49| 8 +Brand#41 |LARGE BURNISHED TIN | 3| 8 +Brand#41 |LARGE BURNISHED TIN | 9| 8 +Brand#41 |LARGE BURNISHED TIN | 36| 8 +Brand#41 |LARGE PLATED BRASS | 3| 8 +Brand#41 |LARGE PLATED BRASS | 14| 8 +Brand#41 |LARGE PLATED BRASS | 19| 8 +Brand#41 |LARGE PLATED BRASS | 45| 8 +Brand#41 |LARGE PLATED COPPER | 14| 8 +Brand#41 |LARGE PLATED COPPER | 23| 8 +Brand#41 |LARGE PLATED NICKEL | 3| 8 +Brand#41 |LARGE PLATED NICKEL | 9| 8 +Brand#41 |LARGE PLATED NICKEL | 36| 8 +Brand#41 |LARGE PLATED STEEL | 3| 8 +Brand#41 |LARGE PLATED STEEL | 23| 8 +Brand#41 |LARGE PLATED STEEL | 36| 8 +Brand#41 |LARGE PLATED STEEL | 49| 8 +Brand#41 |LARGE PLATED TIN | 3| 8 +Brand#41 |LARGE POLISHED BRASS | 19| 8 +Brand#41 |LARGE POLISHED COPPER | 3| 8 +Brand#41 |LARGE POLISHED COPPER | 19| 8 +Brand#41 |LARGE POLISHED COPPER | 49| 8 +Brand#41 |LARGE POLISHED NICKEL | 23| 8 +Brand#41 |LARGE POLISHED STEEL | 14| 8 +Brand#41 |LARGE POLISHED TIN | 9| 8 +Brand#41 |LARGE POLISHED TIN | 14| 8 +Brand#41 |MEDIUM ANODIZED BRASS | 3| 8 +Brand#41 |MEDIUM ANODIZED BRASS | 9| 8 +Brand#41 |MEDIUM ANODIZED BRASS | 36| 8 +Brand#41 |MEDIUM ANODIZED COPPER | 23| 8 +Brand#41 |MEDIUM ANODIZED NICKEL | 19| 8 +Brand#41 |MEDIUM ANODIZED NICKEL | 36| 8 +Brand#41 |MEDIUM ANODIZED STEEL | 23| 8 +Brand#41 |MEDIUM ANODIZED STEEL | 45| 8 +Brand#41 |MEDIUM ANODIZED TIN | 9| 8 +Brand#41 |MEDIUM ANODIZED TIN | 19| 8 +Brand#41 |MEDIUM ANODIZED TIN | 45| 8 +Brand#41 |MEDIUM BRUSHED BRASS | 3| 8 +Brand#41 |MEDIUM BRUSHED BRASS | 14| 8 +Brand#41 |MEDIUM BRUSHED BRASS | 45| 8 +Brand#41 |MEDIUM BRUSHED COPPER | 3| 8 +Brand#41 |MEDIUM BRUSHED COPPER | 14| 8 +Brand#41 |MEDIUM BRUSHED STEEL | 45| 8 +Brand#41 |MEDIUM BRUSHED STEEL | 49| 8 +Brand#41 |MEDIUM BRUSHED TIN | 9| 8 +Brand#41 |MEDIUM BRUSHED TIN | 23| 8 +Brand#41 |MEDIUM BRUSHED TIN | 49| 8 +Brand#41 |MEDIUM BURNISHED BRASS | 36| 8 +Brand#41 |MEDIUM BURNISHED COPPER | 9| 8 +Brand#41 |MEDIUM BURNISHED STEEL | 3| 8 +Brand#41 |MEDIUM BURNISHED STEEL | 45| 8 +Brand#41 |MEDIUM PLATED BRASS | 45| 8 +Brand#41 |MEDIUM PLATED COPPER | 9| 8 +Brand#41 |MEDIUM PLATED COPPER | 49| 8 +Brand#41 |MEDIUM PLATED NICKEL | 19| 8 +Brand#41 |MEDIUM PLATED NICKEL | 45| 8 +Brand#41 |MEDIUM PLATED STEEL | 9| 8 +Brand#41 |MEDIUM PLATED STEEL | 23| 8 +Brand#41 |PROMO ANODIZED COPPER | 14| 8 +Brand#41 |PROMO ANODIZED NICKEL | 3| 8 +Brand#41 |PROMO ANODIZED NICKEL | 19| 8 +Brand#41 |PROMO ANODIZED STEEL | 9| 8 +Brand#41 |PROMO ANODIZED TIN | 36| 8 +Brand#41 |PROMO BRUSHED BRASS | 9| 8 +Brand#41 |PROMO BRUSHED BRASS | 14| 8 +Brand#41 |PROMO BRUSHED BRASS | 19| 8 +Brand#41 |PROMO BRUSHED BRASS | 23| 8 +Brand#41 |PROMO BRUSHED BRASS | 36| 8 +Brand#41 |PROMO BRUSHED COPPER | 36| 8 +Brand#41 |PROMO BRUSHED STEEL | 9| 8 +Brand#41 |PROMO BRUSHED STEEL | 36| 8 +Brand#41 |PROMO BRUSHED STEEL | 49| 8 +Brand#41 |PROMO BRUSHED TIN | 9| 8 +Brand#41 |PROMO BRUSHED TIN | 49| 8 +Brand#41 |PROMO BURNISHED BRASS | 9| 8 +Brand#41 |PROMO BURNISHED BRASS | 14| 8 +Brand#41 |PROMO BURNISHED COPPER | 36| 8 +Brand#41 |PROMO BURNISHED COPPER | 45| 8 +Brand#41 |PROMO BURNISHED NICKEL | 36| 8 +Brand#41 |PROMO BURNISHED STEEL | 14| 8 +Brand#41 |PROMO BURNISHED STEEL | 36| 8 +Brand#41 |PROMO BURNISHED TIN | 3| 8 +Brand#41 |PROMO BURNISHED TIN | 23| 8 +Brand#41 |PROMO PLATED BRASS | 14| 8 +Brand#41 |PROMO PLATED BRASS | 36| 8 +Brand#41 |PROMO PLATED COPPER | 14| 8 +Brand#41 |PROMO PLATED COPPER | 23| 8 +Brand#41 |PROMO PLATED NICKEL | 49| 8 +Brand#41 |PROMO PLATED STEEL | 3| 8 +Brand#41 |PROMO PLATED STEEL | 14| 8 +Brand#41 |PROMO PLATED TIN | 45| 8 +Brand#41 |PROMO POLISHED BRASS | 9| 8 +Brand#41 |PROMO POLISHED COPPER | 3| 8 +Brand#41 |PROMO POLISHED COPPER | 19| 8 +Brand#41 |PROMO POLISHED COPPER | 49| 8 +Brand#41 |PROMO POLISHED NICKEL | 3| 8 +Brand#41 |PROMO POLISHED STEEL | 49| 8 +Brand#41 |PROMO POLISHED TIN | 14| 8 +Brand#41 |PROMO POLISHED TIN | 45| 8 +Brand#41 |SMALL ANODIZED BRASS | 14| 8 +Brand#41 |SMALL ANODIZED BRASS | 36| 8 +Brand#41 |SMALL ANODIZED COPPER | 49| 8 +Brand#41 |SMALL ANODIZED NICKEL | 14| 8 +Brand#41 |SMALL ANODIZED NICKEL | 19| 8 +Brand#41 |SMALL ANODIZED TIN | 3| 8 +Brand#41 |SMALL ANODIZED TIN | 9| 8 +Brand#41 |SMALL ANODIZED TIN | 23| 8 +Brand#41 |SMALL BRUSHED BRASS | 9| 8 +Brand#41 |SMALL BRUSHED BRASS | 23| 8 +Brand#41 |SMALL BRUSHED COPPER | 45| 8 +Brand#41 |SMALL BRUSHED COPPER | 49| 8 +Brand#41 |SMALL BRUSHED NICKEL | 14| 8 +Brand#41 |SMALL BRUSHED NICKEL | 36| 8 +Brand#41 |SMALL BRUSHED STEEL | 19| 8 +Brand#41 |SMALL BRUSHED TIN | 3| 8 +Brand#41 |SMALL BRUSHED TIN | 19| 8 +Brand#41 |SMALL BURNISHED BRASS | 14| 8 +Brand#41 |SMALL BURNISHED BRASS | 19| 8 +Brand#41 |SMALL BURNISHED COPPER | 9| 8 +Brand#41 |SMALL BURNISHED COPPER | 19| 8 +Brand#41 |SMALL BURNISHED NICKEL | 3| 8 +Brand#41 |SMALL BURNISHED NICKEL | 19| 8 +Brand#41 |SMALL BURNISHED NICKEL | 45| 8 +Brand#41 |SMALL BURNISHED STEEL | 9| 8 +Brand#41 |SMALL BURNISHED STEEL | 23| 8 +Brand#41 |SMALL BURNISHED STEEL | 45| 8 +Brand#41 |SMALL BURNISHED STEEL | 49| 8 +Brand#41 |SMALL BURNISHED TIN | 14| 8 +Brand#41 |SMALL PLATED BRASS | 3| 8 +Brand#41 |SMALL PLATED COPPER | 9| 8 +Brand#41 |SMALL PLATED COPPER | 14| 8 +Brand#41 |SMALL PLATED NICKEL | 3| 8 +Brand#41 |SMALL PLATED NICKEL | 36| 8 +Brand#41 |SMALL PLATED STEEL | 9| 8 +Brand#41 |SMALL PLATED STEEL | 36| 8 +Brand#41 |SMALL PLATED TIN | 19| 8 +Brand#41 |SMALL PLATED TIN | 49| 8 +Brand#41 |SMALL POLISHED BRASS | 45| 8 +Brand#41 |SMALL POLISHED COPPER | 3| 8 +Brand#41 |SMALL POLISHED COPPER | 14| 8 +Brand#41 |SMALL POLISHED COPPER | 23| 8 +Brand#41 |SMALL POLISHED NICKEL | 3| 8 +Brand#41 |SMALL POLISHED STEEL | 49| 8 +Brand#41 |SMALL POLISHED TIN | 9| 8 +Brand#41 |SMALL POLISHED TIN | 45| 8 +Brand#41 |STANDARD ANODIZED COPPER | 3| 8 +Brand#41 |STANDARD ANODIZED COPPER | 23| 8 +Brand#41 |STANDARD ANODIZED NICKEL | 3| 8 +Brand#41 |STANDARD ANODIZED NICKEL | 9| 8 +Brand#41 |STANDARD ANODIZED STEEL | 45| 8 +Brand#41 |STANDARD ANODIZED STEEL | 49| 8 +Brand#41 |STANDARD ANODIZED TIN | 19| 8 +Brand#41 |STANDARD ANODIZED TIN | 23| 8 +Brand#41 |STANDARD BRUSHED BRASS | 9| 8 +Brand#41 |STANDARD BRUSHED NICKEL | 3| 8 +Brand#41 |STANDARD BRUSHED NICKEL | 9| 8 +Brand#41 |STANDARD BRUSHED STEEL | 45| 8 +Brand#41 |STANDARD BRUSHED TIN | 9| 8 +Brand#41 |STANDARD BRUSHED TIN | 19| 8 +Brand#41 |STANDARD BRUSHED TIN | 45| 8 +Brand#41 |STANDARD BRUSHED TIN | 49| 8 +Brand#41 |STANDARD BURNISHED BRASS | 14| 8 +Brand#41 |STANDARD BURNISHED BRASS | 36| 8 +Brand#41 |STANDARD BURNISHED COPPER| 9| 8 +Brand#41 |STANDARD BURNISHED COPPER| 14| 8 +Brand#41 |STANDARD BURNISHED NICKEL| 19| 8 +Brand#41 |STANDARD BURNISHED STEEL | 3| 8 +Brand#41 |STANDARD BURNISHED STEEL | 49| 8 +Brand#41 |STANDARD BURNISHED TIN | 19| 8 +Brand#41 |STANDARD BURNISHED TIN | 45| 8 +Brand#41 |STANDARD PLATED BRASS | 19| 8 +Brand#41 |STANDARD PLATED NICKEL | 14| 8 +Brand#41 |STANDARD PLATED NICKEL | 19| 8 +Brand#41 |STANDARD PLATED NICKEL | 49| 8 +Brand#41 |STANDARD PLATED STEEL | 3| 8 +Brand#41 |STANDARD PLATED STEEL | 19| 8 +Brand#41 |STANDARD PLATED STEEL | 49| 8 +Brand#41 |STANDARD PLATED TIN | 45| 8 +Brand#41 |STANDARD PLATED TIN | 49| 8 +Brand#41 |STANDARD POLISHED BRASS | 14| 8 +Brand#41 |STANDARD POLISHED BRASS | 36| 8 +Brand#41 |STANDARD POLISHED COPPER | 14| 8 +Brand#41 |STANDARD POLISHED NICKEL | 36| 8 +Brand#41 |STANDARD POLISHED STEEL | 3| 8 +Brand#41 |STANDARD POLISHED STEEL | 36| 8 +Brand#41 |STANDARD POLISHED TIN | 19| 8 +Brand#41 |STANDARD POLISHED TIN | 45| 8 +Brand#42 |ECONOMY ANODIZED BRASS | 9| 8 +Brand#42 |ECONOMY ANODIZED BRASS | 19| 8 +Brand#42 |ECONOMY ANODIZED BRASS | 23| 8 +Brand#42 |ECONOMY ANODIZED COPPER | 23| 8 +Brand#42 |ECONOMY ANODIZED COPPER | 49| 8 +Brand#42 |ECONOMY ANODIZED NICKEL | 19| 8 +Brand#42 |ECONOMY ANODIZED NICKEL | 36| 8 +Brand#42 |ECONOMY ANODIZED STEEL | 49| 8 +Brand#42 |ECONOMY BRUSHED COPPER | 3| 8 +Brand#42 |ECONOMY BRUSHED NICKEL | 14| 8 +Brand#42 |ECONOMY BRUSHED STEEL | 23| 8 +Brand#42 |ECONOMY BRUSHED STEEL | 49| 8 +Brand#42 |ECONOMY BRUSHED TIN | 9| 8 +Brand#42 |ECONOMY BRUSHED TIN | 19| 8 +Brand#42 |ECONOMY BRUSHED TIN | 49| 8 +Brand#42 |ECONOMY BURNISHED COPPER | 3| 8 +Brand#42 |ECONOMY BURNISHED COPPER | 49| 8 +Brand#42 |ECONOMY BURNISHED NICKEL | 3| 8 +Brand#42 |ECONOMY BURNISHED TIN | 14| 8 +Brand#42 |ECONOMY BURNISHED TIN | 45| 8 +Brand#42 |ECONOMY PLATED BRASS | 9| 8 +Brand#42 |ECONOMY PLATED COPPER | 23| 8 +Brand#42 |ECONOMY PLATED COPPER | 36| 8 +Brand#42 |ECONOMY PLATED NICKEL | 19| 8 +Brand#42 |ECONOMY PLATED NICKEL | 49| 8 +Brand#42 |ECONOMY PLATED STEEL | 49| 8 +Brand#42 |ECONOMY PLATED TIN | 3| 8 +Brand#42 |ECONOMY POLISHED BRASS | 9| 8 +Brand#42 |ECONOMY POLISHED NICKEL | 49| 8 +Brand#42 |ECONOMY POLISHED STEEL | 9| 8 +Brand#42 |ECONOMY POLISHED STEEL | 36| 8 +Brand#42 |ECONOMY POLISHED TIN | 36| 8 +Brand#42 |LARGE ANODIZED BRASS | 3| 8 +Brand#42 |LARGE ANODIZED BRASS | 23| 8 +Brand#42 |LARGE ANODIZED COPPER | 3| 8 +Brand#42 |LARGE ANODIZED COPPER | 14| 8 +Brand#42 |LARGE ANODIZED COPPER | 49| 8 +Brand#42 |LARGE ANODIZED NICKEL | 9| 8 +Brand#42 |LARGE ANODIZED NICKEL | 45| 8 +Brand#42 |LARGE ANODIZED NICKEL | 49| 8 +Brand#42 |LARGE ANODIZED STEEL | 3| 8 +Brand#42 |LARGE ANODIZED STEEL | 9| 8 +Brand#42 |LARGE ANODIZED TIN | 14| 8 +Brand#42 |LARGE ANODIZED TIN | 45| 8 +Brand#42 |LARGE BRUSHED BRASS | 49| 8 +Brand#42 |LARGE BRUSHED COPPER | 9| 8 +Brand#42 |LARGE BRUSHED NICKEL | 19| 8 +Brand#42 |LARGE BRUSHED NICKEL | 36| 8 +Brand#42 |LARGE BRUSHED NICKEL | 49| 8 +Brand#42 |LARGE BRUSHED TIN | 23| 8 +Brand#42 |LARGE BRUSHED TIN | 49| 8 +Brand#42 |LARGE BURNISHED BRASS | 3| 8 +Brand#42 |LARGE BURNISHED BRASS | 49| 8 +Brand#42 |LARGE BURNISHED TIN | 45| 8 +Brand#42 |LARGE PLATED COPPER | 9| 8 +Brand#42 |LARGE PLATED COPPER | 45| 8 +Brand#42 |LARGE PLATED NICKEL | 45| 8 +Brand#42 |LARGE PLATED TIN | 3| 8 +Brand#42 |LARGE PLATED TIN | 45| 8 +Brand#42 |LARGE POLISHED COPPER | 49| 8 +Brand#42 |LARGE POLISHED NICKEL | 23| 8 +Brand#42 |LARGE POLISHED NICKEL | 36| 8 +Brand#42 |LARGE POLISHED STEEL | 3| 8 +Brand#42 |LARGE POLISHED TIN | 3| 8 +Brand#42 |LARGE POLISHED TIN | 19| 8 +Brand#42 |LARGE POLISHED TIN | 45| 8 +Brand#42 |MEDIUM ANODIZED BRASS | 9| 8 +Brand#42 |MEDIUM ANODIZED BRASS | 49| 8 +Brand#42 |MEDIUM ANODIZED COPPER | 3| 8 +Brand#42 |MEDIUM ANODIZED COPPER | 19| 8 +Brand#42 |MEDIUM ANODIZED COPPER | 49| 8 +Brand#42 |MEDIUM ANODIZED NICKEL | 36| 8 +Brand#42 |MEDIUM ANODIZED STEEL | 3| 8 +Brand#42 |MEDIUM ANODIZED TIN | 14| 8 +Brand#42 |MEDIUM ANODIZED TIN | 36| 8 +Brand#42 |MEDIUM ANODIZED TIN | 45| 8 +Brand#42 |MEDIUM BRUSHED COPPER | 14| 8 +Brand#42 |MEDIUM BRUSHED COPPER | 49| 8 +Brand#42 |MEDIUM BRUSHED NICKEL | 14| 8 +Brand#42 |MEDIUM BRUSHED STEEL | 36| 8 +Brand#42 |MEDIUM BRUSHED STEEL | 49| 8 +Brand#42 |MEDIUM BURNISHED BRASS | 45| 8 +Brand#42 |MEDIUM BURNISHED COPPER | 3| 8 +Brand#42 |MEDIUM BURNISHED NICKEL | 14| 8 +Brand#42 |MEDIUM BURNISHED STEEL | 9| 8 +Brand#42 |MEDIUM BURNISHED STEEL | 14| 8 +Brand#42 |MEDIUM BURNISHED STEEL | 36| 8 +Brand#42 |MEDIUM BURNISHED TIN | 3| 8 +Brand#42 |MEDIUM PLATED BRASS | 49| 8 +Brand#42 |MEDIUM PLATED COPPER | 3| 8 +Brand#42 |MEDIUM PLATED COPPER | 49| 8 +Brand#42 |MEDIUM PLATED NICKEL | 9| 8 +Brand#42 |MEDIUM PLATED STEEL | 9| 8 +Brand#42 |MEDIUM PLATED STEEL | 14| 8 +Brand#42 |MEDIUM PLATED STEEL | 36| 8 +Brand#42 |MEDIUM PLATED TIN | 9| 8 +Brand#42 |MEDIUM PLATED TIN | 14| 8 +Brand#42 |PROMO ANODIZED BRASS | 9| 8 +Brand#42 |PROMO ANODIZED BRASS | 36| 8 +Brand#42 |PROMO ANODIZED BRASS | 45| 8 +Brand#42 |PROMO ANODIZED COPPER | 3| 8 +Brand#42 |PROMO ANODIZED COPPER | 23| 8 +Brand#42 |PROMO ANODIZED COPPER | 45| 8 +Brand#42 |PROMO ANODIZED NICKEL | 9| 8 +Brand#42 |PROMO ANODIZED TIN | 3| 8 +Brand#42 |PROMO BRUSHED COPPER | 14| 8 +Brand#42 |PROMO BRUSHED STEEL | 19| 8 +Brand#42 |PROMO BRUSHED STEEL | 23| 8 +Brand#42 |PROMO BRUSHED STEEL | 45| 8 +Brand#42 |PROMO BURNISHED BRASS | 14| 8 +Brand#42 |PROMO BURNISHED BRASS | 45| 8 +Brand#42 |PROMO BURNISHED BRASS | 49| 8 +Brand#42 |PROMO BURNISHED COPPER | 45| 8 +Brand#42 |PROMO BURNISHED NICKEL | 36| 8 +Brand#42 |PROMO PLATED NICKEL | 23| 8 +Brand#42 |PROMO PLATED STEEL | 45| 8 +Brand#42 |PROMO PLATED TIN | 9| 8 +Brand#42 |PROMO PLATED TIN | 19| 8 +Brand#42 |PROMO PLATED TIN | 23| 8 +Brand#42 |PROMO PLATED TIN | 36| 8 +Brand#42 |PROMO PLATED TIN | 45| 8 +Brand#42 |PROMO POLISHED BRASS | 19| 8 +Brand#42 |PROMO POLISHED BRASS | 23| 8 +Brand#42 |PROMO POLISHED BRASS | 45| 8 +Brand#42 |PROMO POLISHED COPPER | 36| 8 +Brand#42 |PROMO POLISHED NICKEL | 3| 8 +Brand#42 |PROMO POLISHED NICKEL | 9| 8 +Brand#42 |PROMO POLISHED STEEL | 9| 8 +Brand#42 |PROMO POLISHED STEEL | 23| 8 +Brand#42 |PROMO POLISHED TIN | 3| 8 +Brand#42 |PROMO POLISHED TIN | 9| 8 +Brand#42 |SMALL ANODIZED BRASS | 19| 8 +Brand#42 |SMALL ANODIZED COPPER | 14| 8 +Brand#42 |SMALL ANODIZED COPPER | 19| 8 +Brand#42 |SMALL ANODIZED COPPER | 36| 8 +Brand#42 |SMALL ANODIZED NICKEL | 14| 8 +Brand#42 |SMALL ANODIZED NICKEL | 23| 8 +Brand#42 |SMALL ANODIZED NICKEL | 45| 8 +Brand#42 |SMALL ANODIZED STEEL | 3| 8 +Brand#42 |SMALL ANODIZED STEEL | 9| 8 +Brand#42 |SMALL ANODIZED STEEL | 36| 8 +Brand#42 |SMALL ANODIZED TIN | 3| 8 +Brand#42 |SMALL ANODIZED TIN | 19| 8 +Brand#42 |SMALL BRUSHED COPPER | 9| 8 +Brand#42 |SMALL BRUSHED COPPER | 36| 8 +Brand#42 |SMALL BRUSHED NICKEL | 23| 8 +Brand#42 |SMALL BRUSHED STEEL | 3| 8 +Brand#42 |SMALL BRUSHED STEEL | 9| 8 +Brand#42 |SMALL BRUSHED STEEL | 14| 8 +Brand#42 |SMALL BRUSHED STEEL | 36| 8 +Brand#42 |SMALL BRUSHED STEEL | 45| 8 +Brand#42 |SMALL BRUSHED TIN | 9| 8 +Brand#42 |SMALL BRUSHED TIN | 14| 8 +Brand#42 |SMALL BRUSHED TIN | 45| 8 +Brand#42 |SMALL BRUSHED TIN | 49| 8 +Brand#42 |SMALL BURNISHED BRASS | 23| 8 +Brand#42 |SMALL BURNISHED NICKEL | 19| 8 +Brand#42 |SMALL BURNISHED STEEL | 14| 8 +Brand#42 |SMALL PLATED BRASS | 19| 8 +Brand#42 |SMALL PLATED COPPER | 36| 8 +Brand#42 |SMALL PLATED STEEL | 3| 8 +Brand#42 |SMALL PLATED STEEL | 23| 8 +Brand#42 |SMALL PLATED STEEL | 36| 8 +Brand#42 |SMALL PLATED TIN | 14| 8 +Brand#42 |SMALL PLATED TIN | 19| 8 +Brand#42 |SMALL PLATED TIN | 36| 8 +Brand#42 |SMALL POLISHED BRASS | 23| 8 +Brand#42 |SMALL POLISHED BRASS | 45| 8 +Brand#42 |SMALL POLISHED COPPER | 23| 8 +Brand#42 |SMALL POLISHED COPPER | 45| 8 +Brand#42 |SMALL POLISHED NICKEL | 14| 8 +Brand#42 |SMALL POLISHED NICKEL | 19| 8 +Brand#42 |SMALL POLISHED NICKEL | 45| 8 +Brand#42 |SMALL POLISHED STEEL | 49| 8 +Brand#42 |SMALL POLISHED TIN | 14| 8 +Brand#42 |SMALL POLISHED TIN | 36| 8 +Brand#42 |SMALL POLISHED TIN | 49| 8 +Brand#42 |STANDARD ANODIZED BRASS | 36| 8 +Brand#42 |STANDARD ANODIZED COPPER | 14| 8 +Brand#42 |STANDARD ANODIZED STEEL | 3| 8 +Brand#42 |STANDARD ANODIZED STEEL | 9| 8 +Brand#42 |STANDARD ANODIZED STEEL | 45| 8 +Brand#42 |STANDARD ANODIZED TIN | 3| 8 +Brand#42 |STANDARD BRUSHED BRASS | 3| 8 +Brand#42 |STANDARD BRUSHED BRASS | 9| 8 +Brand#42 |STANDARD BRUSHED BRASS | 23| 8 +Brand#42 |STANDARD BRUSHED COPPER | 36| 8 +Brand#42 |STANDARD BRUSHED COPPER | 49| 8 +Brand#42 |STANDARD BRUSHED NICKEL | 23| 8 +Brand#42 |STANDARD BRUSHED NICKEL | 49| 8 +Brand#42 |STANDARD BRUSHED STEEL | 23| 8 +Brand#42 |STANDARD BRUSHED TIN | 49| 8 +Brand#42 |STANDARD BURNISHED BRASS | 9| 8 +Brand#42 |STANDARD BURNISHED BRASS | 14| 8 +Brand#42 |STANDARD BURNISHED BRASS | 49| 8 +Brand#42 |STANDARD BURNISHED NICKEL| 14| 8 +Brand#42 |STANDARD BURNISHED NICKEL| 49| 8 +Brand#42 |STANDARD BURNISHED STEEL | 36| 8 +Brand#42 |STANDARD BURNISHED TIN | 9| 8 +Brand#42 |STANDARD PLATED COPPER | 49| 8 +Brand#42 |STANDARD PLATED NICKEL | 14| 8 +Brand#42 |STANDARD PLATED NICKEL | 45| 8 +Brand#42 |STANDARD PLATED STEEL | 14| 8 +Brand#42 |STANDARD PLATED STEEL | 19| 8 +Brand#42 |STANDARD PLATED STEEL | 36| 8 +Brand#42 |STANDARD PLATED STEEL | 45| 8 +Brand#42 |STANDARD PLATED TIN | 9| 8 +Brand#42 |STANDARD PLATED TIN | 14| 8 +Brand#42 |STANDARD POLISHED BRASS | 19| 8 +Brand#42 |STANDARD POLISHED BRASS | 36| 8 +Brand#42 |STANDARD POLISHED COPPER | 14| 8 +Brand#42 |STANDARD POLISHED COPPER | 19| 8 +Brand#42 |STANDARD POLISHED COPPER | 49| 8 +Brand#42 |STANDARD POLISHED NICKEL | 14| 8 +Brand#42 |STANDARD POLISHED NICKEL | 23| 8 +Brand#42 |STANDARD POLISHED STEEL | 23| 8 +Brand#42 |STANDARD POLISHED TIN | 14| 8 +Brand#42 |STANDARD POLISHED TIN | 23| 8 +Brand#42 |STANDARD POLISHED TIN | 36| 8 +Brand#43 |ECONOMY ANODIZED BRASS | 3| 8 +Brand#43 |ECONOMY ANODIZED NICKEL | 3| 8 +Brand#43 |ECONOMY ANODIZED NICKEL | 49| 8 +Brand#43 |ECONOMY ANODIZED STEEL | 23| 8 +Brand#43 |ECONOMY ANODIZED STEEL | 36| 8 +Brand#43 |ECONOMY ANODIZED TIN | 49| 8 +Brand#43 |ECONOMY BRUSHED COPPER | 45| 8 +Brand#43 |ECONOMY BRUSHED NICKEL | 9| 8 +Brand#43 |ECONOMY BRUSHED NICKEL | 14| 8 +Brand#43 |ECONOMY BRUSHED NICKEL | 19| 8 +Brand#43 |ECONOMY BRUSHED NICKEL | 49| 8 +Brand#43 |ECONOMY BRUSHED TIN | 36| 8 +Brand#43 |ECONOMY BRUSHED TIN | 45| 8 +Brand#43 |ECONOMY BURNISHED BRASS | 19| 8 +Brand#43 |ECONOMY BURNISHED COPPER | 14| 8 +Brand#43 |ECONOMY BURNISHED COPPER | 36| 8 +Brand#43 |ECONOMY BURNISHED NICKEL | 9| 8 +Brand#43 |ECONOMY BURNISHED NICKEL | 14| 8 +Brand#43 |ECONOMY BURNISHED NICKEL | 23| 8 +Brand#43 |ECONOMY BURNISHED NICKEL | 45| 8 +Brand#43 |ECONOMY BURNISHED STEEL | 3| 8 +Brand#43 |ECONOMY BURNISHED STEEL | 36| 8 +Brand#43 |ECONOMY BURNISHED TIN | 3| 8 +Brand#43 |ECONOMY BURNISHED TIN | 49| 8 +Brand#43 |ECONOMY PLATED COPPER | 19| 8 +Brand#43 |ECONOMY PLATED NICKEL | 9| 8 +Brand#43 |ECONOMY PLATED STEEL | 19| 8 +Brand#43 |ECONOMY PLATED TIN | 9| 8 +Brand#43 |ECONOMY PLATED TIN | 19| 8 +Brand#43 |ECONOMY POLISHED BRASS | 19| 8 +Brand#43 |ECONOMY POLISHED COPPER | 19| 8 +Brand#43 |ECONOMY POLISHED COPPER | 36| 8 +Brand#43 |ECONOMY POLISHED NICKEL | 19| 8 +Brand#43 |ECONOMY POLISHED NICKEL | 36| 8 +Brand#43 |ECONOMY POLISHED STEEL | 3| 8 +Brand#43 |ECONOMY POLISHED TIN | 9| 8 +Brand#43 |ECONOMY POLISHED TIN | 36| 8 +Brand#43 |ECONOMY POLISHED TIN | 45| 8 +Brand#43 |LARGE ANODIZED BRASS | 14| 8 +Brand#43 |LARGE ANODIZED BRASS | 36| 8 +Brand#43 |LARGE ANODIZED COPPER | 19| 8 +Brand#43 |LARGE ANODIZED NICKEL | 3| 8 +Brand#43 |LARGE ANODIZED NICKEL | 23| 8 +Brand#43 |LARGE ANODIZED NICKEL | 36| 8 +Brand#43 |LARGE ANODIZED STEEL | 23| 8 +Brand#43 |LARGE ANODIZED STEEL | 49| 8 +Brand#43 |LARGE ANODIZED TIN | 19| 8 +Brand#43 |LARGE BRUSHED BRASS | 23| 8 +Brand#43 |LARGE BRUSHED COPPER | 19| 8 +Brand#43 |LARGE BRUSHED COPPER | 36| 8 +Brand#43 |LARGE BRUSHED NICKEL | 14| 8 +Brand#43 |LARGE BRUSHED NICKEL | 19| 8 +Brand#43 |LARGE BRUSHED NICKEL | 36| 8 +Brand#43 |LARGE BRUSHED NICKEL | 49| 8 +Brand#43 |LARGE BRUSHED STEEL | 3| 8 +Brand#43 |LARGE BRUSHED TIN | 23| 8 +Brand#43 |LARGE BURNISHED BRASS | 9| 8 +Brand#43 |LARGE BURNISHED BRASS | 14| 8 +Brand#43 |LARGE BURNISHED BRASS | 49| 8 +Brand#43 |LARGE BURNISHED COPPER | 3| 8 +Brand#43 |LARGE BURNISHED NICKEL | 36| 8 +Brand#43 |LARGE BURNISHED TIN | 23| 8 +Brand#43 |LARGE PLATED BRASS | 9| 8 +Brand#43 |LARGE PLATED BRASS | 45| 8 +Brand#43 |LARGE PLATED COPPER | 36| 8 +Brand#43 |LARGE PLATED NICKEL | 3| 8 +Brand#43 |LARGE PLATED NICKEL | 14| 8 +Brand#43 |LARGE PLATED NICKEL | 49| 8 +Brand#43 |LARGE PLATED STEEL | 3| 8 +Brand#43 |LARGE PLATED STEEL | 14| 8 +Brand#43 |LARGE PLATED STEEL | 49| 8 +Brand#43 |LARGE PLATED TIN | 23| 8 +Brand#43 |LARGE PLATED TIN | 36| 8 +Brand#43 |LARGE PLATED TIN | 45| 8 +Brand#43 |LARGE POLISHED BRASS | 36| 8 +Brand#43 |LARGE POLISHED COPPER | 3| 8 +Brand#43 |LARGE POLISHED COPPER | 14| 8 +Brand#43 |LARGE POLISHED COPPER | 36| 8 +Brand#43 |LARGE POLISHED NICKEL | 3| 8 +Brand#43 |LARGE POLISHED STEEL | 9| 8 +Brand#43 |LARGE POLISHED STEEL | 14| 8 +Brand#43 |LARGE POLISHED STEEL | 19| 8 +Brand#43 |MEDIUM ANODIZED BRASS | 49| 8 +Brand#43 |MEDIUM ANODIZED COPPER | 19| 8 +Brand#43 |MEDIUM ANODIZED COPPER | 23| 8 +Brand#43 |MEDIUM ANODIZED NICKEL | 3| 8 +Brand#43 |MEDIUM ANODIZED STEEL | 9| 8 +Brand#43 |MEDIUM ANODIZED STEEL | 19| 8 +Brand#43 |MEDIUM ANODIZED STEEL | 36| 8 +Brand#43 |MEDIUM BRUSHED BRASS | 9| 8 +Brand#43 |MEDIUM BRUSHED BRASS | 14| 8 +Brand#43 |MEDIUM BRUSHED COPPER | 45| 8 +Brand#43 |MEDIUM BRUSHED STEEL | 19| 8 +Brand#43 |MEDIUM BRUSHED STEEL | 49| 8 +Brand#43 |MEDIUM BRUSHED TIN | 49| 8 +Brand#43 |MEDIUM BURNISHED BRASS | 19| 8 +Brand#43 |MEDIUM BURNISHED NICKEL | 19| 8 +Brand#43 |MEDIUM BURNISHED NICKEL | 36| 8 +Brand#43 |MEDIUM BURNISHED STEEL | 23| 8 +Brand#43 |MEDIUM BURNISHED TIN | 14| 8 +Brand#43 |MEDIUM BURNISHED TIN | 36| 8 +Brand#43 |MEDIUM PLATED BRASS | 19| 8 +Brand#43 |MEDIUM PLATED BRASS | 36| 8 +Brand#43 |MEDIUM PLATED COPPER | 3| 8 +Brand#43 |MEDIUM PLATED COPPER | 49| 8 +Brand#43 |MEDIUM PLATED NICKEL | 36| 8 +Brand#43 |MEDIUM PLATED NICKEL | 45| 8 +Brand#43 |MEDIUM PLATED TIN | 45| 8 +Brand#43 |PROMO ANODIZED BRASS | 3| 8 +Brand#43 |PROMO ANODIZED BRASS | 9| 8 +Brand#43 |PROMO ANODIZED BRASS | 45| 8 +Brand#43 |PROMO ANODIZED NICKEL | 14| 8 +Brand#43 |PROMO ANODIZED NICKEL | 45| 8 +Brand#43 |PROMO ANODIZED STEEL | 49| 8 +Brand#43 |PROMO ANODIZED TIN | 3| 8 +Brand#43 |PROMO ANODIZED TIN | 14| 8 +Brand#43 |PROMO ANODIZED TIN | 19| 8 +Brand#43 |PROMO ANODIZED TIN | 49| 8 +Brand#43 |PROMO BRUSHED BRASS | 3| 8 +Brand#43 |PROMO BRUSHED BRASS | 45| 8 +Brand#43 |PROMO BRUSHED COPPER | 23| 8 +Brand#43 |PROMO BRUSHED NICKEL | 14| 8 +Brand#43 |PROMO BRUSHED NICKEL | 19| 8 +Brand#43 |PROMO BRUSHED STEEL | 14| 8 +Brand#43 |PROMO BURNISHED BRASS | 3| 8 +Brand#43 |PROMO BURNISHED BRASS | 49| 8 +Brand#43 |PROMO BURNISHED COPPER | 14| 8 +Brand#43 |PROMO BURNISHED NICKEL | 49| 8 +Brand#43 |PROMO BURNISHED STEEL | 49| 8 +Brand#43 |PROMO BURNISHED TIN | 9| 8 +Brand#43 |PROMO BURNISHED TIN | 36| 8 +Brand#43 |PROMO BURNISHED TIN | 49| 8 +Brand#43 |PROMO PLATED BRASS | 14| 8 +Brand#43 |PROMO PLATED COPPER | 45| 8 +Brand#43 |PROMO PLATED NICKEL | 45| 8 +Brand#43 |PROMO PLATED STEEL | 45| 8 +Brand#43 |PROMO PLATED TIN | 23| 8 +Brand#43 |PROMO POLISHED BRASS | 23| 8 +Brand#43 |PROMO POLISHED COPPER | 3| 8 +Brand#43 |PROMO POLISHED COPPER | 14| 8 +Brand#43 |PROMO POLISHED COPPER | 36| 8 +Brand#43 |PROMO POLISHED NICKEL | 14| 8 +Brand#43 |PROMO POLISHED NICKEL | 19| 8 +Brand#43 |PROMO POLISHED STEEL | 14| 8 +Brand#43 |PROMO POLISHED STEEL | 23| 8 +Brand#43 |PROMO POLISHED TIN | 3| 8 +Brand#43 |PROMO POLISHED TIN | 36| 8 +Brand#43 |SMALL ANODIZED BRASS | 19| 8 +Brand#43 |SMALL ANODIZED COPPER | 14| 8 +Brand#43 |SMALL ANODIZED COPPER | 19| 8 +Brand#43 |SMALL ANODIZED COPPER | 49| 8 +Brand#43 |SMALL ANODIZED NICKEL | 14| 8 +Brand#43 |SMALL ANODIZED NICKEL | 45| 8 +Brand#43 |SMALL ANODIZED STEEL | 49| 8 +Brand#43 |SMALL ANODIZED TIN | 49| 8 +Brand#43 |SMALL BRUSHED COPPER | 19| 8 +Brand#43 |SMALL BRUSHED COPPER | 49| 8 +Brand#43 |SMALL BRUSHED NICKEL | 9| 8 +Brand#43 |SMALL BRUSHED NICKEL | 49| 8 +Brand#43 |SMALL BRUSHED STEEL | 45| 8 +Brand#43 |SMALL BRUSHED TIN | 3| 8 +Brand#43 |SMALL BURNISHED COPPER | 23| 8 +Brand#43 |SMALL BURNISHED STEEL | 9| 8 +Brand#43 |SMALL BURNISHED STEEL | 45| 8 +Brand#43 |SMALL BURNISHED TIN | 9| 8 +Brand#43 |SMALL BURNISHED TIN | 49| 8 +Brand#43 |SMALL PLATED BRASS | 23| 8 +Brand#43 |SMALL PLATED BRASS | 45| 8 +Brand#43 |SMALL PLATED COPPER | 45| 8 +Brand#43 |SMALL PLATED NICKEL | 3| 8 +Brand#43 |SMALL PLATED NICKEL | 19| 8 +Brand#43 |SMALL PLATED NICKEL | 23| 8 +Brand#43 |SMALL PLATED NICKEL | 45| 8 +Brand#43 |SMALL PLATED NICKEL | 49| 8 +Brand#43 |SMALL PLATED STEEL | 14| 8 +Brand#43 |SMALL PLATED STEEL | 36| 8 +Brand#43 |SMALL PLATED TIN | 14| 8 +Brand#43 |SMALL POLISHED BRASS | 9| 8 +Brand#43 |SMALL POLISHED BRASS | 19| 8 +Brand#43 |SMALL POLISHED COPPER | 9| 8 +Brand#43 |SMALL POLISHED COPPER | 19| 8 +Brand#43 |SMALL POLISHED NICKEL | 3| 8 +Brand#43 |SMALL POLISHED NICKEL | 36| 8 +Brand#43 |SMALL POLISHED STEEL | 45| 8 +Brand#43 |SMALL POLISHED STEEL | 49| 8 +Brand#43 |SMALL POLISHED TIN | 36| 8 +Brand#43 |STANDARD ANODIZED COPPER | 3| 8 +Brand#43 |STANDARD ANODIZED COPPER | 9| 8 +Brand#43 |STANDARD ANODIZED COPPER | 14| 8 +Brand#43 |STANDARD ANODIZED COPPER | 49| 8 +Brand#43 |STANDARD ANODIZED NICKEL | 49| 8 +Brand#43 |STANDARD ANODIZED STEEL | 3| 8 +Brand#43 |STANDARD ANODIZED STEEL | 14| 8 +Brand#43 |STANDARD ANODIZED STEEL | 45| 8 +Brand#43 |STANDARD ANODIZED STEEL | 49| 8 +Brand#43 |STANDARD ANODIZED TIN | 14| 8 +Brand#43 |STANDARD BRUSHED BRASS | 14| 8 +Brand#43 |STANDARD BRUSHED BRASS | 36| 8 +Brand#43 |STANDARD BRUSHED NICKEL | 49| 8 +Brand#43 |STANDARD BRUSHED TIN | 19| 8 +Brand#43 |STANDARD BRUSHED TIN | 45| 8 +Brand#43 |STANDARD BRUSHED TIN | 49| 8 +Brand#43 |STANDARD BURNISHED BRASS | 23| 8 +Brand#43 |STANDARD BURNISHED BRASS | 49| 8 +Brand#43 |STANDARD BURNISHED COPPER| 9| 8 +Brand#43 |STANDARD BURNISHED COPPER| 14| 8 +Brand#43 |STANDARD BURNISHED COPPER| 45| 8 +Brand#43 |STANDARD BURNISHED NICKEL| 19| 8 +Brand#43 |STANDARD BURNISHED NICKEL| 49| 8 +Brand#43 |STANDARD BURNISHED STEEL | 9| 8 +Brand#43 |STANDARD BURNISHED STEEL | 19| 8 +Brand#43 |STANDARD BURNISHED STEEL | 45| 8 +Brand#43 |STANDARD BURNISHED TIN | 19| 8 +Brand#43 |STANDARD PLATED COPPER | 36| 8 +Brand#43 |STANDARD PLATED NICKEL | 19| 8 +Brand#43 |STANDARD PLATED NICKEL | 49| 8 +Brand#43 |STANDARD PLATED TIN | 14| 8 +Brand#43 |STANDARD PLATED TIN | 23| 8 +Brand#43 |STANDARD POLISHED BRASS | 19| 8 +Brand#43 |STANDARD POLISHED COPPER | 45| 8 +Brand#43 |STANDARD POLISHED NICKEL | 3| 8 +Brand#43 |STANDARD POLISHED NICKEL | 14| 8 +Brand#43 |STANDARD POLISHED NICKEL | 23| 8 +Brand#43 |STANDARD POLISHED NICKEL | 36| 8 +Brand#43 |STANDARD POLISHED NICKEL | 45| 8 +Brand#43 |STANDARD POLISHED STEEL | 14| 8 +Brand#43 |STANDARD POLISHED STEEL | 49| 8 +Brand#44 |ECONOMY ANODIZED BRASS | 3| 8 +Brand#44 |ECONOMY ANODIZED COPPER | 23| 8 +Brand#44 |ECONOMY ANODIZED COPPER | 49| 8 +Brand#44 |ECONOMY ANODIZED NICKEL | 23| 8 +Brand#44 |ECONOMY ANODIZED STEEL | 19| 8 +Brand#44 |ECONOMY ANODIZED STEEL | 45| 8 +Brand#44 |ECONOMY ANODIZED TIN | 14| 8 +Brand#44 |ECONOMY ANODIZED TIN | 36| 8 +Brand#44 |ECONOMY BRUSHED COPPER | 23| 8 +Brand#44 |ECONOMY BRUSHED STEEL | 9| 8 +Brand#44 |ECONOMY BRUSHED STEEL | 19| 8 +Brand#44 |ECONOMY BRUSHED TIN | 19| 8 +Brand#44 |ECONOMY BRUSHED TIN | 49| 8 +Brand#44 |ECONOMY BURNISHED COPPER | 3| 8 +Brand#44 |ECONOMY BURNISHED COPPER | 9| 8 +Brand#44 |ECONOMY BURNISHED COPPER | 14| 8 +Brand#44 |ECONOMY BURNISHED COPPER | 23| 8 +Brand#44 |ECONOMY BURNISHED COPPER | 49| 8 +Brand#44 |ECONOMY BURNISHED NICKEL | 23| 8 +Brand#44 |ECONOMY BURNISHED NICKEL | 49| 8 +Brand#44 |ECONOMY BURNISHED STEEL | 9| 8 +Brand#44 |ECONOMY BURNISHED STEEL | 19| 8 +Brand#44 |ECONOMY BURNISHED STEEL | 49| 8 +Brand#44 |ECONOMY BURNISHED TIN | 3| 8 +Brand#44 |ECONOMY BURNISHED TIN | 19| 8 +Brand#44 |ECONOMY BURNISHED TIN | 45| 8 +Brand#44 |ECONOMY PLATED COPPER | 45| 8 +Brand#44 |ECONOMY PLATED NICKEL | 23| 8 +Brand#44 |ECONOMY PLATED STEEL | 14| 8 +Brand#44 |ECONOMY PLATED STEEL | 23| 8 +Brand#44 |ECONOMY PLATED STEEL | 36| 8 +Brand#44 |ECONOMY PLATED TIN | 19| 8 +Brand#44 |ECONOMY POLISHED BRASS | 23| 8 +Brand#44 |ECONOMY POLISHED BRASS | 36| 8 +Brand#44 |ECONOMY POLISHED COPPER | 9| 8 +Brand#44 |ECONOMY POLISHED COPPER | 19| 8 +Brand#44 |ECONOMY POLISHED NICKEL | 23| 8 +Brand#44 |ECONOMY POLISHED NICKEL | 36| 8 +Brand#44 |ECONOMY POLISHED NICKEL | 45| 8 +Brand#44 |ECONOMY POLISHED NICKEL | 49| 8 +Brand#44 |ECONOMY POLISHED STEEL | 9| 8 +Brand#44 |ECONOMY POLISHED STEEL | 49| 8 +Brand#44 |ECONOMY POLISHED TIN | 3| 8 +Brand#44 |ECONOMY POLISHED TIN | 19| 8 +Brand#44 |LARGE ANODIZED BRASS | 3| 8 +Brand#44 |LARGE ANODIZED BRASS | 23| 8 +Brand#44 |LARGE ANODIZED BRASS | 49| 8 +Brand#44 |LARGE ANODIZED COPPER | 9| 8 +Brand#44 |LARGE ANODIZED COPPER | 45| 8 +Brand#44 |LARGE ANODIZED NICKEL | 49| 8 +Brand#44 |LARGE ANODIZED STEEL | 19| 8 +Brand#44 |LARGE ANODIZED TIN | 14| 8 +Brand#44 |LARGE BRUSHED BRASS | 14| 8 +Brand#44 |LARGE BRUSHED COPPER | 14| 8 +Brand#44 |LARGE BRUSHED NICKEL | 19| 8 +Brand#44 |LARGE BRUSHED NICKEL | 23| 8 +Brand#44 |LARGE BRUSHED NICKEL | 45| 8 +Brand#44 |LARGE BRUSHED TIN | 23| 8 +Brand#44 |LARGE BURNISHED COPPER | 9| 8 +Brand#44 |LARGE BURNISHED COPPER | 19| 8 +Brand#44 |LARGE BURNISHED COPPER | 23| 8 +Brand#44 |LARGE BURNISHED NICKEL | 36| 8 +Brand#44 |LARGE BURNISHED NICKEL | 49| 8 +Brand#44 |LARGE BURNISHED STEEL | 23| 8 +Brand#44 |LARGE BURNISHED STEEL | 49| 8 +Brand#44 |LARGE BURNISHED TIN | 14| 8 +Brand#44 |LARGE PLATED BRASS | 19| 8 +Brand#44 |LARGE PLATED COPPER | 14| 8 +Brand#44 |LARGE PLATED COPPER | 19| 8 +Brand#44 |LARGE PLATED NICKEL | 9| 8 +Brand#44 |LARGE PLATED NICKEL | 23| 8 +Brand#44 |LARGE PLATED STEEL | 23| 8 +Brand#44 |LARGE PLATED TIN | 14| 8 +Brand#44 |LARGE PLATED TIN | 19| 8 +Brand#44 |LARGE PLATED TIN | 36| 8 +Brand#44 |LARGE PLATED TIN | 49| 8 +Brand#44 |LARGE POLISHED BRASS | 9| 8 +Brand#44 |LARGE POLISHED BRASS | 19| 8 +Brand#44 |LARGE POLISHED BRASS | 23| 8 +Brand#44 |LARGE POLISHED COPPER | 9| 8 +Brand#44 |LARGE POLISHED COPPER | 49| 8 +Brand#44 |LARGE POLISHED NICKEL | 23| 8 +Brand#44 |LARGE POLISHED NICKEL | 36| 8 +Brand#44 |LARGE POLISHED STEEL | 45| 8 +Brand#44 |LARGE POLISHED TIN | 9| 8 +Brand#44 |MEDIUM ANODIZED BRASS | 36| 8 +Brand#44 |MEDIUM ANODIZED COPPER | 14| 8 +Brand#44 |MEDIUM ANODIZED COPPER | 49| 8 +Brand#44 |MEDIUM ANODIZED NICKEL | 19| 8 +Brand#44 |MEDIUM ANODIZED NICKEL | 45| 8 +Brand#44 |MEDIUM ANODIZED STEEL | 9| 8 +Brand#44 |MEDIUM ANODIZED STEEL | 23| 8 +Brand#44 |MEDIUM ANODIZED TIN | 45| 8 +Brand#44 |MEDIUM BRUSHED COPPER | 14| 8 +Brand#44 |MEDIUM BRUSHED NICKEL | 14| 8 +Brand#44 |MEDIUM BRUSHED STEEL | 14| 8 +Brand#44 |MEDIUM BRUSHED STEEL | 19| 8 +Brand#44 |MEDIUM BURNISHED BRASS | 3| 8 +Brand#44 |MEDIUM BURNISHED BRASS | 45| 8 +Brand#44 |MEDIUM BURNISHED COPPER | 45| 8 +Brand#44 |MEDIUM BURNISHED NICKEL | 3| 8 +Brand#44 |MEDIUM BURNISHED NICKEL | 14| 8 +Brand#44 |MEDIUM BURNISHED STEEL | 23| 8 +Brand#44 |MEDIUM BURNISHED TIN | 19| 8 +Brand#44 |MEDIUM BURNISHED TIN | 23| 8 +Brand#44 |MEDIUM PLATED BRASS | 3| 8 +Brand#44 |MEDIUM PLATED BRASS | 23| 8 +Brand#44 |MEDIUM PLATED COPPER | 3| 8 +Brand#44 |MEDIUM PLATED NICKEL | 23| 8 +Brand#44 |MEDIUM PLATED NICKEL | 49| 8 +Brand#44 |PROMO ANODIZED BRASS | 3| 8 +Brand#44 |PROMO ANODIZED BRASS | 14| 8 +Brand#44 |PROMO ANODIZED BRASS | 49| 8 +Brand#44 |PROMO ANODIZED COPPER | 23| 8 +Brand#44 |PROMO ANODIZED NICKEL | 23| 8 +Brand#44 |PROMO ANODIZED NICKEL | 36| 8 +Brand#44 |PROMO ANODIZED STEEL | 9| 8 +Brand#44 |PROMO ANODIZED STEEL | 49| 8 +Brand#44 |PROMO BRUSHED BRASS | 9| 8 +Brand#44 |PROMO BRUSHED COPPER | 9| 8 +Brand#44 |PROMO BRUSHED COPPER | 23| 8 +Brand#44 |PROMO BRUSHED COPPER | 36| 8 +Brand#44 |PROMO BRUSHED NICKEL | 23| 8 +Brand#44 |PROMO BRUSHED NICKEL | 45| 8 +Brand#44 |PROMO BRUSHED STEEL | 3| 8 +Brand#44 |PROMO BRUSHED STEEL | 9| 8 +Brand#44 |PROMO BRUSHED STEEL | 45| 8 +Brand#44 |PROMO BRUSHED STEEL | 49| 8 +Brand#44 |PROMO BRUSHED TIN | 3| 8 +Brand#44 |PROMO BRUSHED TIN | 19| 8 +Brand#44 |PROMO BRUSHED TIN | 45| 8 +Brand#44 |PROMO BURNISHED BRASS | 36| 8 +Brand#44 |PROMO BURNISHED NICKEL | 3| 8 +Brand#44 |PROMO BURNISHED STEEL | 9| 8 +Brand#44 |PROMO BURNISHED STEEL | 19| 8 +Brand#44 |PROMO BURNISHED STEEL | 49| 8 +Brand#44 |PROMO PLATED BRASS | 23| 8 +Brand#44 |PROMO PLATED NICKEL | 9| 8 +Brand#44 |PROMO PLATED NICKEL | 23| 8 +Brand#44 |PROMO PLATED STEEL | 23| 8 +Brand#44 |PROMO PLATED STEEL | 49| 8 +Brand#44 |PROMO PLATED TIN | 14| 8 +Brand#44 |PROMO PLATED TIN | 36| 8 +Brand#44 |PROMO POLISHED BRASS | 36| 8 +Brand#44 |PROMO POLISHED COPPER | 9| 8 +Brand#44 |PROMO POLISHED NICKEL | 45| 8 +Brand#44 |PROMO POLISHED STEEL | 9| 8 +Brand#44 |PROMO POLISHED STEEL | 45| 8 +Brand#44 |PROMO POLISHED TIN | 14| 8 +Brand#44 |PROMO POLISHED TIN | 23| 8 +Brand#44 |PROMO POLISHED TIN | 36| 8 +Brand#44 |PROMO POLISHED TIN | 45| 8 +Brand#44 |PROMO POLISHED TIN | 49| 8 +Brand#44 |SMALL ANODIZED BRASS | 3| 8 +Brand#44 |SMALL ANODIZED BRASS | 9| 8 +Brand#44 |SMALL ANODIZED BRASS | 36| 8 +Brand#44 |SMALL ANODIZED COPPER | 14| 8 +Brand#44 |SMALL ANODIZED COPPER | 19| 8 +Brand#44 |SMALL ANODIZED COPPER | 23| 8 +Brand#44 |SMALL ANODIZED NICKEL | 23| 8 +Brand#44 |SMALL ANODIZED TIN | 14| 8 +Brand#44 |SMALL ANODIZED TIN | 19| 8 +Brand#44 |SMALL ANODIZED TIN | 23| 8 +Brand#44 |SMALL ANODIZED TIN | 45| 8 +Brand#44 |SMALL BRUSHED BRASS | 14| 8 +Brand#44 |SMALL BRUSHED COPPER | 23| 8 +Brand#44 |SMALL BRUSHED TIN | 36| 8 +Brand#44 |SMALL BURNISHED BRASS | 3| 8 +Brand#44 |SMALL BURNISHED BRASS | 36| 8 +Brand#44 |SMALL BURNISHED BRASS | 49| 8 +Brand#44 |SMALL BURNISHED NICKEL | 14| 8 +Brand#44 |SMALL BURNISHED NICKEL | 45| 8 +Brand#44 |SMALL BURNISHED TIN | 9| 8 +Brand#44 |SMALL BURNISHED TIN | 23| 8 +Brand#44 |SMALL BURNISHED TIN | 49| 8 +Brand#44 |SMALL PLATED BRASS | 36| 8 +Brand#44 |SMALL PLATED COPPER | 14| 8 +Brand#44 |SMALL PLATED NICKEL | 45| 8 +Brand#44 |SMALL PLATED NICKEL | 49| 8 +Brand#44 |SMALL PLATED TIN | 19| 8 +Brand#44 |SMALL POLISHED COPPER | 9| 8 +Brand#44 |SMALL POLISHED COPPER | 49| 8 +Brand#44 |SMALL POLISHED NICKEL | 9| 8 +Brand#44 |SMALL POLISHED NICKEL | 14| 8 +Brand#44 |SMALL POLISHED NICKEL | 19| 8 +Brand#44 |SMALL POLISHED NICKEL | 23| 8 +Brand#44 |SMALL POLISHED NICKEL | 45| 8 +Brand#44 |SMALL POLISHED STEEL | 3| 8 +Brand#44 |SMALL POLISHED TIN | 3| 8 +Brand#44 |SMALL POLISHED TIN | 14| 8 +Brand#44 |SMALL POLISHED TIN | 19| 8 +Brand#44 |SMALL POLISHED TIN | 23| 8 +Brand#44 |SMALL POLISHED TIN | 45| 8 +Brand#44 |STANDARD ANODIZED COPPER | 3| 8 +Brand#44 |STANDARD ANODIZED COPPER | 19| 8 +Brand#44 |STANDARD ANODIZED STEEL | 14| 8 +Brand#44 |STANDARD ANODIZED STEEL | 45| 8 +Brand#44 |STANDARD ANODIZED TIN | 23| 8 +Brand#44 |STANDARD ANODIZED TIN | 36| 8 +Brand#44 |STANDARD BRUSHED BRASS | 14| 8 +Brand#44 |STANDARD BRUSHED BRASS | 45| 8 +Brand#44 |STANDARD BRUSHED COPPER | 19| 8 +Brand#44 |STANDARD BRUSHED NICKEL | 23| 8 +Brand#44 |STANDARD BRUSHED STEEL | 23| 8 +Brand#44 |STANDARD BRUSHED STEEL | 49| 8 +Brand#44 |STANDARD BRUSHED TIN | 9| 8 +Brand#44 |STANDARD BRUSHED TIN | 19| 8 +Brand#44 |STANDARD BRUSHED TIN | 23| 8 +Brand#44 |STANDARD BURNISHED BRASS | 9| 8 +Brand#44 |STANDARD BURNISHED BRASS | 49| 8 +Brand#44 |STANDARD BURNISHED COPPER| 45| 8 +Brand#44 |STANDARD BURNISHED NICKEL| 19| 8 +Brand#44 |STANDARD BURNISHED NICKEL| 23| 8 +Brand#44 |STANDARD BURNISHED STEEL | 3| 8 +Brand#44 |STANDARD BURNISHED STEEL | 14| 8 +Brand#44 |STANDARD BURNISHED STEEL | 45| 8 +Brand#44 |STANDARD BURNISHED TIN | 19| 8 +Brand#44 |STANDARD PLATED BRASS | 9| 8 +Brand#44 |STANDARD PLATED BRASS | 45| 8 +Brand#44 |STANDARD PLATED COPPER | 9| 8 +Brand#44 |STANDARD PLATED COPPER | 23| 8 +Brand#44 |STANDARD PLATED COPPER | 49| 8 +Brand#44 |STANDARD PLATED NICKEL | 14| 8 +Brand#44 |STANDARD PLATED NICKEL | 19| 8 +Brand#44 |STANDARD PLATED TIN | 19| 8 +Brand#44 |STANDARD PLATED TIN | 49| 8 +Brand#44 |STANDARD POLISHED COPPER | 14| 8 +Brand#44 |STANDARD POLISHED COPPER | 19| 8 +Brand#44 |STANDARD POLISHED COPPER | 45| 8 +Brand#44 |STANDARD POLISHED COPPER | 49| 8 +Brand#44 |STANDARD POLISHED NICKEL | 36| 8 +Brand#44 |STANDARD POLISHED TIN | 9| 8 +Brand#44 |STANDARD POLISHED TIN | 19| 8 +Brand#51 |ECONOMY ANODIZED BRASS | 49| 8 +Brand#51 |ECONOMY ANODIZED COPPER | 3| 8 +Brand#51 |ECONOMY ANODIZED NICKEL | 3| 8 +Brand#51 |ECONOMY ANODIZED NICKEL | 23| 8 +Brand#51 |ECONOMY ANODIZED STEEL | 36| 8 +Brand#51 |ECONOMY ANODIZED STEEL | 45| 8 +Brand#51 |ECONOMY ANODIZED STEEL | 49| 8 +Brand#51 |ECONOMY ANODIZED TIN | 23| 8 +Brand#51 |ECONOMY BRUSHED BRASS | 3| 8 +Brand#51 |ECONOMY BRUSHED COPPER | 36| 8 +Brand#51 |ECONOMY BRUSHED COPPER | 45| 8 +Brand#51 |ECONOMY BRUSHED NICKEL | 14| 8 +Brand#51 |ECONOMY BRUSHED NICKEL | 19| 8 +Brand#51 |ECONOMY BRUSHED STEEL | 9| 8 +Brand#51 |ECONOMY BRUSHED STEEL | 14| 8 +Brand#51 |ECONOMY BRUSHED STEEL | 49| 8 +Brand#51 |ECONOMY BRUSHED TIN | 19| 8 +Brand#51 |ECONOMY BURNISHED BRASS | 14| 8 +Brand#51 |ECONOMY BURNISHED STEEL | 14| 8 +Brand#51 |ECONOMY BURNISHED STEEL | 19| 8 +Brand#51 |ECONOMY BURNISHED STEEL | 36| 8 +Brand#51 |ECONOMY BURNISHED TIN | 14| 8 +Brand#51 |ECONOMY BURNISHED TIN | 45| 8 +Brand#51 |ECONOMY PLATED BRASS | 3| 8 +Brand#51 |ECONOMY PLATED BRASS | 23| 8 +Brand#51 |ECONOMY PLATED BRASS | 36| 8 +Brand#51 |ECONOMY PLATED COPPER | 49| 8 +Brand#51 |ECONOMY PLATED NICKEL | 9| 8 +Brand#51 |ECONOMY PLATED NICKEL | 14| 8 +Brand#51 |ECONOMY PLATED NICKEL | 49| 8 +Brand#51 |ECONOMY PLATED TIN | 36| 8 +Brand#51 |ECONOMY PLATED TIN | 49| 8 +Brand#51 |ECONOMY POLISHED BRASS | 14| 8 +Brand#51 |ECONOMY POLISHED BRASS | 36| 8 +Brand#51 |ECONOMY POLISHED BRASS | 49| 8 +Brand#51 |ECONOMY POLISHED COPPER | 9| 8 +Brand#51 |ECONOMY POLISHED NICKEL | 19| 8 +Brand#51 |ECONOMY POLISHED NICKEL | 36| 8 +Brand#51 |ECONOMY POLISHED STEEL | 3| 8 +Brand#51 |ECONOMY POLISHED STEEL | 9| 8 +Brand#51 |ECONOMY POLISHED STEEL | 14| 8 +Brand#51 |ECONOMY POLISHED STEEL | 36| 8 +Brand#51 |ECONOMY POLISHED TIN | 14| 8 +Brand#51 |ECONOMY POLISHED TIN | 19| 8 +Brand#51 |LARGE ANODIZED BRASS | 19| 8 +Brand#51 |LARGE ANODIZED BRASS | 23| 8 +Brand#51 |LARGE ANODIZED COPPER | 36| 8 +Brand#51 |LARGE ANODIZED COPPER | 49| 8 +Brand#51 |LARGE ANODIZED NICKEL | 14| 8 +Brand#51 |LARGE ANODIZED NICKEL | 45| 8 +Brand#51 |LARGE ANODIZED STEEL | 45| 8 +Brand#51 |LARGE ANODIZED TIN | 19| 8 +Brand#51 |LARGE BRUSHED BRASS | 9| 8 +Brand#51 |LARGE BRUSHED BRASS | 23| 8 +Brand#51 |LARGE BRUSHED COPPER | 23| 8 +Brand#51 |LARGE BRUSHED COPPER | 49| 8 +Brand#51 |LARGE BRUSHED NICKEL | 9| 8 +Brand#51 |LARGE BRUSHED NICKEL | 19| 8 +Brand#51 |LARGE BRUSHED NICKEL | 45| 8 +Brand#51 |LARGE BURNISHED BRASS | 3| 8 +Brand#51 |LARGE BURNISHED BRASS | 14| 8 +Brand#51 |LARGE BURNISHED BRASS | 36| 8 +Brand#51 |LARGE BURNISHED NICKEL | 23| 8 +Brand#51 |LARGE BURNISHED STEEL | 9| 8 +Brand#51 |LARGE BURNISHED STEEL | 36| 8 +Brand#51 |LARGE PLATED BRASS | 23| 8 +Brand#51 |LARGE PLATED COPPER | 49| 8 +Brand#51 |LARGE PLATED NICKEL | 3| 8 +Brand#51 |LARGE PLATED NICKEL | 36| 8 +Brand#51 |LARGE PLATED STEEL | 3| 8 +Brand#51 |LARGE PLATED TIN | 9| 8 +Brand#51 |LARGE PLATED TIN | 36| 8 +Brand#51 |LARGE POLISHED BRASS | 9| 8 +Brand#51 |LARGE POLISHED COPPER | 14| 8 +Brand#51 |LARGE POLISHED COPPER | 45| 8 +Brand#51 |LARGE POLISHED NICKEL | 14| 8 +Brand#51 |LARGE POLISHED STEEL | 3| 8 +Brand#51 |LARGE POLISHED TIN | 14| 8 +Brand#51 |LARGE POLISHED TIN | 23| 8 +Brand#51 |MEDIUM ANODIZED BRASS | 23| 8 +Brand#51 |MEDIUM ANODIZED BRASS | 49| 8 +Brand#51 |MEDIUM ANODIZED COPPER | 9| 8 +Brand#51 |MEDIUM ANODIZED COPPER | 45| 8 +Brand#51 |MEDIUM ANODIZED NICKEL | 9| 8 +Brand#51 |MEDIUM ANODIZED NICKEL | 14| 8 +Brand#51 |MEDIUM ANODIZED NICKEL | 36| 8 +Brand#51 |MEDIUM ANODIZED STEEL | 3| 8 +Brand#51 |MEDIUM ANODIZED STEEL | 36| 8 +Brand#51 |MEDIUM ANODIZED TIN | 3| 8 +Brand#51 |MEDIUM ANODIZED TIN | 19| 8 +Brand#51 |MEDIUM BRUSHED COPPER | 3| 8 +Brand#51 |MEDIUM BRUSHED COPPER | 45| 8 +Brand#51 |MEDIUM BRUSHED NICKEL | 14| 8 +Brand#51 |MEDIUM BURNISHED BRASS | 9| 8 +Brand#51 |MEDIUM BURNISHED COPPER | 3| 8 +Brand#51 |MEDIUM BURNISHED COPPER | 9| 8 +Brand#51 |MEDIUM BURNISHED COPPER | 19| 8 +Brand#51 |MEDIUM BURNISHED NICKEL | 9| 8 +Brand#51 |MEDIUM BURNISHED NICKEL | 23| 8 +Brand#51 |MEDIUM BURNISHED NICKEL | 36| 8 +Brand#51 |MEDIUM BURNISHED STEEL | 14| 8 +Brand#51 |MEDIUM BURNISHED STEEL | 49| 8 +Brand#51 |MEDIUM BURNISHED TIN | 9| 8 +Brand#51 |MEDIUM BURNISHED TIN | 49| 8 +Brand#51 |MEDIUM PLATED BRASS | 49| 8 +Brand#51 |MEDIUM PLATED COPPER | 9| 8 +Brand#51 |MEDIUM PLATED COPPER | 19| 8 +Brand#51 |MEDIUM PLATED NICKEL | 3| 8 +Brand#51 |MEDIUM PLATED NICKEL | 9| 8 +Brand#51 |MEDIUM PLATED STEEL | 9| 8 +Brand#51 |MEDIUM PLATED STEEL | 49| 8 +Brand#51 |PROMO ANODIZED COPPER | 49| 8 +Brand#51 |PROMO ANODIZED NICKEL | 19| 8 +Brand#51 |PROMO ANODIZED TIN | 14| 8 +Brand#51 |PROMO ANODIZED TIN | 19| 8 +Brand#51 |PROMO BRUSHED BRASS | 19| 8 +Brand#51 |PROMO BRUSHED NICKEL | 9| 8 +Brand#51 |PROMO BRUSHED NICKEL | 14| 8 +Brand#51 |PROMO BRUSHED STEEL | 49| 8 +Brand#51 |PROMO BRUSHED TIN | 45| 8 +Brand#51 |PROMO BURNISHED BRASS | 3| 8 +Brand#51 |PROMO BURNISHED BRASS | 19| 8 +Brand#51 |PROMO BURNISHED BRASS | 23| 8 +Brand#51 |PROMO BURNISHED NICKEL | 3| 8 +Brand#51 |PROMO BURNISHED STEEL | 14| 8 +Brand#51 |PROMO BURNISHED TIN | 3| 8 +Brand#51 |PROMO BURNISHED TIN | 36| 8 +Brand#51 |PROMO BURNISHED TIN | 45| 8 +Brand#51 |PROMO PLATED BRASS | 19| 8 +Brand#51 |PROMO PLATED BRASS | 49| 8 +Brand#51 |PROMO PLATED COPPER | 19| 8 +Brand#51 |PROMO PLATED NICKEL | 23| 8 +Brand#51 |PROMO PLATED STEEL | 3| 8 +Brand#51 |PROMO PLATED STEEL | 23| 8 +Brand#51 |PROMO PLATED STEEL | 49| 8 +Brand#51 |PROMO PLATED TIN | 3| 8 +Brand#51 |PROMO PLATED TIN | 19| 8 +Brand#51 |PROMO POLISHED BRASS | 3| 8 +Brand#51 |PROMO POLISHED BRASS | 9| 8 +Brand#51 |PROMO POLISHED BRASS | 19| 8 +Brand#51 |PROMO POLISHED BRASS | 23| 8 +Brand#51 |PROMO POLISHED COPPER | 9| 8 +Brand#51 |PROMO POLISHED COPPER | 14| 8 +Brand#51 |PROMO POLISHED STEEL | 36| 8 +Brand#51 |PROMO POLISHED STEEL | 45| 8 +Brand#51 |SMALL ANODIZED BRASS | 9| 8 +Brand#51 |SMALL ANODIZED COPPER | 49| 8 +Brand#51 |SMALL ANODIZED NICKEL | 14| 8 +Brand#51 |SMALL ANODIZED STEEL | 3| 8 +Brand#51 |SMALL ANODIZED STEEL | 14| 8 +Brand#51 |SMALL ANODIZED STEEL | 23| 8 +Brand#51 |SMALL ANODIZED STEEL | 45| 8 +Brand#51 |SMALL ANODIZED TIN | 19| 8 +Brand#51 |SMALL BRUSHED BRASS | 9| 8 +Brand#51 |SMALL BRUSHED COPPER | 3| 8 +Brand#51 |SMALL BRUSHED COPPER | 19| 8 +Brand#51 |SMALL BRUSHED COPPER | 45| 8 +Brand#51 |SMALL BRUSHED NICKEL | 23| 8 +Brand#51 |SMALL BRUSHED STEEL | 3| 8 +Brand#51 |SMALL BRUSHED STEEL | 9| 8 +Brand#51 |SMALL BRUSHED STEEL | 14| 8 +Brand#51 |SMALL BRUSHED TIN | 9| 8 +Brand#51 |SMALL BRUSHED TIN | 36| 8 +Brand#51 |SMALL BURNISHED BRASS | 36| 8 +Brand#51 |SMALL BURNISHED BRASS | 49| 8 +Brand#51 |SMALL BURNISHED COPPER | 14| 8 +Brand#51 |SMALL BURNISHED COPPER | 23| 8 +Brand#51 |SMALL BURNISHED NICKEL | 19| 8 +Brand#51 |SMALL BURNISHED NICKEL | 49| 8 +Brand#51 |SMALL BURNISHED STEEL | 14| 8 +Brand#51 |SMALL BURNISHED STEEL | 19| 8 +Brand#51 |SMALL BURNISHED TIN | 49| 8 +Brand#51 |SMALL PLATED COPPER | 45| 8 +Brand#51 |SMALL PLATED COPPER | 49| 8 +Brand#51 |SMALL PLATED NICKEL | 9| 8 +Brand#51 |SMALL PLATED STEEL | 36| 8 +Brand#51 |SMALL PLATED STEEL | 45| 8 +Brand#51 |SMALL PLATED TIN | 19| 8 +Brand#51 |SMALL POLISHED BRASS | 19| 8 +Brand#51 |SMALL POLISHED COPPER | 36| 8 +Brand#51 |SMALL POLISHED STEEL | 23| 8 +Brand#51 |SMALL POLISHED STEEL | 45| 8 +Brand#51 |SMALL POLISHED TIN | 49| 8 +Brand#51 |STANDARD ANODIZED BRASS | 19| 8 +Brand#51 |STANDARD ANODIZED BRASS | 36| 8 +Brand#51 |STANDARD ANODIZED NICKEL | 3| 8 +Brand#51 |STANDARD ANODIZED NICKEL | 9| 8 +Brand#51 |STANDARD ANODIZED NICKEL | 19| 8 +Brand#51 |STANDARD ANODIZED STEEL | 9| 8 +Brand#51 |STANDARD ANODIZED STEEL | 36| 8 +Brand#51 |STANDARD ANODIZED TIN | 9| 8 +Brand#51 |STANDARD ANODIZED TIN | 23| 8 +Brand#51 |STANDARD BRUSHED COPPER | 23| 8 +Brand#51 |STANDARD BRUSHED COPPER | 45| 8 +Brand#51 |STANDARD BRUSHED NICKEL | 19| 8 +Brand#51 |STANDARD BRUSHED NICKEL | 23| 8 +Brand#51 |STANDARD BRUSHED STEEL | 19| 8 +Brand#51 |STANDARD BURNISHED BRASS | 3| 8 +Brand#51 |STANDARD BURNISHED BRASS | 23| 8 +Brand#51 |STANDARD BURNISHED COPPER| 23| 8 +Brand#51 |STANDARD BURNISHED NICKEL| 14| 8 +Brand#51 |STANDARD BURNISHED NICKEL| 23| 8 +Brand#51 |STANDARD BURNISHED NICKEL| 36| 8 +Brand#51 |STANDARD BURNISHED NICKEL| 49| 8 +Brand#51 |STANDARD BURNISHED TIN | 14| 8 +Brand#51 |STANDARD PLATED BRASS | 49| 8 +Brand#51 |STANDARD PLATED COPPER | 19| 8 +Brand#51 |STANDARD PLATED COPPER | 45| 8 +Brand#51 |STANDARD PLATED NICKEL | 19| 8 +Brand#51 |STANDARD PLATED STEEL | 19| 8 +Brand#51 |STANDARD PLATED TIN | 9| 8 +Brand#51 |STANDARD POLISHED BRASS | 3| 8 +Brand#51 |STANDARD POLISHED BRASS | 45| 8 +Brand#51 |STANDARD POLISHED COPPER | 9| 8 +Brand#51 |STANDARD POLISHED COPPER | 49| 8 +Brand#51 |STANDARD POLISHED NICKEL | 3| 8 +Brand#51 |STANDARD POLISHED NICKEL | 49| 8 +Brand#51 |STANDARD POLISHED STEEL | 9| 8 +Brand#51 |STANDARD POLISHED STEEL | 14| 8 +Brand#51 |STANDARD POLISHED STEEL | 49| 8 +Brand#51 |STANDARD POLISHED TIN | 14| 8 +Brand#51 |STANDARD POLISHED TIN | 23| 8 +Brand#51 |STANDARD POLISHED TIN | 49| 8 +Brand#52 |ECONOMY ANODIZED BRASS | 14| 8 +Brand#52 |ECONOMY ANODIZED BRASS | 36| 8 +Brand#52 |ECONOMY ANODIZED NICKEL | 23| 8 +Brand#52 |ECONOMY ANODIZED STEEL | 3| 8 +Brand#52 |ECONOMY ANODIZED STEEL | 19| 8 +Brand#52 |ECONOMY ANODIZED TIN | 3| 8 +Brand#52 |ECONOMY ANODIZED TIN | 14| 8 +Brand#52 |ECONOMY ANODIZED TIN | 49| 8 +Brand#52 |ECONOMY BRUSHED BRASS | 36| 8 +Brand#52 |ECONOMY BRUSHED STEEL | 3| 8 +Brand#52 |ECONOMY BRUSHED STEEL | 14| 8 +Brand#52 |ECONOMY BRUSHED TIN | 9| 8 +Brand#52 |ECONOMY BRUSHED TIN | 36| 8 +Brand#52 |ECONOMY BRUSHED TIN | 49| 8 +Brand#52 |ECONOMY BURNISHED COPPER | 45| 8 +Brand#52 |ECONOMY BURNISHED NICKEL | 23| 8 +Brand#52 |ECONOMY BURNISHED STEEL | 9| 8 +Brand#52 |ECONOMY BURNISHED STEEL | 36| 8 +Brand#52 |ECONOMY BURNISHED TIN | 3| 8 +Brand#52 |ECONOMY PLATED BRASS | 3| 8 +Brand#52 |ECONOMY PLATED BRASS | 14| 8 +Brand#52 |ECONOMY PLATED BRASS | 23| 8 +Brand#52 |ECONOMY PLATED BRASS | 45| 8 +Brand#52 |ECONOMY PLATED COPPER | 49| 8 +Brand#52 |ECONOMY PLATED NICKEL | 3| 8 +Brand#52 |ECONOMY PLATED NICKEL | 49| 8 +Brand#52 |ECONOMY PLATED STEEL | 3| 8 +Brand#52 |ECONOMY PLATED STEEL | 14| 8 +Brand#52 |ECONOMY PLATED TIN | 3| 8 +Brand#52 |ECONOMY PLATED TIN | 19| 8 +Brand#52 |ECONOMY PLATED TIN | 23| 8 +Brand#52 |ECONOMY POLISHED BRASS | 23| 8 +Brand#52 |ECONOMY POLISHED BRASS | 45| 8 +Brand#52 |ECONOMY POLISHED BRASS | 49| 8 +Brand#52 |ECONOMY POLISHED NICKEL | 19| 8 +Brand#52 |ECONOMY POLISHED NICKEL | 23| 8 +Brand#52 |ECONOMY POLISHED NICKEL | 45| 8 +Brand#52 |ECONOMY POLISHED STEEL | 9| 8 +Brand#52 |ECONOMY POLISHED STEEL | 45| 8 +Brand#52 |ECONOMY POLISHED STEEL | 49| 8 +Brand#52 |ECONOMY POLISHED TIN | 19| 8 +Brand#52 |ECONOMY POLISHED TIN | 36| 8 +Brand#52 |ECONOMY POLISHED TIN | 49| 8 +Brand#52 |LARGE ANODIZED BRASS | 14| 8 +Brand#52 |LARGE ANODIZED STEEL | 9| 8 +Brand#52 |LARGE ANODIZED STEEL | 19| 8 +Brand#52 |LARGE ANODIZED STEEL | 36| 8 +Brand#52 |LARGE ANODIZED STEEL | 45| 8 +Brand#52 |LARGE ANODIZED TIN | 9| 8 +Brand#52 |LARGE ANODIZED TIN | 14| 8 +Brand#52 |LARGE ANODIZED TIN | 36| 8 +Brand#52 |LARGE BRUSHED BRASS | 19| 8 +Brand#52 |LARGE BRUSHED COPPER | 14| 8 +Brand#52 |LARGE BRUSHED COPPER | 49| 8 +Brand#52 |LARGE BRUSHED NICKEL | 36| 8 +Brand#52 |LARGE BRUSHED TIN | 19| 8 +Brand#52 |LARGE BRUSHED TIN | 49| 8 +Brand#52 |LARGE BURNISHED BRASS | 19| 8 +Brand#52 |LARGE BURNISHED BRASS | 49| 8 +Brand#52 |LARGE BURNISHED COPPER | 3| 8 +Brand#52 |LARGE BURNISHED COPPER | 23| 8 +Brand#52 |LARGE BURNISHED NICKEL | 3| 8 +Brand#52 |LARGE BURNISHED NICKEL | 9| 8 +Brand#52 |LARGE BURNISHED STEEL | 9| 8 +Brand#52 |LARGE BURNISHED STEEL | 14| 8 +Brand#52 |LARGE BURNISHED TIN | 14| 8 +Brand#52 |LARGE BURNISHED TIN | 45| 8 +Brand#52 |LARGE PLATED BRASS | 14| 8 +Brand#52 |LARGE PLATED COPPER | 3| 8 +Brand#52 |LARGE PLATED COPPER | 14| 8 +Brand#52 |LARGE PLATED COPPER | 45| 8 +Brand#52 |LARGE PLATED NICKEL | 14| 8 +Brand#52 |LARGE PLATED NICKEL | 49| 8 +Brand#52 |LARGE PLATED TIN | 45| 8 +Brand#52 |LARGE POLISHED COPPER | 14| 8 +Brand#52 |LARGE POLISHED NICKEL | 23| 8 +Brand#52 |LARGE POLISHED NICKEL | 49| 8 +Brand#52 |LARGE POLISHED TIN | 9| 8 +Brand#52 |MEDIUM ANODIZED BRASS | 3| 8 +Brand#52 |MEDIUM ANODIZED COPPER | 3| 8 +Brand#52 |MEDIUM ANODIZED COPPER | 14| 8 +Brand#52 |MEDIUM ANODIZED COPPER | 36| 8 +Brand#52 |MEDIUM ANODIZED COPPER | 49| 8 +Brand#52 |MEDIUM ANODIZED NICKEL | 23| 8 +Brand#52 |MEDIUM ANODIZED NICKEL | 45| 8 +Brand#52 |MEDIUM ANODIZED STEEL | 19| 8 +Brand#52 |MEDIUM ANODIZED STEEL | 45| 8 +Brand#52 |MEDIUM ANODIZED TIN | 19| 8 +Brand#52 |MEDIUM ANODIZED TIN | 49| 8 +Brand#52 |MEDIUM BRUSHED BRASS | 9| 8 +Brand#52 |MEDIUM BRUSHED COPPER | 3| 8 +Brand#52 |MEDIUM BRUSHED COPPER | 9| 8 +Brand#52 |MEDIUM BRUSHED NICKEL | 49| 8 +Brand#52 |MEDIUM BRUSHED STEEL | 23| 8 +Brand#52 |MEDIUM BRUSHED STEEL | 36| 8 +Brand#52 |MEDIUM BRUSHED STEEL | 45| 8 +Brand#52 |MEDIUM BRUSHED STEEL | 49| 8 +Brand#52 |MEDIUM BRUSHED TIN | 19| 8 +Brand#52 |MEDIUM BRUSHED TIN | 23| 8 +Brand#52 |MEDIUM BRUSHED TIN | 49| 8 +Brand#52 |MEDIUM BURNISHED COPPER | 36| 8 +Brand#52 |MEDIUM BURNISHED NICKEL | 14| 8 +Brand#52 |MEDIUM BURNISHED NICKEL | 19| 8 +Brand#52 |MEDIUM BURNISHED TIN | 9| 8 +Brand#52 |MEDIUM BURNISHED TIN | 19| 8 +Brand#52 |MEDIUM BURNISHED TIN | 49| 8 +Brand#52 |MEDIUM PLATED COPPER | 14| 8 +Brand#52 |MEDIUM PLATED COPPER | 19| 8 +Brand#52 |MEDIUM PLATED COPPER | 36| 8 +Brand#52 |MEDIUM PLATED NICKEL | 3| 8 +Brand#52 |MEDIUM PLATED STEEL | 36| 8 +Brand#52 |MEDIUM PLATED TIN | 3| 8 +Brand#52 |MEDIUM PLATED TIN | 9| 8 +Brand#52 |MEDIUM PLATED TIN | 14| 8 +Brand#52 |PROMO ANODIZED BRASS | 36| 8 +Brand#52 |PROMO ANODIZED COPPER | 19| 8 +Brand#52 |PROMO ANODIZED COPPER | 23| 8 +Brand#52 |PROMO ANODIZED COPPER | 36| 8 +Brand#52 |PROMO ANODIZED TIN | 9| 8 +Brand#52 |PROMO ANODIZED TIN | 23| 8 +Brand#52 |PROMO BRUSHED BRASS | 3| 8 +Brand#52 |PROMO BRUSHED BRASS | 14| 8 +Brand#52 |PROMO BRUSHED BRASS | 45| 8 +Brand#52 |PROMO BRUSHED COPPER | 45| 8 +Brand#52 |PROMO BRUSHED NICKEL | 45| 8 +Brand#52 |PROMO BRUSHED NICKEL | 49| 8 +Brand#52 |PROMO BRUSHED STEEL | 9| 8 +Brand#52 |PROMO BRUSHED STEEL | 14| 8 +Brand#52 |PROMO BRUSHED STEEL | 23| 8 +Brand#52 |PROMO BURNISHED BRASS | 14| 8 +Brand#52 |PROMO BURNISHED BRASS | 23| 8 +Brand#52 |PROMO BURNISHED COPPER | 45| 8 +Brand#52 |PROMO BURNISHED COPPER | 49| 8 +Brand#52 |PROMO BURNISHED NICKEL | 9| 8 +Brand#52 |PROMO BURNISHED NICKEL | 14| 8 +Brand#52 |PROMO BURNISHED NICKEL | 49| 8 +Brand#52 |PROMO PLATED BRASS | 3| 8 +Brand#52 |PROMO PLATED BRASS | 45| 8 +Brand#52 |PROMO PLATED BRASS | 49| 8 +Brand#52 |PROMO PLATED COPPER | 3| 8 +Brand#52 |PROMO PLATED COPPER | 9| 8 +Brand#52 |PROMO PLATED COPPER | 45| 8 +Brand#52 |PROMO PLATED NICKEL | 19| 8 +Brand#52 |PROMO PLATED NICKEL | 23| 8 +Brand#52 |PROMO PLATED NICKEL | 36| 8 +Brand#52 |PROMO PLATED NICKEL | 45| 8 +Brand#52 |PROMO PLATED STEEL | 3| 8 +Brand#52 |PROMO PLATED STEEL | 23| 8 +Brand#52 |PROMO PLATED STEEL | 49| 8 +Brand#52 |PROMO POLISHED BRASS | 36| 8 +Brand#52 |PROMO POLISHED COPPER | 23| 8 +Brand#52 |PROMO POLISHED COPPER | 49| 8 +Brand#52 |PROMO POLISHED NICKEL | 14| 8 +Brand#52 |PROMO POLISHED STEEL | 45| 8 +Brand#52 |PROMO POLISHED TIN | 3| 8 +Brand#52 |PROMO POLISHED TIN | 9| 8 +Brand#52 |PROMO POLISHED TIN | 14| 8 +Brand#52 |PROMO POLISHED TIN | 19| 8 +Brand#52 |PROMO POLISHED TIN | 45| 8 +Brand#52 |SMALL ANODIZED BRASS | 3| 8 +Brand#52 |SMALL ANODIZED BRASS | 14| 8 +Brand#52 |SMALL ANODIZED BRASS | 23| 8 +Brand#52 |SMALL ANODIZED COPPER | 23| 8 +Brand#52 |SMALL ANODIZED NICKEL | 45| 8 +Brand#52 |SMALL ANODIZED STEEL | 23| 8 +Brand#52 |SMALL ANODIZED TIN | 19| 8 +Brand#52 |SMALL ANODIZED TIN | 23| 8 +Brand#52 |SMALL ANODIZED TIN | 49| 8 +Brand#52 |SMALL BRUSHED BRASS | 9| 8 +Brand#52 |SMALL BRUSHED BRASS | 49| 8 +Brand#52 |SMALL BRUSHED COPPER | 23| 8 +Brand#52 |SMALL BRUSHED NICKEL | 19| 8 +Brand#52 |SMALL BRUSHED TIN | 3| 8 +Brand#52 |SMALL BRUSHED TIN | 19| 8 +Brand#52 |SMALL BRUSHED TIN | 45| 8 +Brand#52 |SMALL BRUSHED TIN | 49| 8 +Brand#52 |SMALL BURNISHED BRASS | 9| 8 +Brand#52 |SMALL BURNISHED BRASS | 45| 8 +Brand#52 |SMALL BURNISHED COPPER | 9| 8 +Brand#52 |SMALL BURNISHED COPPER | 45| 8 +Brand#52 |SMALL BURNISHED NICKEL | 3| 8 +Brand#52 |SMALL BURNISHED NICKEL | 14| 8 +Brand#52 |SMALL BURNISHED TIN | 36| 8 +Brand#52 |SMALL PLATED BRASS | 3| 8 +Brand#52 |SMALL PLATED BRASS | 45| 8 +Brand#52 |SMALL PLATED BRASS | 49| 8 +Brand#52 |SMALL PLATED COPPER | 49| 8 +Brand#52 |SMALL PLATED NICKEL | 14| 8 +Brand#52 |SMALL PLATED NICKEL | 36| 8 +Brand#52 |SMALL POLISHED BRASS | 23| 8 +Brand#52 |SMALL POLISHED COPPER | 9| 8 +Brand#52 |SMALL POLISHED COPPER | 36| 8 +Brand#52 |SMALL POLISHED COPPER | 45| 8 +Brand#52 |SMALL POLISHED STEEL | 3| 8 +Brand#52 |SMALL POLISHED STEEL | 9| 8 +Brand#52 |SMALL POLISHED STEEL | 49| 8 +Brand#52 |SMALL POLISHED TIN | 9| 8 +Brand#52 |SMALL POLISHED TIN | 14| 8 +Brand#52 |STANDARD ANODIZED BRASS | 49| 8 +Brand#52 |STANDARD ANODIZED COPPER | 3| 8 +Brand#52 |STANDARD ANODIZED COPPER | 9| 8 +Brand#52 |STANDARD ANODIZED COPPER | 19| 8 +Brand#52 |STANDARD ANODIZED COPPER | 36| 8 +Brand#52 |STANDARD ANODIZED COPPER | 45| 8 +Brand#52 |STANDARD ANODIZED STEEL | 3| 8 +Brand#52 |STANDARD ANODIZED STEEL | 23| 8 +Brand#52 |STANDARD ANODIZED STEEL | 49| 8 +Brand#52 |STANDARD ANODIZED TIN | 3| 8 +Brand#52 |STANDARD BRUSHED BRASS | 3| 8 +Brand#52 |STANDARD BRUSHED COPPER | 45| 8 +Brand#52 |STANDARD BRUSHED STEEL | 14| 8 +Brand#52 |STANDARD BRUSHED TIN | 9| 8 +Brand#52 |STANDARD BURNISHED BRASS | 49| 8 +Brand#52 |STANDARD BURNISHED COPPER| 19| 8 +Brand#52 |STANDARD BURNISHED COPPER| 23| 8 +Brand#52 |STANDARD BURNISHED STEEL | 3| 8 +Brand#52 |STANDARD BURNISHED TIN | 19| 8 +Brand#52 |STANDARD PLATED BRASS | 49| 8 +Brand#52 |STANDARD PLATED STEEL | 14| 8 +Brand#52 |STANDARD PLATED STEEL | 36| 8 +Brand#52 |STANDARD POLISHED BRASS | 3| 8 +Brand#52 |STANDARD POLISHED BRASS | 9| 8 +Brand#52 |STANDARD POLISHED BRASS | 49| 8 +Brand#52 |STANDARD POLISHED COPPER | 9| 8 +Brand#52 |STANDARD POLISHED COPPER | 14| 8 +Brand#52 |STANDARD POLISHED NICKEL | 45| 8 +Brand#52 |STANDARD POLISHED STEEL | 45| 8 +Brand#52 |STANDARD POLISHED TIN | 19| 8 +Brand#53 |ECONOMY ANODIZED BRASS | 9| 8 +Brand#53 |ECONOMY ANODIZED BRASS | 36| 8 +Brand#53 |ECONOMY ANODIZED BRASS | 45| 8 +Brand#53 |ECONOMY ANODIZED COPPER | 45| 8 +Brand#53 |ECONOMY ANODIZED NICKEL | 19| 8 +Brand#53 |ECONOMY ANODIZED STEEL | 45| 8 +Brand#53 |ECONOMY ANODIZED TIN | 14| 8 +Brand#53 |ECONOMY ANODIZED TIN | 36| 8 +Brand#53 |ECONOMY BRUSHED COPPER | 3| 8 +Brand#53 |ECONOMY BRUSHED NICKEL | 23| 8 +Brand#53 |ECONOMY BRUSHED STEEL | 23| 8 +Brand#53 |ECONOMY BRUSHED STEEL | 49| 8 +Brand#53 |ECONOMY BRUSHED TIN | 3| 8 +Brand#53 |ECONOMY BURNISHED BRASS | 9| 8 +Brand#53 |ECONOMY BURNISHED BRASS | 45| 8 +Brand#53 |ECONOMY BURNISHED COPPER | 9| 8 +Brand#53 |ECONOMY BURNISHED COPPER | 14| 8 +Brand#53 |ECONOMY BURNISHED COPPER | 19| 8 +Brand#53 |ECONOMY BURNISHED NICKEL | 3| 8 +Brand#53 |ECONOMY BURNISHED NICKEL | 14| 8 +Brand#53 |ECONOMY BURNISHED NICKEL | 36| 8 +Brand#53 |ECONOMY BURNISHED NICKEL | 45| 8 +Brand#53 |ECONOMY BURNISHED STEEL | 19| 8 +Brand#53 |ECONOMY BURNISHED STEEL | 23| 8 +Brand#53 |ECONOMY BURNISHED STEEL | 36| 8 +Brand#53 |ECONOMY BURNISHED TIN | 3| 8 +Brand#53 |ECONOMY BURNISHED TIN | 49| 8 +Brand#53 |ECONOMY PLATED BRASS | 14| 8 +Brand#53 |ECONOMY PLATED BRASS | 19| 8 +Brand#53 |ECONOMY PLATED COPPER | 3| 8 +Brand#53 |ECONOMY PLATED TIN | 19| 8 +Brand#53 |ECONOMY POLISHED COPPER | 14| 8 +Brand#53 |ECONOMY POLISHED COPPER | 19| 8 +Brand#53 |ECONOMY POLISHED NICKEL | 36| 8 +Brand#53 |ECONOMY POLISHED STEEL | 3| 8 +Brand#53 |ECONOMY POLISHED STEEL | 9| 8 +Brand#53 |LARGE ANODIZED BRASS | 19| 8 +Brand#53 |LARGE ANODIZED BRASS | 45| 8 +Brand#53 |LARGE ANODIZED STEEL | 45| 8 +Brand#53 |LARGE ANODIZED TIN | 23| 8 +Brand#53 |LARGE ANODIZED TIN | 45| 8 +Brand#53 |LARGE ANODIZED TIN | 49| 8 +Brand#53 |LARGE BRUSHED COPPER | 19| 8 +Brand#53 |LARGE BRUSHED COPPER | 45| 8 +Brand#53 |LARGE BRUSHED STEEL | 9| 8 +Brand#53 |LARGE BRUSHED STEEL | 45| 8 +Brand#53 |LARGE BRUSHED TIN | 3| 8 +Brand#53 |LARGE BRUSHED TIN | 9| 8 +Brand#53 |LARGE BRUSHED TIN | 36| 8 +Brand#53 |LARGE BURNISHED BRASS | 3| 8 +Brand#53 |LARGE BURNISHED NICKEL | 14| 8 +Brand#53 |LARGE BURNISHED NICKEL | 23| 8 +Brand#53 |LARGE BURNISHED STEEL | 3| 8 +Brand#53 |LARGE BURNISHED STEEL | 19| 8 +Brand#53 |LARGE BURNISHED STEEL | 23| 8 +Brand#53 |LARGE BURNISHED STEEL | 45| 8 +Brand#53 |LARGE BURNISHED TIN | 9| 8 +Brand#53 |LARGE PLATED BRASS | 9| 8 +Brand#53 |LARGE PLATED BRASS | 49| 8 +Brand#53 |LARGE PLATED NICKEL | 49| 8 +Brand#53 |LARGE PLATED STEEL | 45| 8 +Brand#53 |LARGE PLATED TIN | 23| 8 +Brand#53 |LARGE POLISHED BRASS | 3| 8 +Brand#53 |LARGE POLISHED BRASS | 23| 8 +Brand#53 |LARGE POLISHED COPPER | 23| 8 +Brand#53 |LARGE POLISHED NICKEL | 3| 8 +Brand#53 |LARGE POLISHED NICKEL | 14| 8 +Brand#53 |LARGE POLISHED NICKEL | 23| 8 +Brand#53 |LARGE POLISHED STEEL | 3| 8 +Brand#53 |LARGE POLISHED STEEL | 23| 8 +Brand#53 |LARGE POLISHED TIN | 9| 8 +Brand#53 |LARGE POLISHED TIN | 49| 8 +Brand#53 |MEDIUM ANODIZED BRASS | 3| 8 +Brand#53 |MEDIUM ANODIZED COPPER | 9| 8 +Brand#53 |MEDIUM ANODIZED COPPER | 45| 8 +Brand#53 |MEDIUM ANODIZED STEEL | 9| 8 +Brand#53 |MEDIUM ANODIZED STEEL | 23| 8 +Brand#53 |MEDIUM ANODIZED STEEL | 36| 8 +Brand#53 |MEDIUM ANODIZED TIN | 3| 8 +Brand#53 |MEDIUM BRUSHED COPPER | 9| 8 +Brand#53 |MEDIUM BRUSHED COPPER | 36| 8 +Brand#53 |MEDIUM BRUSHED NICKEL | 14| 8 +Brand#53 |MEDIUM BRUSHED NICKEL | 23| 8 +Brand#53 |MEDIUM BRUSHED STEEL | 45| 8 +Brand#53 |MEDIUM BRUSHED TIN | 9| 8 +Brand#53 |MEDIUM BURNISHED COPPER | 3| 8 +Brand#53 |MEDIUM BURNISHED COPPER | 14| 8 +Brand#53 |MEDIUM BURNISHED COPPER | 45| 8 +Brand#53 |MEDIUM BURNISHED NICKEL | 19| 8 +Brand#53 |MEDIUM BURNISHED NICKEL | 36| 8 +Brand#53 |MEDIUM BURNISHED STEEL | 14| 8 +Brand#53 |MEDIUM BURNISHED STEEL | 49| 8 +Brand#53 |MEDIUM BURNISHED TIN | 9| 8 +Brand#53 |MEDIUM BURNISHED TIN | 14| 8 +Brand#53 |MEDIUM PLATED BRASS | 9| 8 +Brand#53 |MEDIUM PLATED BRASS | 19| 8 +Brand#53 |MEDIUM PLATED NICKEL | 23| 8 +Brand#53 |MEDIUM PLATED NICKEL | 36| 8 +Brand#53 |MEDIUM PLATED NICKEL | 45| 8 +Brand#53 |MEDIUM PLATED STEEL | 19| 8 +Brand#53 |MEDIUM PLATED STEEL | 45| 8 +Brand#53 |PROMO ANODIZED BRASS | 19| 8 +Brand#53 |PROMO ANODIZED BRASS | 23| 8 +Brand#53 |PROMO ANODIZED BRASS | 36| 8 +Brand#53 |PROMO ANODIZED COPPER | 3| 8 +Brand#53 |PROMO ANODIZED COPPER | 9| 8 +Brand#53 |PROMO ANODIZED NICKEL | 36| 8 +Brand#53 |PROMO ANODIZED STEEL | 3| 8 +Brand#53 |PROMO ANODIZED STEEL | 14| 8 +Brand#53 |PROMO ANODIZED TIN | 19| 8 +Brand#53 |PROMO ANODIZED TIN | 49| 8 +Brand#53 |PROMO BRUSHED BRASS | 45| 8 +Brand#53 |PROMO BRUSHED COPPER | 9| 8 +Brand#53 |PROMO BRUSHED COPPER | 14| 8 +Brand#53 |PROMO BRUSHED NICKEL | 14| 8 +Brand#53 |PROMO BRUSHED NICKEL | 49| 8 +Brand#53 |PROMO BRUSHED STEEL | 3| 8 +Brand#53 |PROMO BRUSHED TIN | 23| 8 +Brand#53 |PROMO BURNISHED BRASS | 14| 8 +Brand#53 |PROMO BURNISHED BRASS | 23| 8 +Brand#53 |PROMO BURNISHED BRASS | 36| 8 +Brand#53 |PROMO BURNISHED COPPER | 14| 8 +Brand#53 |PROMO BURNISHED NICKEL | 14| 8 +Brand#53 |PROMO BURNISHED STEEL | 23| 8 +Brand#53 |PROMO BURNISHED TIN | 3| 8 +Brand#53 |PROMO BURNISHED TIN | 9| 8 +Brand#53 |PROMO BURNISHED TIN | 19| 8 +Brand#53 |PROMO BURNISHED TIN | 45| 8 +Brand#53 |PROMO PLATED BRASS | 45| 8 +Brand#53 |PROMO PLATED BRASS | 49| 8 +Brand#53 |PROMO PLATED COPPER | 23| 8 +Brand#53 |PROMO PLATED COPPER | 45| 8 +Brand#53 |PROMO PLATED COPPER | 49| 8 +Brand#53 |PROMO PLATED NICKEL | 49| 8 +Brand#53 |PROMO PLATED STEEL | 19| 8 +Brand#53 |PROMO PLATED TIN | 45| 8 +Brand#53 |PROMO PLATED TIN | 49| 8 +Brand#53 |PROMO POLISHED BRASS | 14| 8 +Brand#53 |PROMO POLISHED BRASS | 19| 8 +Brand#53 |PROMO POLISHED BRASS | 36| 8 +Brand#53 |PROMO POLISHED NICKEL | 19| 8 +Brand#53 |PROMO POLISHED NICKEL | 23| 8 +Brand#53 |PROMO POLISHED NICKEL | 45| 8 +Brand#53 |PROMO POLISHED STEEL | 3| 8 +Brand#53 |PROMO POLISHED STEEL | 9| 8 +Brand#53 |PROMO POLISHED TIN | 36| 8 +Brand#53 |PROMO POLISHED TIN | 45| 8 +Brand#53 |SMALL ANODIZED BRASS | 3| 8 +Brand#53 |SMALL ANODIZED BRASS | 9| 8 +Brand#53 |SMALL ANODIZED BRASS | 45| 8 +Brand#53 |SMALL ANODIZED COPPER | 3| 8 +Brand#53 |SMALL ANODIZED COPPER | 19| 8 +Brand#53 |SMALL ANODIZED COPPER | 23| 8 +Brand#53 |SMALL ANODIZED NICKEL | 9| 8 +Brand#53 |SMALL ANODIZED NICKEL | 19| 8 +Brand#53 |SMALL ANODIZED STEEL | 23| 8 +Brand#53 |SMALL ANODIZED STEEL | 45| 8 +Brand#53 |SMALL ANODIZED TIN | 36| 8 +Brand#53 |SMALL BRUSHED BRASS | 14| 8 +Brand#53 |SMALL BRUSHED BRASS | 36| 8 +Brand#53 |SMALL BRUSHED STEEL | 45| 8 +Brand#53 |SMALL BRUSHED TIN | 3| 8 +Brand#53 |SMALL BRUSHED TIN | 14| 8 +Brand#53 |SMALL BRUSHED TIN | 19| 8 +Brand#53 |SMALL BRUSHED TIN | 45| 8 +Brand#53 |SMALL BRUSHED TIN | 49| 8 +Brand#53 |SMALL BURNISHED BRASS | 45| 8 +Brand#53 |SMALL BURNISHED BRASS | 49| 8 +Brand#53 |SMALL BURNISHED COPPER | 19| 8 +Brand#53 |SMALL BURNISHED COPPER | 23| 8 +Brand#53 |SMALL BURNISHED COPPER | 36| 8 +Brand#53 |SMALL BURNISHED COPPER | 45| 8 +Brand#53 |SMALL BURNISHED COPPER | 49| 8 +Brand#53 |SMALL BURNISHED NICKEL | 14| 8 +Brand#53 |SMALL BURNISHED STEEL | 9| 8 +Brand#53 |SMALL BURNISHED STEEL | 36| 8 +Brand#53 |SMALL BURNISHED TIN | 14| 8 +Brand#53 |SMALL BURNISHED TIN | 23| 8 +Brand#53 |SMALL PLATED BRASS | 9| 8 +Brand#53 |SMALL PLATED BRASS | 36| 8 +Brand#53 |SMALL PLATED NICKEL | 9| 8 +Brand#53 |SMALL PLATED NICKEL | 14| 8 +Brand#53 |SMALL PLATED NICKEL | 23| 8 +Brand#53 |SMALL PLATED STEEL | 19| 8 +Brand#53 |SMALL PLATED STEEL | 23| 8 +Brand#53 |SMALL PLATED TIN | 9| 8 +Brand#53 |SMALL POLISHED BRASS | 36| 8 +Brand#53 |SMALL POLISHED COPPER | 23| 8 +Brand#53 |SMALL POLISHED NICKEL | 3| 8 +Brand#53 |SMALL POLISHED NICKEL | 19| 8 +Brand#53 |SMALL POLISHED STEEL | 3| 8 +Brand#53 |SMALL POLISHED STEEL | 23| 8 +Brand#53 |SMALL POLISHED TIN | 23| 8 +Brand#53 |SMALL POLISHED TIN | 36| 8 +Brand#53 |STANDARD ANODIZED BRASS | 14| 8 +Brand#53 |STANDARD ANODIZED BRASS | 23| 8 +Brand#53 |STANDARD ANODIZED BRASS | 45| 8 +Brand#53 |STANDARD ANODIZED COPPER | 36| 8 +Brand#53 |STANDARD ANODIZED NICKEL | 9| 8 +Brand#53 |STANDARD ANODIZED NICKEL | 19| 8 +Brand#53 |STANDARD ANODIZED STEEL | 9| 8 +Brand#53 |STANDARD ANODIZED STEEL | 19| 8 +Brand#53 |STANDARD ANODIZED STEEL | 45| 8 +Brand#53 |STANDARD ANODIZED TIN | 14| 8 +Brand#53 |STANDARD ANODIZED TIN | 49| 8 +Brand#53 |STANDARD BRUSHED BRASS | 14| 8 +Brand#53 |STANDARD BRUSHED BRASS | 19| 8 +Brand#53 |STANDARD BRUSHED COPPER | 49| 8 +Brand#53 |STANDARD BRUSHED NICKEL | 36| 8 +Brand#53 |STANDARD BRUSHED NICKEL | 45| 8 +Brand#53 |STANDARD BRUSHED NICKEL | 49| 8 +Brand#53 |STANDARD BRUSHED STEEL | 23| 8 +Brand#53 |STANDARD BURNISHED BRASS | 19| 8 +Brand#53 |STANDARD BURNISHED BRASS | 49| 8 +Brand#53 |STANDARD BURNISHED COPPER| 3| 8 +Brand#53 |STANDARD BURNISHED COPPER| 23| 8 +Brand#53 |STANDARD BURNISHED COPPER| 45| 8 +Brand#53 |STANDARD BURNISHED NICKEL| 49| 8 +Brand#53 |STANDARD BURNISHED STEEL | 19| 8 +Brand#53 |STANDARD BURNISHED STEEL | 23| 8 +Brand#53 |STANDARD BURNISHED TIN | 3| 8 +Brand#53 |STANDARD BURNISHED TIN | 14| 8 +Brand#53 |STANDARD BURNISHED TIN | 19| 8 +Brand#53 |STANDARD BURNISHED TIN | 36| 8 +Brand#53 |STANDARD PLATED BRASS | 19| 8 +Brand#53 |STANDARD PLATED COPPER | 3| 8 +Brand#53 |STANDARD PLATED NICKEL | 14| 8 +Brand#53 |STANDARD PLATED NICKEL | 36| 8 +Brand#53 |STANDARD PLATED STEEL | 14| 8 +Brand#53 |STANDARD PLATED STEEL | 23| 8 +Brand#53 |STANDARD PLATED STEEL | 45| 8 +Brand#53 |STANDARD PLATED TIN | 9| 8 +Brand#53 |STANDARD PLATED TIN | 14| 8 +Brand#53 |STANDARD PLATED TIN | 19| 8 +Brand#53 |STANDARD PLATED TIN | 23| 8 +Brand#53 |STANDARD POLISHED BRASS | 36| 8 +Brand#53 |STANDARD POLISHED NICKEL | 3| 8 +Brand#53 |STANDARD POLISHED NICKEL | 36| 8 +Brand#53 |STANDARD POLISHED NICKEL | 49| 8 +Brand#53 |STANDARD POLISHED TIN | 9| 8 +Brand#54 |ECONOMY ANODIZED NICKEL | 9| 8 +Brand#54 |ECONOMY ANODIZED NICKEL | 23| 8 +Brand#54 |ECONOMY ANODIZED STEEL | 19| 8 +Brand#54 |ECONOMY ANODIZED STEEL | 23| 8 +Brand#54 |ECONOMY ANODIZED TIN | 3| 8 +Brand#54 |ECONOMY ANODIZED TIN | 45| 8 +Brand#54 |ECONOMY BRUSHED BRASS | 14| 8 +Brand#54 |ECONOMY BRUSHED BRASS | 19| 8 +Brand#54 |ECONOMY BRUSHED BRASS | 23| 8 +Brand#54 |ECONOMY BRUSHED COPPER | 9| 8 +Brand#54 |ECONOMY BRUSHED COPPER | 45| 8 +Brand#54 |ECONOMY BRUSHED NICKEL | 9| 8 +Brand#54 |ECONOMY BRUSHED NICKEL | 23| 8 +Brand#54 |ECONOMY BRUSHED NICKEL | 36| 8 +Brand#54 |ECONOMY BRUSHED NICKEL | 49| 8 +Brand#54 |ECONOMY BRUSHED STEEL | 3| 8 +Brand#54 |ECONOMY BRUSHED STEEL | 14| 8 +Brand#54 |ECONOMY BURNISHED COPPER | 9| 8 +Brand#54 |ECONOMY BURNISHED COPPER | 36| 8 +Brand#54 |ECONOMY BURNISHED NICKEL | 36| 8 +Brand#54 |ECONOMY BURNISHED STEEL | 14| 8 +Brand#54 |ECONOMY BURNISHED STEEL | 36| 8 +Brand#54 |ECONOMY BURNISHED TIN | 9| 8 +Brand#54 |ECONOMY BURNISHED TIN | 14| 8 +Brand#54 |ECONOMY BURNISHED TIN | 23| 8 +Brand#54 |ECONOMY PLATED COPPER | 14| 8 +Brand#54 |ECONOMY PLATED COPPER | 19| 8 +Brand#54 |ECONOMY PLATED NICKEL | 23| 8 +Brand#54 |ECONOMY PLATED NICKEL | 45| 8 +Brand#54 |ECONOMY PLATED STEEL | 3| 8 +Brand#54 |ECONOMY PLATED STEEL | 19| 8 +Brand#54 |ECONOMY PLATED TIN | 23| 8 +Brand#54 |ECONOMY POLISHED BRASS | 23| 8 +Brand#54 |ECONOMY POLISHED BRASS | 36| 8 +Brand#54 |ECONOMY POLISHED BRASS | 49| 8 +Brand#54 |ECONOMY POLISHED COPPER | 9| 8 +Brand#54 |ECONOMY POLISHED COPPER | 19| 8 +Brand#54 |ECONOMY POLISHED COPPER | 23| 8 +Brand#54 |ECONOMY POLISHED COPPER | 45| 8 +Brand#54 |ECONOMY POLISHED STEEL | 14| 8 +Brand#54 |ECONOMY POLISHED STEEL | 19| 8 +Brand#54 |ECONOMY POLISHED STEEL | 23| 8 +Brand#54 |LARGE ANODIZED COPPER | 3| 8 +Brand#54 |LARGE ANODIZED COPPER | 45| 8 +Brand#54 |LARGE ANODIZED STEEL | 9| 8 +Brand#54 |LARGE ANODIZED STEEL | 14| 8 +Brand#54 |LARGE ANODIZED TIN | 23| 8 +Brand#54 |LARGE BRUSHED BRASS | 3| 8 +Brand#54 |LARGE BRUSHED BRASS | 14| 8 +Brand#54 |LARGE BRUSHED BRASS | 45| 8 +Brand#54 |LARGE BRUSHED COPPER | 14| 8 +Brand#54 |LARGE BRUSHED COPPER | 45| 8 +Brand#54 |LARGE BRUSHED NICKEL | 3| 8 +Brand#54 |LARGE BRUSHED STEEL | 36| 8 +Brand#54 |LARGE BRUSHED STEEL | 49| 8 +Brand#54 |LARGE BRUSHED TIN | 36| 8 +Brand#54 |LARGE BURNISHED BRASS | 23| 8 +Brand#54 |LARGE BURNISHED COPPER | 49| 8 +Brand#54 |LARGE BURNISHED NICKEL | 23| 8 +Brand#54 |LARGE BURNISHED NICKEL | 49| 8 +Brand#54 |LARGE BURNISHED STEEL | 49| 8 +Brand#54 |LARGE BURNISHED TIN | 14| 8 +Brand#54 |LARGE BURNISHED TIN | 49| 8 +Brand#54 |LARGE PLATED BRASS | 23| 8 +Brand#54 |LARGE PLATED BRASS | 45| 8 +Brand#54 |LARGE PLATED COPPER | 49| 8 +Brand#54 |LARGE PLATED STEEL | 3| 8 +Brand#54 |LARGE PLATED STEEL | 9| 8 +Brand#54 |LARGE PLATED STEEL | 19| 8 +Brand#54 |LARGE PLATED STEEL | 36| 8 +Brand#54 |LARGE PLATED TIN | 9| 8 +Brand#54 |LARGE POLISHED BRASS | 49| 8 +Brand#54 |LARGE POLISHED COPPER | 45| 8 +Brand#54 |LARGE POLISHED NICKEL | 14| 8 +Brand#54 |LARGE POLISHED STEEL | 3| 8 +Brand#54 |LARGE POLISHED STEEL | 14| 8 +Brand#54 |LARGE POLISHED STEEL | 19| 8 +Brand#54 |LARGE POLISHED TIN | 36| 8 +Brand#54 |MEDIUM ANODIZED BRASS | 9| 8 +Brand#54 |MEDIUM ANODIZED BRASS | 36| 8 +Brand#54 |MEDIUM ANODIZED BRASS | 49| 8 +Brand#54 |MEDIUM ANODIZED COPPER | 23| 8 +Brand#54 |MEDIUM ANODIZED NICKEL | 3| 8 +Brand#54 |MEDIUM ANODIZED NICKEL | 14| 8 +Brand#54 |MEDIUM ANODIZED NICKEL | 19| 8 +Brand#54 |MEDIUM ANODIZED NICKEL | 36| 8 +Brand#54 |MEDIUM ANODIZED STEEL | 3| 8 +Brand#54 |MEDIUM BRUSHED BRASS | 3| 8 +Brand#54 |MEDIUM BRUSHED BRASS | 14| 8 +Brand#54 |MEDIUM BRUSHED BRASS | 19| 8 +Brand#54 |MEDIUM BRUSHED BRASS | 45| 8 +Brand#54 |MEDIUM BRUSHED COPPER | 14| 8 +Brand#54 |MEDIUM BRUSHED COPPER | 19| 8 +Brand#54 |MEDIUM BRUSHED COPPER | 23| 8 +Brand#54 |MEDIUM BRUSHED NICKEL | 9| 8 +Brand#54 |MEDIUM BRUSHED STEEL | 9| 8 +Brand#54 |MEDIUM BRUSHED STEEL | 45| 8 +Brand#54 |MEDIUM BRUSHED TIN | 14| 8 +Brand#54 |MEDIUM BRUSHED TIN | 49| 8 +Brand#54 |MEDIUM BURNISHED BRASS | 23| 8 +Brand#54 |MEDIUM BURNISHED BRASS | 49| 8 +Brand#54 |MEDIUM BURNISHED COPPER | 3| 8 +Brand#54 |MEDIUM BURNISHED COPPER | 36| 8 +Brand#54 |MEDIUM BURNISHED COPPER | 45| 8 +Brand#54 |MEDIUM BURNISHED STEEL | 14| 8 +Brand#54 |MEDIUM BURNISHED STEEL | 19| 8 +Brand#54 |MEDIUM BURNISHED TIN | 9| 8 +Brand#54 |MEDIUM BURNISHED TIN | 19| 8 +Brand#54 |MEDIUM BURNISHED TIN | 36| 8 +Brand#54 |MEDIUM PLATED BRASS | 3| 8 +Brand#54 |MEDIUM PLATED BRASS | 23| 8 +Brand#54 |MEDIUM PLATED COPPER | 9| 8 +Brand#54 |MEDIUM PLATED COPPER | 45| 8 +Brand#54 |MEDIUM PLATED COPPER | 49| 8 +Brand#54 |MEDIUM PLATED NICKEL | 45| 8 +Brand#54 |MEDIUM PLATED TIN | 19| 8 +Brand#54 |MEDIUM PLATED TIN | 23| 8 +Brand#54 |PROMO ANODIZED BRASS | 3| 8 +Brand#54 |PROMO ANODIZED BRASS | 9| 8 +Brand#54 |PROMO ANODIZED BRASS | 14| 8 +Brand#54 |PROMO ANODIZED BRASS | 23| 8 +Brand#54 |PROMO ANODIZED BRASS | 36| 8 +Brand#54 |PROMO ANODIZED COPPER | 23| 8 +Brand#54 |PROMO ANODIZED STEEL | 36| 8 +Brand#54 |PROMO ANODIZED TIN | 19| 8 +Brand#54 |PROMO BRUSHED BRASS | 23| 8 +Brand#54 |PROMO BRUSHED BRASS | 49| 8 +Brand#54 |PROMO BRUSHED COPPER | 3| 8 +Brand#54 |PROMO BRUSHED COPPER | 45| 8 +Brand#54 |PROMO BRUSHED NICKEL | 3| 8 +Brand#54 |PROMO BRUSHED NICKEL | 23| 8 +Brand#54 |PROMO BRUSHED STEEL | 36| 8 +Brand#54 |PROMO BRUSHED STEEL | 49| 8 +Brand#54 |PROMO BRUSHED TIN | 45| 8 +Brand#54 |PROMO BURNISHED COPPER | 14| 8 +Brand#54 |PROMO BURNISHED NICKEL | 19| 8 +Brand#54 |PROMO BURNISHED NICKEL | 49| 8 +Brand#54 |PROMO BURNISHED STEEL | 3| 8 +Brand#54 |PROMO BURNISHED TIN | 3| 8 +Brand#54 |PROMO BURNISHED TIN | 14| 8 +Brand#54 |PROMO BURNISHED TIN | 45| 8 +Brand#54 |PROMO PLATED COPPER | 36| 8 +Brand#54 |PROMO PLATED COPPER | 45| 8 +Brand#54 |PROMO PLATED COPPER | 49| 8 +Brand#54 |PROMO PLATED NICKEL | 3| 8 +Brand#54 |PROMO PLATED NICKEL | 14| 8 +Brand#54 |PROMO PLATED NICKEL | 19| 8 +Brand#54 |PROMO PLATED STEEL | 45| 8 +Brand#54 |PROMO PLATED TIN | 14| 8 +Brand#54 |PROMO PLATED TIN | 23| 8 +Brand#54 |PROMO POLISHED BRASS | 14| 8 +Brand#54 |PROMO POLISHED BRASS | 36| 8 +Brand#54 |PROMO POLISHED COPPER | 14| 8 +Brand#54 |PROMO POLISHED COPPER | 23| 8 +Brand#54 |PROMO POLISHED NICKEL | 14| 8 +Brand#54 |PROMO POLISHED NICKEL | 19| 8 +Brand#54 |PROMO POLISHED NICKEL | 23| 8 +Brand#54 |PROMO POLISHED STEEL | 23| 8 +Brand#54 |PROMO POLISHED STEEL | 36| 8 +Brand#54 |PROMO POLISHED TIN | 49| 8 +Brand#54 |SMALL ANODIZED BRASS | 19| 8 +Brand#54 |SMALL ANODIZED COPPER | 23| 8 +Brand#54 |SMALL ANODIZED COPPER | 45| 8 +Brand#54 |SMALL ANODIZED NICKEL | 14| 8 +Brand#54 |SMALL ANODIZED STEEL | 9| 8 +Brand#54 |SMALL ANODIZED TIN | 14| 8 +Brand#54 |SMALL BRUSHED BRASS | 9| 8 +Brand#54 |SMALL BRUSHED BRASS | 49| 8 +Brand#54 |SMALL BRUSHED COPPER | 45| 8 +Brand#54 |SMALL BRUSHED TIN | 19| 8 +Brand#54 |SMALL BRUSHED TIN | 36| 8 +Brand#54 |SMALL BURNISHED BRASS | 9| 8 +Brand#54 |SMALL BURNISHED BRASS | 14| 8 +Brand#54 |SMALL BURNISHED COPPER | 3| 8 +Brand#54 |SMALL BURNISHED COPPER | 14| 8 +Brand#54 |SMALL BURNISHED STEEL | 9| 8 +Brand#54 |SMALL BURNISHED TIN | 23| 8 +Brand#54 |SMALL BURNISHED TIN | 49| 8 +Brand#54 |SMALL PLATED COPPER | 14| 8 +Brand#54 |SMALL PLATED COPPER | 23| 8 +Brand#54 |SMALL PLATED COPPER | 45| 8 +Brand#54 |SMALL PLATED NICKEL | 14| 8 +Brand#54 |SMALL PLATED STEEL | 49| 8 +Brand#54 |SMALL PLATED TIN | 14| 8 +Brand#54 |SMALL PLATED TIN | 23| 8 +Brand#54 |SMALL PLATED TIN | 36| 8 +Brand#54 |SMALL POLISHED BRASS | 9| 8 +Brand#54 |SMALL POLISHED BRASS | 36| 8 +Brand#54 |SMALL POLISHED COPPER | 3| 8 +Brand#54 |SMALL POLISHED COPPER | 49| 8 +Brand#54 |SMALL POLISHED NICKEL | 3| 8 +Brand#54 |SMALL POLISHED NICKEL | 14| 8 +Brand#54 |SMALL POLISHED NICKEL | 23| 8 +Brand#54 |SMALL POLISHED STEEL | 3| 8 +Brand#54 |SMALL POLISHED STEEL | 23| 8 +Brand#54 |SMALL POLISHED TIN | 45| 8 +Brand#54 |STANDARD ANODIZED BRASS | 9| 8 +Brand#54 |STANDARD ANODIZED BRASS | 45| 8 +Brand#54 |STANDARD ANODIZED COPPER | 9| 8 +Brand#54 |STANDARD ANODIZED COPPER | 23| 8 +Brand#54 |STANDARD ANODIZED STEEL | 3| 8 +Brand#54 |STANDARD ANODIZED STEEL | 14| 8 +Brand#54 |STANDARD ANODIZED STEEL | 23| 8 +Brand#54 |STANDARD ANODIZED TIN | 45| 8 +Brand#54 |STANDARD BRUSHED BRASS | 36| 8 +Brand#54 |STANDARD BRUSHED COPPER | 36| 8 +Brand#54 |STANDARD BRUSHED NICKEL | 14| 8 +Brand#54 |STANDARD BRUSHED NICKEL | 49| 8 +Brand#54 |STANDARD BRUSHED STEEL | 9| 8 +Brand#54 |STANDARD BRUSHED STEEL | 36| 8 +Brand#54 |STANDARD BRUSHED TIN | 19| 8 +Brand#54 |STANDARD BRUSHED TIN | 23| 8 +Brand#54 |STANDARD BRUSHED TIN | 49| 8 +Brand#54 |STANDARD BURNISHED BRASS | 45| 8 +Brand#54 |STANDARD BURNISHED COPPER| 9| 8 +Brand#54 |STANDARD BURNISHED COPPER| 19| 8 +Brand#54 |STANDARD BURNISHED NICKEL| 23| 8 +Brand#54 |STANDARD BURNISHED STEEL | 14| 8 +Brand#54 |STANDARD PLATED BRASS | 3| 8 +Brand#54 |STANDARD PLATED BRASS | 23| 8 +Brand#54 |STANDARD PLATED COPPER | 36| 8 +Brand#54 |STANDARD PLATED NICKEL | 36| 8 +Brand#54 |STANDARD PLATED STEEL | 45| 8 +Brand#54 |STANDARD PLATED TIN | 49| 8 +Brand#54 |STANDARD POLISHED BRASS | 49| 8 +Brand#54 |STANDARD POLISHED COPPER | 19| 8 +Brand#54 |STANDARD POLISHED COPPER | 23| 8 +Brand#54 |STANDARD POLISHED NICKEL | 36| 8 +Brand#54 |STANDARD POLISHED STEEL | 19| 8 +Brand#54 |STANDARD POLISHED TIN | 9| 8 +Brand#54 |STANDARD POLISHED TIN | 14| 8 +Brand#55 |ECONOMY ANODIZED COPPER | 23| 8 +Brand#55 |ECONOMY ANODIZED NICKEL | 9| 8 +Brand#55 |ECONOMY ANODIZED NICKEL | 14| 8 +Brand#55 |ECONOMY ANODIZED NICKEL | 45| 8 +Brand#55 |ECONOMY ANODIZED STEEL | 9| 8 +Brand#55 |ECONOMY ANODIZED STEEL | 49| 8 +Brand#55 |ECONOMY ANODIZED TIN | 9| 8 +Brand#55 |ECONOMY ANODIZED TIN | 14| 8 +Brand#55 |ECONOMY ANODIZED TIN | 19| 8 +Brand#55 |ECONOMY ANODIZED TIN | 23| 8 +Brand#55 |ECONOMY ANODIZED TIN | 36| 8 +Brand#55 |ECONOMY BRUSHED COPPER | 23| 8 +Brand#55 |ECONOMY BRUSHED STEEL | 49| 8 +Brand#55 |ECONOMY BRUSHED TIN | 3| 8 +Brand#55 |ECONOMY BRUSHED TIN | 23| 8 +Brand#55 |ECONOMY BURNISHED BRASS | 3| 8 +Brand#55 |ECONOMY BURNISHED BRASS | 14| 8 +Brand#55 |ECONOMY BURNISHED COPPER | 23| 8 +Brand#55 |ECONOMY BURNISHED NICKEL | 19| 8 +Brand#55 |ECONOMY BURNISHED NICKEL | 49| 8 +Brand#55 |ECONOMY BURNISHED STEEL | 9| 8 +Brand#55 |ECONOMY BURNISHED STEEL | 19| 8 +Brand#55 |ECONOMY BURNISHED STEEL | 49| 8 +Brand#55 |ECONOMY BURNISHED TIN | 45| 8 +Brand#55 |ECONOMY PLATED BRASS | 45| 8 +Brand#55 |ECONOMY PLATED COPPER | 49| 8 +Brand#55 |ECONOMY PLATED NICKEL | 19| 8 +Brand#55 |ECONOMY PLATED NICKEL | 36| 8 +Brand#55 |ECONOMY PLATED TIN | 23| 8 +Brand#55 |ECONOMY POLISHED BRASS | 19| 8 +Brand#55 |ECONOMY POLISHED BRASS | 23| 8 +Brand#55 |ECONOMY POLISHED COPPER | 23| 8 +Brand#55 |ECONOMY POLISHED COPPER | 45| 8 +Brand#55 |ECONOMY POLISHED NICKEL | 9| 8 +Brand#55 |ECONOMY POLISHED NICKEL | 14| 8 +Brand#55 |ECONOMY POLISHED NICKEL | 19| 8 +Brand#55 |ECONOMY POLISHED NICKEL | 45| 8 +Brand#55 |ECONOMY POLISHED TIN | 9| 8 +Brand#55 |LARGE ANODIZED BRASS | 36| 8 +Brand#55 |LARGE ANODIZED COPPER | 9| 8 +Brand#55 |LARGE ANODIZED COPPER | 36| 8 +Brand#55 |LARGE ANODIZED COPPER | 45| 8 +Brand#55 |LARGE ANODIZED NICKEL | 36| 8 +Brand#55 |LARGE ANODIZED STEEL | 9| 8 +Brand#55 |LARGE ANODIZED TIN | 14| 8 +Brand#55 |LARGE BRUSHED COPPER | 9| 8 +Brand#55 |LARGE BRUSHED COPPER | 19| 8 +Brand#55 |LARGE BRUSHED NICKEL | 14| 8 +Brand#55 |LARGE BRUSHED TIN | 9| 8 +Brand#55 |LARGE BURNISHED BRASS | 3| 8 +Brand#55 |LARGE BURNISHED BRASS | 49| 8 +Brand#55 |LARGE BURNISHED COPPER | 36| 8 +Brand#55 |LARGE BURNISHED COPPER | 49| 8 +Brand#55 |LARGE BURNISHED NICKEL | 19| 8 +Brand#55 |LARGE BURNISHED NICKEL | 45| 8 +Brand#55 |LARGE BURNISHED STEEL | 3| 8 +Brand#55 |LARGE BURNISHED STEEL | 23| 8 +Brand#55 |LARGE PLATED COPPER | 14| 8 +Brand#55 |LARGE PLATED NICKEL | 9| 8 +Brand#55 |LARGE PLATED STEEL | 19| 8 +Brand#55 |LARGE PLATED STEEL | 36| 8 +Brand#55 |LARGE PLATED STEEL | 49| 8 +Brand#55 |LARGE PLATED TIN | 9| 8 +Brand#55 |LARGE PLATED TIN | 14| 8 +Brand#55 |LARGE PLATED TIN | 36| 8 +Brand#55 |LARGE PLATED TIN | 45| 8 +Brand#55 |LARGE POLISHED BRASS | 3| 8 +Brand#55 |LARGE POLISHED COPPER | 9| 8 +Brand#55 |LARGE POLISHED COPPER | 36| 8 +Brand#55 |LARGE POLISHED TIN | 9| 8 +Brand#55 |LARGE POLISHED TIN | 45| 8 +Brand#55 |MEDIUM ANODIZED BRASS | 23| 8 +Brand#55 |MEDIUM ANODIZED COPPER | 14| 8 +Brand#55 |MEDIUM ANODIZED COPPER | 49| 8 +Brand#55 |MEDIUM ANODIZED NICKEL | 14| 8 +Brand#55 |MEDIUM ANODIZED NICKEL | 19| 8 +Brand#55 |MEDIUM ANODIZED NICKEL | 45| 8 +Brand#55 |MEDIUM ANODIZED STEEL | 3| 8 +Brand#55 |MEDIUM ANODIZED STEEL | 14| 8 +Brand#55 |MEDIUM ANODIZED TIN | 45| 8 +Brand#55 |MEDIUM BRUSHED COPPER | 23| 8 +Brand#55 |MEDIUM BRUSHED NICKEL | 9| 8 +Brand#55 |MEDIUM BRUSHED NICKEL | 36| 8 +Brand#55 |MEDIUM BRUSHED STEEL | 14| 8 +Brand#55 |MEDIUM BRUSHED STEEL | 36| 8 +Brand#55 |MEDIUM BRUSHED STEEL | 49| 8 +Brand#55 |MEDIUM BRUSHED TIN | 45| 8 +Brand#55 |MEDIUM BURNISHED COPPER | 23| 8 +Brand#55 |MEDIUM BURNISHED NICKEL | 23| 8 +Brand#55 |MEDIUM BURNISHED STEEL | 14| 8 +Brand#55 |MEDIUM BURNISHED STEEL | 36| 8 +Brand#55 |MEDIUM BURNISHED STEEL | 49| 8 +Brand#55 |MEDIUM BURNISHED TIN | 45| 8 +Brand#55 |MEDIUM PLATED BRASS | 23| 8 +Brand#55 |MEDIUM PLATED COPPER | 9| 8 +Brand#55 |MEDIUM PLATED COPPER | 45| 8 +Brand#55 |MEDIUM PLATED NICKEL | 49| 8 +Brand#55 |MEDIUM PLATED TIN | 3| 8 +Brand#55 |MEDIUM PLATED TIN | 14| 8 +Brand#55 |MEDIUM PLATED TIN | 36| 8 +Brand#55 |PROMO ANODIZED BRASS | 45| 8 +Brand#55 |PROMO ANODIZED BRASS | 49| 8 +Brand#55 |PROMO ANODIZED COPPER | 3| 8 +Brand#55 |PROMO ANODIZED COPPER | 45| 8 +Brand#55 |PROMO ANODIZED COPPER | 49| 8 +Brand#55 |PROMO ANODIZED NICKEL | 3| 8 +Brand#55 |PROMO ANODIZED NICKEL | 14| 8 +Brand#55 |PROMO ANODIZED NICKEL | 36| 8 +Brand#55 |PROMO ANODIZED STEEL | 3| 8 +Brand#55 |PROMO ANODIZED STEEL | 36| 8 +Brand#55 |PROMO ANODIZED STEEL | 49| 8 +Brand#55 |PROMO ANODIZED TIN | 36| 8 +Brand#55 |PROMO ANODIZED TIN | 49| 8 +Brand#55 |PROMO BRUSHED BRASS | 9| 8 +Brand#55 |PROMO BRUSHED COPPER | 9| 8 +Brand#55 |PROMO BRUSHED NICKEL | 36| 8 +Brand#55 |PROMO BRUSHED NICKEL | 49| 8 +Brand#55 |PROMO BRUSHED STEEL | 3| 8 +Brand#55 |PROMO BRUSHED STEEL | 9| 8 +Brand#55 |PROMO BRUSHED STEEL | 36| 8 +Brand#55 |PROMO BRUSHED STEEL | 45| 8 +Brand#55 |PROMO BRUSHED TIN | 49| 8 +Brand#55 |PROMO BURNISHED BRASS | 49| 8 +Brand#55 |PROMO BURNISHED COPPER | 14| 8 +Brand#55 |PROMO BURNISHED STEEL | 9| 8 +Brand#55 |PROMO BURNISHED TIN | 45| 8 +Brand#55 |PROMO BURNISHED TIN | 49| 8 +Brand#55 |PROMO PLATED BRASS | 9| 8 +Brand#55 |PROMO PLATED BRASS | 36| 8 +Brand#55 |PROMO PLATED BRASS | 45| 8 +Brand#55 |PROMO PLATED COPPER | 14| 8 +Brand#55 |PROMO PLATED COPPER | 23| 8 +Brand#55 |PROMO PLATED NICKEL | 14| 8 +Brand#55 |PROMO PLATED NICKEL | 49| 8 +Brand#55 |PROMO PLATED TIN | 36| 8 +Brand#55 |PROMO PLATED TIN | 45| 8 +Brand#55 |PROMO POLISHED BRASS | 3| 8 +Brand#55 |PROMO POLISHED COPPER | 36| 8 +Brand#55 |PROMO POLISHED STEEL | 3| 8 +Brand#55 |PROMO POLISHED STEEL | 14| 8 +Brand#55 |PROMO POLISHED STEEL | 36| 8 +Brand#55 |SMALL ANODIZED BRASS | 19| 8 +Brand#55 |SMALL ANODIZED COPPER | 14| 8 +Brand#55 |SMALL ANODIZED NICKEL | 3| 8 +Brand#55 |SMALL ANODIZED STEEL | 14| 8 +Brand#55 |SMALL ANODIZED STEEL | 19| 8 +Brand#55 |SMALL ANODIZED STEEL | 49| 8 +Brand#55 |SMALL ANODIZED TIN | 3| 8 +Brand#55 |SMALL BRUSHED BRASS | 19| 8 +Brand#55 |SMALL BRUSHED BRASS | 49| 8 +Brand#55 |SMALL BRUSHED COPPER | 14| 8 +Brand#55 |SMALL BRUSHED COPPER | 36| 8 +Brand#55 |SMALL BRUSHED COPPER | 45| 8 +Brand#55 |SMALL BRUSHED TIN | 23| 8 +Brand#55 |SMALL BURNISHED BRASS | 9| 8 +Brand#55 |SMALL BURNISHED COPPER | 45| 8 +Brand#55 |SMALL BURNISHED NICKEL | 3| 8 +Brand#55 |SMALL BURNISHED STEEL | 19| 8 +Brand#55 |SMALL BURNISHED STEEL | 23| 8 +Brand#55 |SMALL BURNISHED TIN | 3| 8 +Brand#55 |SMALL BURNISHED TIN | 14| 8 +Brand#55 |SMALL BURNISHED TIN | 19| 8 +Brand#55 |SMALL BURNISHED TIN | 36| 8 +Brand#55 |SMALL PLATED BRASS | 45| 8 +Brand#55 |SMALL PLATED COPPER | 9| 8 +Brand#55 |SMALL PLATED COPPER | 19| 8 +Brand#55 |SMALL PLATED COPPER | 23| 8 +Brand#55 |SMALL PLATED COPPER | 45| 8 +Brand#55 |SMALL PLATED NICKEL | 9| 8 +Brand#55 |SMALL PLATED NICKEL | 23| 8 +Brand#55 |SMALL PLATED STEEL | 49| 8 +Brand#55 |SMALL PLATED TIN | 3| 8 +Brand#55 |SMALL PLATED TIN | 9| 8 +Brand#55 |SMALL PLATED TIN | 14| 8 +Brand#55 |SMALL PLATED TIN | 49| 8 +Brand#55 |SMALL POLISHED BRASS | 14| 8 +Brand#55 |SMALL POLISHED COPPER | 3| 8 +Brand#55 |SMALL POLISHED TIN | 19| 8 +Brand#55 |SMALL POLISHED TIN | 49| 8 +Brand#55 |STANDARD ANODIZED BRASS | 14| 8 +Brand#55 |STANDARD ANODIZED BRASS | 36| 8 +Brand#55 |STANDARD ANODIZED COPPER | 23| 8 +Brand#55 |STANDARD ANODIZED NICKEL | 23| 8 +Brand#55 |STANDARD ANODIZED TIN | 19| 8 +Brand#55 |STANDARD ANODIZED TIN | 49| 8 +Brand#55 |STANDARD BRUSHED BRASS | 3| 8 +Brand#55 |STANDARD BRUSHED BRASS | 36| 8 +Brand#55 |STANDARD BRUSHED BRASS | 45| 8 +Brand#55 |STANDARD BRUSHED COPPER | 3| 8 +Brand#55 |STANDARD BRUSHED COPPER | 23| 8 +Brand#55 |STANDARD BRUSHED NICKEL | 19| 8 +Brand#55 |STANDARD BRUSHED TIN | 23| 8 +Brand#55 |STANDARD BURNISHED BRASS | 49| 8 +Brand#55 |STANDARD BURNISHED COPPER| 23| 8 +Brand#55 |STANDARD BURNISHED COPPER| 36| 8 +Brand#55 |STANDARD BURNISHED NICKEL| 3| 8 +Brand#55 |STANDARD BURNISHED NICKEL| 14| 8 +Brand#55 |STANDARD BURNISHED NICKEL| 36| 8 +Brand#55 |STANDARD BURNISHED NICKEL| 45| 8 +Brand#55 |STANDARD BURNISHED STEEL | 14| 8 +Brand#55 |STANDARD BURNISHED STEEL | 49| 8 +Brand#55 |STANDARD PLATED BRASS | 19| 8 +Brand#55 |STANDARD PLATED BRASS | 23| 8 +Brand#55 |STANDARD PLATED COPPER | 23| 8 +Brand#55 |STANDARD PLATED NICKEL | 49| 8 +Brand#55 |STANDARD PLATED TIN | 23| 8 +Brand#55 |STANDARD POLISHED BRASS | 19| 8 +Brand#55 |STANDARD POLISHED BRASS | 49| 8 +Brand#55 |STANDARD POLISHED COPPER | 9| 8 +Brand#55 |STANDARD POLISHED COPPER | 36| 8 +Brand#55 |STANDARD POLISHED STEEL | 9| 8 +Brand#55 |STANDARD POLISHED STEEL | 36| 8 +Brand#55 |STANDARD POLISHED STEEL | 45| 8 +Brand#55 |STANDARD POLISHED STEEL | 49| 8 +Brand#12 |PROMO ANODIZED NICKEL | 49| 7 +Brand#13 |LARGE PLATED TIN | 23| 7 +Brand#14 |PROMO PLATED BRASS | 19| 7 +Brand#22 |STANDARD POLISHED TIN | 3| 7 +Brand#23 |ECONOMY PLATED NICKEL | 19| 7 +Brand#23 |LARGE BURNISHED NICKEL | 14| 7 +Brand#24 |PROMO BRUSHED NICKEL | 14| 7 +Brand#31 |MEDIUM BURNISHED NICKEL | 23| 7 +Brand#32 |LARGE BRUSHED COPPER | 3| 7 +Brand#32 |LARGE POLISHED NICKEL | 23| 7 +Brand#32 |STANDARD BURNISHED STEEL | 19| 7 +Brand#33 |ECONOMY BRUSHED BRASS | 3| 7 +Brand#33 |PROMO PLATED NICKEL | 9| 7 +Brand#33 |SMALL ANODIZED COPPER | 23| 7 +Brand#41 |ECONOMY BRUSHED COPPER | 36| 7 +Brand#41 |PROMO POLISHED BRASS | 45| 7 +Brand#42 |MEDIUM PLATED STEEL | 45| 7 +Brand#42 |STANDARD PLATED COPPER | 19| 7 +Brand#43 |LARGE POLISHED COPPER | 19| 7 +Brand#44 |PROMO BURNISHED STEEL | 45| 7 +Brand#51 |STANDARD PLATED TIN | 45| 7 +Brand#52 |STANDARD ANODIZED STEEL | 14| 7 +Brand#53 |STANDARD ANODIZED NICKEL | 14| 7 +Brand#55 |ECONOMY POLISHED TIN | 19| 7 +Brand#55 |SMALL BURNISHED STEEL | 3| 7 +Brand#32 |MEDIUM BURNISHED STEEL | 3| 6 +Brand#11 |ECONOMY ANODIZED BRASS | 3| 4 +Brand#11 |ECONOMY ANODIZED BRASS | 45| 4 +Brand#11 |ECONOMY ANODIZED COPPER | 3| 4 +Brand#11 |ECONOMY ANODIZED COPPER | 19| 4 +Brand#11 |ECONOMY ANODIZED COPPER | 36| 4 +Brand#11 |ECONOMY ANODIZED COPPER | 45| 4 +Brand#11 |ECONOMY ANODIZED STEEL | 9| 4 +Brand#11 |ECONOMY ANODIZED STEEL | 14| 4 +Brand#11 |ECONOMY ANODIZED STEEL | 23| 4 +Brand#11 |ECONOMY ANODIZED STEEL | 45| 4 +Brand#11 |ECONOMY ANODIZED STEEL | 49| 4 +Brand#11 |ECONOMY ANODIZED TIN | 3| 4 +Brand#11 |ECONOMY ANODIZED TIN | 9| 4 +Brand#11 |ECONOMY ANODIZED TIN | 49| 4 +Brand#11 |ECONOMY BRUSHED BRASS | 3| 4 +Brand#11 |ECONOMY BRUSHED BRASS | 19| 4 +Brand#11 |ECONOMY BRUSHED COPPER | 3| 4 +Brand#11 |ECONOMY BRUSHED COPPER | 19| 4 +Brand#11 |ECONOMY BRUSHED NICKEL | 14| 4 +Brand#11 |ECONOMY BRUSHED STEEL | 3| 4 +Brand#11 |ECONOMY BRUSHED STEEL | 36| 4 +Brand#11 |ECONOMY BRUSHED TIN | 23| 4 +Brand#11 |ECONOMY BRUSHED TIN | 45| 4 +Brand#11 |ECONOMY BURNISHED BRASS | 3| 4 +Brand#11 |ECONOMY BURNISHED BRASS | 9| 4 +Brand#11 |ECONOMY BURNISHED BRASS | 14| 4 +Brand#11 |ECONOMY BURNISHED BRASS | 19| 4 +Brand#11 |ECONOMY BURNISHED BRASS | 49| 4 +Brand#11 |ECONOMY BURNISHED COPPER | 14| 4 +Brand#11 |ECONOMY BURNISHED COPPER | 23| 4 +Brand#11 |ECONOMY BURNISHED COPPER | 36| 4 +Brand#11 |ECONOMY BURNISHED NICKEL | 9| 4 +Brand#11 |ECONOMY BURNISHED NICKEL | 49| 4 +Brand#11 |ECONOMY BURNISHED STEEL | 14| 4 +Brand#11 |ECONOMY BURNISHED TIN | 19| 4 +Brand#11 |ECONOMY BURNISHED TIN | 23| 4 +Brand#11 |ECONOMY BURNISHED TIN | 45| 4 +Brand#11 |ECONOMY PLATED BRASS | 3| 4 +Brand#11 |ECONOMY PLATED BRASS | 9| 4 +Brand#11 |ECONOMY PLATED BRASS | 36| 4 +Brand#11 |ECONOMY PLATED BRASS | 49| 4 +Brand#11 |ECONOMY PLATED COPPER | 36| 4 +Brand#11 |ECONOMY PLATED NICKEL | 3| 4 +Brand#11 |ECONOMY PLATED NICKEL | 49| 4 +Brand#11 |ECONOMY PLATED STEEL | 3| 4 +Brand#11 |ECONOMY PLATED STEEL | 14| 4 +Brand#11 |ECONOMY PLATED STEEL | 19| 4 +Brand#11 |ECONOMY PLATED STEEL | 49| 4 +Brand#11 |ECONOMY PLATED TIN | 3| 4 +Brand#11 |ECONOMY PLATED TIN | 9| 4 +Brand#11 |ECONOMY PLATED TIN | 19| 4 +Brand#11 |ECONOMY PLATED TIN | 36| 4 +Brand#11 |ECONOMY POLISHED BRASS | 9| 4 +Brand#11 |ECONOMY POLISHED BRASS | 19| 4 +Brand#11 |ECONOMY POLISHED BRASS | 23| 4 +Brand#11 |ECONOMY POLISHED BRASS | 36| 4 +Brand#11 |ECONOMY POLISHED BRASS | 49| 4 +Brand#11 |ECONOMY POLISHED COPPER | 3| 4 +Brand#11 |ECONOMY POLISHED COPPER | 19| 4 +Brand#11 |ECONOMY POLISHED COPPER | 23| 4 +Brand#11 |ECONOMY POLISHED NICKEL | 36| 4 +Brand#11 |ECONOMY POLISHED NICKEL | 49| 4 +Brand#11 |ECONOMY POLISHED STEEL | 9| 4 +Brand#11 |ECONOMY POLISHED STEEL | 14| 4 +Brand#11 |ECONOMY POLISHED STEEL | 23| 4 +Brand#11 |ECONOMY POLISHED STEEL | 36| 4 +Brand#11 |ECONOMY POLISHED STEEL | 45| 4 +Brand#11 |ECONOMY POLISHED TIN | 49| 4 +Brand#11 |LARGE ANODIZED BRASS | 3| 4 +Brand#11 |LARGE ANODIZED BRASS | 9| 4 +Brand#11 |LARGE ANODIZED BRASS | 19| 4 +Brand#11 |LARGE ANODIZED BRASS | 23| 4 +Brand#11 |LARGE ANODIZED COPPER | 3| 4 +Brand#11 |LARGE ANODIZED COPPER | 9| 4 +Brand#11 |LARGE ANODIZED COPPER | 36| 4 +Brand#11 |LARGE ANODIZED COPPER | 45| 4 +Brand#11 |LARGE ANODIZED NICKEL | 23| 4 +Brand#11 |LARGE ANODIZED STEEL | 14| 4 +Brand#11 |LARGE ANODIZED STEEL | 49| 4 +Brand#11 |LARGE ANODIZED TIN | 3| 4 +Brand#11 |LARGE ANODIZED TIN | 9| 4 +Brand#11 |LARGE ANODIZED TIN | 14| 4 +Brand#11 |LARGE ANODIZED TIN | 19| 4 +Brand#11 |LARGE BRUSHED BRASS | 36| 4 +Brand#11 |LARGE BRUSHED BRASS | 45| 4 +Brand#11 |LARGE BRUSHED COPPER | 3| 4 +Brand#11 |LARGE BRUSHED NICKEL | 9| 4 +Brand#11 |LARGE BRUSHED NICKEL | 36| 4 +Brand#11 |LARGE BRUSHED NICKEL | 49| 4 +Brand#11 |LARGE BRUSHED STEEL | 3| 4 +Brand#11 |LARGE BRUSHED STEEL | 9| 4 +Brand#11 |LARGE BRUSHED STEEL | 23| 4 +Brand#11 |LARGE BRUSHED STEEL | 45| 4 +Brand#11 |LARGE BRUSHED TIN | 3| 4 +Brand#11 |LARGE BURNISHED BRASS | 9| 4 +Brand#11 |LARGE BURNISHED BRASS | 19| 4 +Brand#11 |LARGE BURNISHED BRASS | 36| 4 +Brand#11 |LARGE BURNISHED COPPER | 19| 4 +Brand#11 |LARGE BURNISHED COPPER | 45| 4 +Brand#11 |LARGE BURNISHED NICKEL | 3| 4 +Brand#11 |LARGE BURNISHED NICKEL | 49| 4 +Brand#11 |LARGE BURNISHED STEEL | 14| 4 +Brand#11 |LARGE BURNISHED STEEL | 23| 4 +Brand#11 |LARGE BURNISHED STEEL | 45| 4 +Brand#11 |LARGE BURNISHED TIN | 3| 4 +Brand#11 |LARGE BURNISHED TIN | 9| 4 +Brand#11 |LARGE BURNISHED TIN | 36| 4 +Brand#11 |LARGE BURNISHED TIN | 45| 4 +Brand#11 |LARGE PLATED BRASS | 9| 4 +Brand#11 |LARGE PLATED BRASS | 36| 4 +Brand#11 |LARGE PLATED BRASS | 45| 4 +Brand#11 |LARGE PLATED BRASS | 49| 4 +Brand#11 |LARGE PLATED COPPER | 3| 4 +Brand#11 |LARGE PLATED COPPER | 9| 4 +Brand#11 |LARGE PLATED COPPER | 14| 4 +Brand#11 |LARGE PLATED COPPER | 19| 4 +Brand#11 |LARGE PLATED COPPER | 23| 4 +Brand#11 |LARGE PLATED COPPER | 36| 4 +Brand#11 |LARGE PLATED COPPER | 45| 4 +Brand#11 |LARGE PLATED COPPER | 49| 4 +Brand#11 |LARGE PLATED NICKEL | 9| 4 +Brand#11 |LARGE PLATED NICKEL | 14| 4 +Brand#11 |LARGE PLATED NICKEL | 19| 4 +Brand#11 |LARGE PLATED NICKEL | 49| 4 +Brand#11 |LARGE PLATED STEEL | 9| 4 +Brand#11 |LARGE PLATED STEEL | 49| 4 +Brand#11 |LARGE PLATED TIN | 23| 4 +Brand#11 |LARGE PLATED TIN | 45| 4 +Brand#11 |LARGE POLISHED BRASS | 3| 4 +Brand#11 |LARGE POLISHED BRASS | 14| 4 +Brand#11 |LARGE POLISHED BRASS | 19| 4 +Brand#11 |LARGE POLISHED BRASS | 23| 4 +Brand#11 |LARGE POLISHED BRASS | 45| 4 +Brand#11 |LARGE POLISHED COPPER | 3| 4 +Brand#11 |LARGE POLISHED COPPER | 19| 4 +Brand#11 |LARGE POLISHED NICKEL | 49| 4 +Brand#11 |LARGE POLISHED STEEL | 14| 4 +Brand#11 |LARGE POLISHED STEEL | 23| 4 +Brand#11 |LARGE POLISHED STEEL | 45| 4 +Brand#11 |LARGE POLISHED TIN | 9| 4 +Brand#11 |LARGE POLISHED TIN | 14| 4 +Brand#11 |LARGE POLISHED TIN | 45| 4 +Brand#11 |LARGE POLISHED TIN | 49| 4 +Brand#11 |MEDIUM ANODIZED BRASS | 19| 4 +Brand#11 |MEDIUM ANODIZED COPPER | 3| 4 +Brand#11 |MEDIUM ANODIZED COPPER | 45| 4 +Brand#11 |MEDIUM ANODIZED COPPER | 49| 4 +Brand#11 |MEDIUM ANODIZED STEEL | 14| 4 +Brand#11 |MEDIUM ANODIZED STEEL | 23| 4 +Brand#11 |MEDIUM ANODIZED TIN | 14| 4 +Brand#11 |MEDIUM ANODIZED TIN | 19| 4 +Brand#11 |MEDIUM BRUSHED BRASS | 14| 4 +Brand#11 |MEDIUM BRUSHED BRASS | 36| 4 +Brand#11 |MEDIUM BRUSHED BRASS | 49| 4 +Brand#11 |MEDIUM BRUSHED COPPER | 36| 4 +Brand#11 |MEDIUM BRUSHED COPPER | 49| 4 +Brand#11 |MEDIUM BRUSHED NICKEL | 3| 4 +Brand#11 |MEDIUM BRUSHED NICKEL | 19| 4 +Brand#11 |MEDIUM BRUSHED NICKEL | 49| 4 +Brand#11 |MEDIUM BRUSHED STEEL | 14| 4 +Brand#11 |MEDIUM BRUSHED TIN | 3| 4 +Brand#11 |MEDIUM BRUSHED TIN | 9| 4 +Brand#11 |MEDIUM BRUSHED TIN | 49| 4 +Brand#11 |MEDIUM BURNISHED BRASS | 9| 4 +Brand#11 |MEDIUM BURNISHED BRASS | 14| 4 +Brand#11 |MEDIUM BURNISHED BRASS | 36| 4 +Brand#11 |MEDIUM BURNISHED COPPER | 3| 4 +Brand#11 |MEDIUM BURNISHED COPPER | 36| 4 +Brand#11 |MEDIUM BURNISHED NICKEL | 14| 4 +Brand#11 |MEDIUM BURNISHED NICKEL | 19| 4 +Brand#11 |MEDIUM BURNISHED NICKEL | 36| 4 +Brand#11 |MEDIUM BURNISHED NICKEL | 45| 4 +Brand#11 |MEDIUM BURNISHED STEEL | 23| 4 +Brand#11 |MEDIUM BURNISHED STEEL | 45| 4 +Brand#11 |MEDIUM BURNISHED STEEL | 49| 4 +Brand#11 |MEDIUM BURNISHED TIN | 23| 4 +Brand#11 |MEDIUM BURNISHED TIN | 45| 4 +Brand#11 |MEDIUM PLATED BRASS | 19| 4 +Brand#11 |MEDIUM PLATED COPPER | 23| 4 +Brand#11 |MEDIUM PLATED COPPER | 45| 4 +Brand#11 |MEDIUM PLATED COPPER | 49| 4 +Brand#11 |MEDIUM PLATED NICKEL | 36| 4 +Brand#11 |MEDIUM PLATED NICKEL | 49| 4 +Brand#11 |MEDIUM PLATED STEEL | 49| 4 +Brand#11 |MEDIUM PLATED TIN | 36| 4 +Brand#11 |MEDIUM PLATED TIN | 49| 4 +Brand#11 |PROMO ANODIZED BRASS | 3| 4 +Brand#11 |PROMO ANODIZED BRASS | 9| 4 +Brand#11 |PROMO ANODIZED BRASS | 14| 4 +Brand#11 |PROMO ANODIZED BRASS | 23| 4 +Brand#11 |PROMO ANODIZED COPPER | 3| 4 +Brand#11 |PROMO ANODIZED COPPER | 23| 4 +Brand#11 |PROMO ANODIZED COPPER | 45| 4 +Brand#11 |PROMO ANODIZED NICKEL | 14| 4 +Brand#11 |PROMO ANODIZED NICKEL | 19| 4 +Brand#11 |PROMO ANODIZED NICKEL | 23| 4 +Brand#11 |PROMO ANODIZED NICKEL | 49| 4 +Brand#11 |PROMO ANODIZED STEEL | 9| 4 +Brand#11 |PROMO ANODIZED STEEL | 14| 4 +Brand#11 |PROMO ANODIZED TIN | 14| 4 +Brand#11 |PROMO ANODIZED TIN | 45| 4 +Brand#11 |PROMO BRUSHED BRASS | 9| 4 +Brand#11 |PROMO BRUSHED BRASS | 14| 4 +Brand#11 |PROMO BRUSHED BRASS | 19| 4 +Brand#11 |PROMO BRUSHED BRASS | 23| 4 +Brand#11 |PROMO BRUSHED BRASS | 45| 4 +Brand#11 |PROMO BRUSHED COPPER | 3| 4 +Brand#11 |PROMO BRUSHED COPPER | 23| 4 +Brand#11 |PROMO BRUSHED COPPER | 45| 4 +Brand#11 |PROMO BRUSHED COPPER | 49| 4 +Brand#11 |PROMO BRUSHED NICKEL | 3| 4 +Brand#11 |PROMO BRUSHED NICKEL | 14| 4 +Brand#11 |PROMO BRUSHED NICKEL | 23| 4 +Brand#11 |PROMO BRUSHED NICKEL | 45| 4 +Brand#11 |PROMO BRUSHED NICKEL | 49| 4 +Brand#11 |PROMO BRUSHED STEEL | 3| 4 +Brand#11 |PROMO BRUSHED STEEL | 14| 4 +Brand#11 |PROMO BRUSHED STEEL | 19| 4 +Brand#11 |PROMO BRUSHED TIN | 3| 4 +Brand#11 |PROMO BRUSHED TIN | 9| 4 +Brand#11 |PROMO BRUSHED TIN | 23| 4 +Brand#11 |PROMO BRUSHED TIN | 49| 4 +Brand#11 |PROMO BURNISHED BRASS | 14| 4 +Brand#11 |PROMO BURNISHED BRASS | 45| 4 +Brand#11 |PROMO BURNISHED COPPER | 9| 4 +Brand#11 |PROMO BURNISHED COPPER | 19| 4 +Brand#11 |PROMO BURNISHED COPPER | 36| 4 +Brand#11 |PROMO BURNISHED NICKEL | 9| 4 +Brand#11 |PROMO BURNISHED NICKEL | 19| 4 +Brand#11 |PROMO BURNISHED NICKEL | 49| 4 +Brand#11 |PROMO BURNISHED STEEL | 3| 4 +Brand#11 |PROMO BURNISHED STEEL | 9| 4 +Brand#11 |PROMO BURNISHED TIN | 3| 4 +Brand#11 |PROMO BURNISHED TIN | 9| 4 +Brand#11 |PROMO BURNISHED TIN | 14| 4 +Brand#11 |PROMO BURNISHED TIN | 19| 4 +Brand#11 |PROMO BURNISHED TIN | 49| 4 +Brand#11 |PROMO PLATED BRASS | 3| 4 +Brand#11 |PROMO PLATED BRASS | 9| 4 +Brand#11 |PROMO PLATED BRASS | 36| 4 +Brand#11 |PROMO PLATED COPPER | 9| 4 +Brand#11 |PROMO PLATED COPPER | 23| 4 +Brand#11 |PROMO PLATED NICKEL | 19| 4 +Brand#11 |PROMO PLATED NICKEL | 23| 4 +Brand#11 |PROMO PLATED NICKEL | 36| 4 +Brand#11 |PROMO PLATED NICKEL | 45| 4 +Brand#11 |PROMO PLATED STEEL | 36| 4 +Brand#11 |PROMO PLATED STEEL | 45| 4 +Brand#11 |PROMO PLATED TIN | 45| 4 +Brand#11 |PROMO POLISHED BRASS | 9| 4 +Brand#11 |PROMO POLISHED BRASS | 45| 4 +Brand#11 |PROMO POLISHED BRASS | 49| 4 +Brand#11 |PROMO POLISHED COPPER | 3| 4 +Brand#11 |PROMO POLISHED COPPER | 36| 4 +Brand#11 |PROMO POLISHED COPPER | 49| 4 +Brand#11 |PROMO POLISHED NICKEL | 14| 4 +Brand#11 |PROMO POLISHED NICKEL | 19| 4 +Brand#11 |PROMO POLISHED STEEL | 9| 4 +Brand#11 |PROMO POLISHED STEEL | 14| 4 +Brand#11 |PROMO POLISHED STEEL | 36| 4 +Brand#11 |PROMO POLISHED TIN | 36| 4 +Brand#11 |PROMO POLISHED TIN | 45| 4 +Brand#11 |SMALL ANODIZED BRASS | 3| 4 +Brand#11 |SMALL ANODIZED BRASS | 14| 4 +Brand#11 |SMALL ANODIZED BRASS | 19| 4 +Brand#11 |SMALL ANODIZED BRASS | 36| 4 +Brand#11 |SMALL ANODIZED COPPER | 9| 4 +Brand#11 |SMALL ANODIZED COPPER | 23| 4 +Brand#11 |SMALL ANODIZED COPPER | 36| 4 +Brand#11 |SMALL ANODIZED NICKEL | 3| 4 +Brand#11 |SMALL ANODIZED NICKEL | 14| 4 +Brand#11 |SMALL ANODIZED NICKEL | 19| 4 +Brand#11 |SMALL ANODIZED NICKEL | 45| 4 +Brand#11 |SMALL ANODIZED STEEL | 19| 4 +Brand#11 |SMALL ANODIZED STEEL | 36| 4 +Brand#11 |SMALL ANODIZED TIN | 3| 4 +Brand#11 |SMALL ANODIZED TIN | 14| 4 +Brand#11 |SMALL ANODIZED TIN | 49| 4 +Brand#11 |SMALL BRUSHED BRASS | 3| 4 +Brand#11 |SMALL BRUSHED BRASS | 9| 4 +Brand#11 |SMALL BRUSHED BRASS | 14| 4 +Brand#11 |SMALL BRUSHED COPPER | 3| 4 +Brand#11 |SMALL BRUSHED COPPER | 23| 4 +Brand#11 |SMALL BRUSHED COPPER | 36| 4 +Brand#11 |SMALL BRUSHED COPPER | 45| 4 +Brand#11 |SMALL BRUSHED COPPER | 49| 4 +Brand#11 |SMALL BRUSHED STEEL | 9| 4 +Brand#11 |SMALL BRUSHED STEEL | 19| 4 +Brand#11 |SMALL BRUSHED STEEL | 36| 4 +Brand#11 |SMALL BRUSHED STEEL | 45| 4 +Brand#11 |SMALL BRUSHED TIN | 9| 4 +Brand#11 |SMALL BRUSHED TIN | 23| 4 +Brand#11 |SMALL BRUSHED TIN | 36| 4 +Brand#11 |SMALL BRUSHED TIN | 45| 4 +Brand#11 |SMALL BURNISHED BRASS | 3| 4 +Brand#11 |SMALL BURNISHED BRASS | 23| 4 +Brand#11 |SMALL BURNISHED BRASS | 36| 4 +Brand#11 |SMALL BURNISHED COPPER | 3| 4 +Brand#11 |SMALL BURNISHED COPPER | 14| 4 +Brand#11 |SMALL BURNISHED NICKEL | 36| 4 +Brand#11 |SMALL BURNISHED NICKEL | 45| 4 +Brand#11 |SMALL BURNISHED STEEL | 14| 4 +Brand#11 |SMALL BURNISHED STEEL | 23| 4 +Brand#11 |SMALL BURNISHED STEEL | 49| 4 +Brand#11 |SMALL BURNISHED TIN | 14| 4 +Brand#11 |SMALL BURNISHED TIN | 23| 4 +Brand#11 |SMALL BURNISHED TIN | 36| 4 +Brand#11 |SMALL BURNISHED TIN | 49| 4 +Brand#11 |SMALL PLATED BRASS | 9| 4 +Brand#11 |SMALL PLATED BRASS | 23| 4 +Brand#11 |SMALL PLATED COPPER | 3| 4 +Brand#11 |SMALL PLATED COPPER | 14| 4 +Brand#11 |SMALL PLATED COPPER | 36| 4 +Brand#11 |SMALL PLATED NICKEL | 3| 4 +Brand#11 |SMALL PLATED NICKEL | 14| 4 +Brand#11 |SMALL PLATED NICKEL | 19| 4 +Brand#11 |SMALL PLATED STEEL | 23| 4 +Brand#11 |SMALL PLATED STEEL | 36| 4 +Brand#11 |SMALL PLATED TIN | 49| 4 +Brand#11 |SMALL POLISHED BRASS | 36| 4 +Brand#11 |SMALL POLISHED BRASS | 45| 4 +Brand#11 |SMALL POLISHED BRASS | 49| 4 +Brand#11 |SMALL POLISHED COPPER | 3| 4 +Brand#11 |SMALL POLISHED COPPER | 14| 4 +Brand#11 |SMALL POLISHED COPPER | 19| 4 +Brand#11 |SMALL POLISHED COPPER | 49| 4 +Brand#11 |SMALL POLISHED NICKEL | 3| 4 +Brand#11 |SMALL POLISHED NICKEL | 14| 4 +Brand#11 |SMALL POLISHED NICKEL | 19| 4 +Brand#11 |SMALL POLISHED STEEL | 9| 4 +Brand#11 |SMALL POLISHED STEEL | 49| 4 +Brand#11 |SMALL POLISHED TIN | 14| 4 +Brand#11 |SMALL POLISHED TIN | 19| 4 +Brand#11 |SMALL POLISHED TIN | 36| 4 +Brand#11 |SMALL POLISHED TIN | 45| 4 +Brand#11 |SMALL POLISHED TIN | 49| 4 +Brand#11 |STANDARD ANODIZED BRASS | 3| 4 +Brand#11 |STANDARD ANODIZED BRASS | 9| 4 +Brand#11 |STANDARD ANODIZED BRASS | 36| 4 +Brand#11 |STANDARD ANODIZED BRASS | 49| 4 +Brand#11 |STANDARD ANODIZED COPPER | 23| 4 +Brand#11 |STANDARD ANODIZED COPPER | 45| 4 +Brand#11 |STANDARD ANODIZED NICKEL | 3| 4 +Brand#11 |STANDARD ANODIZED NICKEL | 49| 4 +Brand#11 |STANDARD ANODIZED STEEL | 3| 4 +Brand#11 |STANDARD ANODIZED STEEL | 14| 4 +Brand#11 |STANDARD ANODIZED STEEL | 23| 4 +Brand#11 |STANDARD ANODIZED STEEL | 36| 4 +Brand#11 |STANDARD ANODIZED STEEL | 45| 4 +Brand#11 |STANDARD ANODIZED STEEL | 49| 4 +Brand#11 |STANDARD ANODIZED TIN | 3| 4 +Brand#11 |STANDARD ANODIZED TIN | 19| 4 +Brand#11 |STANDARD ANODIZED TIN | 36| 4 +Brand#11 |STANDARD ANODIZED TIN | 49| 4 +Brand#11 |STANDARD BRUSHED BRASS | 9| 4 +Brand#11 |STANDARD BRUSHED BRASS | 14| 4 +Brand#11 |STANDARD BRUSHED BRASS | 36| 4 +Brand#11 |STANDARD BRUSHED BRASS | 45| 4 +Brand#11 |STANDARD BRUSHED COPPER | 9| 4 +Brand#11 |STANDARD BRUSHED COPPER | 19| 4 +Brand#11 |STANDARD BRUSHED COPPER | 49| 4 +Brand#11 |STANDARD BRUSHED NICKEL | 19| 4 +Brand#11 |STANDARD BRUSHED NICKEL | 23| 4 +Brand#11 |STANDARD BRUSHED NICKEL | 36| 4 +Brand#11 |STANDARD BRUSHED NICKEL | 49| 4 +Brand#11 |STANDARD BRUSHED STEEL | 23| 4 +Brand#11 |STANDARD BRUSHED STEEL | 36| 4 +Brand#11 |STANDARD BRUSHED TIN | 14| 4 +Brand#11 |STANDARD BRUSHED TIN | 45| 4 +Brand#11 |STANDARD BURNISHED BRASS | 3| 4 +Brand#11 |STANDARD BURNISHED BRASS | 14| 4 +Brand#11 |STANDARD BURNISHED BRASS | 45| 4 +Brand#11 |STANDARD BURNISHED COPPER| 3| 4 +Brand#11 |STANDARD BURNISHED COPPER| 45| 4 +Brand#11 |STANDARD BURNISHED NICKEL| 3| 4 +Brand#11 |STANDARD BURNISHED NICKEL| 9| 4 +Brand#11 |STANDARD BURNISHED NICKEL| 14| 4 +Brand#11 |STANDARD BURNISHED NICKEL| 19| 4 +Brand#11 |STANDARD BURNISHED STEEL | 9| 4 +Brand#11 |STANDARD BURNISHED STEEL | 14| 4 +Brand#11 |STANDARD BURNISHED STEEL | 19| 4 +Brand#11 |STANDARD BURNISHED STEEL | 49| 4 +Brand#11 |STANDARD BURNISHED TIN | 9| 4 +Brand#11 |STANDARD BURNISHED TIN | 19| 4 +Brand#11 |STANDARD BURNISHED TIN | 23| 4 +Brand#11 |STANDARD BURNISHED TIN | 36| 4 +Brand#11 |STANDARD PLATED BRASS | 3| 4 +Brand#11 |STANDARD PLATED BRASS | 14| 4 +Brand#11 |STANDARD PLATED BRASS | 36| 4 +Brand#11 |STANDARD PLATED COPPER | 9| 4 +Brand#11 |STANDARD PLATED COPPER | 14| 4 +Brand#11 |STANDARD PLATED COPPER | 45| 4 +Brand#11 |STANDARD PLATED NICKEL | 3| 4 +Brand#11 |STANDARD PLATED NICKEL | 9| 4 +Brand#11 |STANDARD PLATED NICKEL | 23| 4 +Brand#11 |STANDARD PLATED NICKEL | 49| 4 +Brand#11 |STANDARD PLATED STEEL | 9| 4 +Brand#11 |STANDARD PLATED STEEL | 36| 4 +Brand#11 |STANDARD PLATED TIN | 19| 4 +Brand#11 |STANDARD POLISHED BRASS | 19| 4 +Brand#11 |STANDARD POLISHED BRASS | 36| 4 +Brand#11 |STANDARD POLISHED BRASS | 49| 4 +Brand#11 |STANDARD POLISHED COPPER | 3| 4 +Brand#11 |STANDARD POLISHED COPPER | 45| 4 +Brand#11 |STANDARD POLISHED COPPER | 49| 4 +Brand#11 |STANDARD POLISHED NICKEL | 14| 4 +Brand#11 |STANDARD POLISHED NICKEL | 36| 4 +Brand#11 |STANDARD POLISHED NICKEL | 45| 4 +Brand#11 |STANDARD POLISHED STEEL | 14| 4 +Brand#11 |STANDARD POLISHED STEEL | 23| 4 +Brand#11 |STANDARD POLISHED STEEL | 36| 4 +Brand#11 |STANDARD POLISHED STEEL | 45| 4 +Brand#11 |STANDARD POLISHED TIN | 3| 4 +Brand#11 |STANDARD POLISHED TIN | 19| 4 +Brand#11 |STANDARD POLISHED TIN | 36| 4 +Brand#11 |STANDARD POLISHED TIN | 45| 4 +Brand#12 |ECONOMY ANODIZED BRASS | 9| 4 +Brand#12 |ECONOMY ANODIZED BRASS | 19| 4 +Brand#12 |ECONOMY ANODIZED BRASS | 23| 4 +Brand#12 |ECONOMY ANODIZED COPPER | 9| 4 +Brand#12 |ECONOMY ANODIZED COPPER | 19| 4 +Brand#12 |ECONOMY ANODIZED COPPER | 23| 4 +Brand#12 |ECONOMY ANODIZED COPPER | 36| 4 +Brand#12 |ECONOMY ANODIZED COPPER | 45| 4 +Brand#12 |ECONOMY ANODIZED COPPER | 49| 4 +Brand#12 |ECONOMY ANODIZED NICKEL | 3| 4 +Brand#12 |ECONOMY ANODIZED NICKEL | 9| 4 +Brand#12 |ECONOMY ANODIZED NICKEL | 23| 4 +Brand#12 |ECONOMY ANODIZED NICKEL | 49| 4 +Brand#12 |ECONOMY ANODIZED STEEL | 9| 4 +Brand#12 |ECONOMY ANODIZED STEEL | 49| 4 +Brand#12 |ECONOMY ANODIZED TIN | 9| 4 +Brand#12 |ECONOMY ANODIZED TIN | 36| 4 +Brand#12 |ECONOMY ANODIZED TIN | 49| 4 +Brand#12 |ECONOMY BRUSHED BRASS | 9| 4 +Brand#12 |ECONOMY BRUSHED BRASS | 14| 4 +Brand#12 |ECONOMY BRUSHED BRASS | 45| 4 +Brand#12 |ECONOMY BRUSHED COPPER | 45| 4 +Brand#12 |ECONOMY BRUSHED NICKEL | 9| 4 +Brand#12 |ECONOMY BRUSHED NICKEL | 14| 4 +Brand#12 |ECONOMY BRUSHED NICKEL | 19| 4 +Brand#12 |ECONOMY BRUSHED NICKEL | 36| 4 +Brand#12 |ECONOMY BRUSHED NICKEL | 45| 4 +Brand#12 |ECONOMY BRUSHED NICKEL | 49| 4 +Brand#12 |ECONOMY BRUSHED STEEL | 14| 4 +Brand#12 |ECONOMY BRUSHED STEEL | 19| 4 +Brand#12 |ECONOMY BRUSHED TIN | 45| 4 +Brand#12 |ECONOMY BURNISHED BRASS | 3| 4 +Brand#12 |ECONOMY BURNISHED BRASS | 14| 4 +Brand#12 |ECONOMY BURNISHED BRASS | 36| 4 +Brand#12 |ECONOMY BURNISHED BRASS | 45| 4 +Brand#12 |ECONOMY BURNISHED COPPER | 9| 4 +Brand#12 |ECONOMY BURNISHED COPPER | 23| 4 +Brand#12 |ECONOMY BURNISHED COPPER | 36| 4 +Brand#12 |ECONOMY BURNISHED COPPER | 45| 4 +Brand#12 |ECONOMY BURNISHED NICKEL | 9| 4 +Brand#12 |ECONOMY BURNISHED NICKEL | 49| 4 +Brand#12 |ECONOMY BURNISHED STEEL | 14| 4 +Brand#12 |ECONOMY BURNISHED STEEL | 19| 4 +Brand#12 |ECONOMY BURNISHED STEEL | 23| 4 +Brand#12 |ECONOMY BURNISHED STEEL | 45| 4 +Brand#12 |ECONOMY BURNISHED TIN | 49| 4 +Brand#12 |ECONOMY PLATED BRASS | 9| 4 +Brand#12 |ECONOMY PLATED BRASS | 14| 4 +Brand#12 |ECONOMY PLATED BRASS | 23| 4 +Brand#12 |ECONOMY PLATED BRASS | 36| 4 +Brand#12 |ECONOMY PLATED COPPER | 49| 4 +Brand#12 |ECONOMY PLATED NICKEL | 14| 4 +Brand#12 |ECONOMY PLATED NICKEL | 23| 4 +Brand#12 |ECONOMY PLATED NICKEL | 36| 4 +Brand#12 |ECONOMY PLATED NICKEL | 45| 4 +Brand#12 |ECONOMY PLATED NICKEL | 49| 4 +Brand#12 |ECONOMY PLATED STEEL | 3| 4 +Brand#12 |ECONOMY PLATED STEEL | 9| 4 +Brand#12 |ECONOMY PLATED STEEL | 14| 4 +Brand#12 |ECONOMY PLATED STEEL | 19| 4 +Brand#12 |ECONOMY PLATED STEEL | 36| 4 +Brand#12 |ECONOMY PLATED STEEL | 49| 4 +Brand#12 |ECONOMY PLATED TIN | 9| 4 +Brand#12 |ECONOMY PLATED TIN | 14| 4 +Brand#12 |ECONOMY PLATED TIN | 19| 4 +Brand#12 |ECONOMY PLATED TIN | 23| 4 +Brand#12 |ECONOMY POLISHED BRASS | 36| 4 +Brand#12 |ECONOMY POLISHED BRASS | 49| 4 +Brand#12 |ECONOMY POLISHED COPPER | 23| 4 +Brand#12 |ECONOMY POLISHED COPPER | 45| 4 +Brand#12 |ECONOMY POLISHED NICKEL | 9| 4 +Brand#12 |ECONOMY POLISHED NICKEL | 23| 4 +Brand#12 |ECONOMY POLISHED STEEL | 14| 4 +Brand#12 |ECONOMY POLISHED STEEL | 36| 4 +Brand#12 |ECONOMY POLISHED STEEL | 45| 4 +Brand#12 |ECONOMY POLISHED TIN | 23| 4 +Brand#12 |ECONOMY POLISHED TIN | 45| 4 +Brand#12 |LARGE ANODIZED BRASS | 3| 4 +Brand#12 |LARGE ANODIZED BRASS | 9| 4 +Brand#12 |LARGE ANODIZED BRASS | 19| 4 +Brand#12 |LARGE ANODIZED BRASS | 49| 4 +Brand#12 |LARGE ANODIZED COPPER | 3| 4 +Brand#12 |LARGE ANODIZED COPPER | 23| 4 +Brand#12 |LARGE ANODIZED NICKEL | 3| 4 +Brand#12 |LARGE ANODIZED NICKEL | 14| 4 +Brand#12 |LARGE ANODIZED NICKEL | 19| 4 +Brand#12 |LARGE ANODIZED NICKEL | 23| 4 +Brand#12 |LARGE ANODIZED NICKEL | 45| 4 +Brand#12 |LARGE ANODIZED STEEL | 14| 4 +Brand#12 |LARGE ANODIZED STEEL | 19| 4 +Brand#12 |LARGE ANODIZED STEEL | 45| 4 +Brand#12 |LARGE ANODIZED TIN | 9| 4 +Brand#12 |LARGE ANODIZED TIN | 36| 4 +Brand#12 |LARGE ANODIZED TIN | 45| 4 +Brand#12 |LARGE BRUSHED BRASS | 3| 4 +Brand#12 |LARGE BRUSHED COPPER | 3| 4 +Brand#12 |LARGE BRUSHED COPPER | 9| 4 +Brand#12 |LARGE BRUSHED COPPER | 45| 4 +Brand#12 |LARGE BRUSHED NICKEL | 3| 4 +Brand#12 |LARGE BRUSHED NICKEL | 19| 4 +Brand#12 |LARGE BRUSHED NICKEL | 45| 4 +Brand#12 |LARGE BRUSHED STEEL | 14| 4 +Brand#12 |LARGE BRUSHED TIN | 36| 4 +Brand#12 |LARGE BRUSHED TIN | 49| 4 +Brand#12 |LARGE BURNISHED BRASS | 3| 4 +Brand#12 |LARGE BURNISHED BRASS | 19| 4 +Brand#12 |LARGE BURNISHED BRASS | 23| 4 +Brand#12 |LARGE BURNISHED BRASS | 36| 4 +Brand#12 |LARGE BURNISHED BRASS | 49| 4 +Brand#12 |LARGE BURNISHED COPPER | 9| 4 +Brand#12 |LARGE BURNISHED COPPER | 14| 4 +Brand#12 |LARGE BURNISHED COPPER | 23| 4 +Brand#12 |LARGE BURNISHED COPPER | 45| 4 +Brand#12 |LARGE BURNISHED NICKEL | 9| 4 +Brand#12 |LARGE BURNISHED NICKEL | 23| 4 +Brand#12 |LARGE BURNISHED NICKEL | 36| 4 +Brand#12 |LARGE BURNISHED NICKEL | 49| 4 +Brand#12 |LARGE BURNISHED STEEL | 14| 4 +Brand#12 |LARGE BURNISHED STEEL | 19| 4 +Brand#12 |LARGE BURNISHED STEEL | 23| 4 +Brand#12 |LARGE BURNISHED STEEL | 36| 4 +Brand#12 |LARGE BURNISHED TIN | 19| 4 +Brand#12 |LARGE PLATED BRASS | 14| 4 +Brand#12 |LARGE PLATED BRASS | 19| 4 +Brand#12 |LARGE PLATED BRASS | 23| 4 +Brand#12 |LARGE PLATED BRASS | 36| 4 +Brand#12 |LARGE PLATED BRASS | 45| 4 +Brand#12 |LARGE PLATED COPPER | 9| 4 +Brand#12 |LARGE PLATED COPPER | 19| 4 +Brand#12 |LARGE PLATED NICKEL | 14| 4 +Brand#12 |LARGE PLATED NICKEL | 19| 4 +Brand#12 |LARGE PLATED NICKEL | 23| 4 +Brand#12 |LARGE PLATED NICKEL | 45| 4 +Brand#12 |LARGE PLATED STEEL | 23| 4 +Brand#12 |LARGE PLATED STEEL | 45| 4 +Brand#12 |LARGE PLATED STEEL | 49| 4 +Brand#12 |LARGE PLATED TIN | 3| 4 +Brand#12 |LARGE PLATED TIN | 23| 4 +Brand#12 |LARGE POLISHED BRASS | 14| 4 +Brand#12 |LARGE POLISHED BRASS | 36| 4 +Brand#12 |LARGE POLISHED BRASS | 45| 4 +Brand#12 |LARGE POLISHED COPPER | 14| 4 +Brand#12 |LARGE POLISHED COPPER | 45| 4 +Brand#12 |LARGE POLISHED NICKEL | 3| 4 +Brand#12 |LARGE POLISHED NICKEL | 9| 4 +Brand#12 |LARGE POLISHED STEEL | 3| 4 +Brand#12 |LARGE POLISHED STEEL | 19| 4 +Brand#12 |LARGE POLISHED STEEL | 45| 4 +Brand#12 |LARGE POLISHED TIN | 14| 4 +Brand#12 |LARGE POLISHED TIN | 23| 4 +Brand#12 |LARGE POLISHED TIN | 49| 4 +Brand#12 |MEDIUM ANODIZED BRASS | 9| 4 +Brand#12 |MEDIUM ANODIZED BRASS | 19| 4 +Brand#12 |MEDIUM ANODIZED BRASS | 36| 4 +Brand#12 |MEDIUM ANODIZED COPPER | 14| 4 +Brand#12 |MEDIUM ANODIZED COPPER | 36| 4 +Brand#12 |MEDIUM ANODIZED COPPER | 45| 4 +Brand#12 |MEDIUM ANODIZED NICKEL | 14| 4 +Brand#12 |MEDIUM ANODIZED NICKEL | 23| 4 +Brand#12 |MEDIUM ANODIZED NICKEL | 45| 4 +Brand#12 |MEDIUM ANODIZED NICKEL | 49| 4 +Brand#12 |MEDIUM ANODIZED STEEL | 23| 4 +Brand#12 |MEDIUM ANODIZED STEEL | 36| 4 +Brand#12 |MEDIUM ANODIZED TIN | 14| 4 +Brand#12 |MEDIUM ANODIZED TIN | 36| 4 +Brand#12 |MEDIUM ANODIZED TIN | 45| 4 +Brand#12 |MEDIUM BRUSHED BRASS | 19| 4 +Brand#12 |MEDIUM BRUSHED BRASS | 36| 4 +Brand#12 |MEDIUM BRUSHED BRASS | 49| 4 +Brand#12 |MEDIUM BRUSHED COPPER | 14| 4 +Brand#12 |MEDIUM BRUSHED COPPER | 45| 4 +Brand#12 |MEDIUM BRUSHED COPPER | 49| 4 +Brand#12 |MEDIUM BRUSHED NICKEL | 3| 4 +Brand#12 |MEDIUM BRUSHED NICKEL | 9| 4 +Brand#12 |MEDIUM BRUSHED NICKEL | 19| 4 +Brand#12 |MEDIUM BRUSHED NICKEL | 23| 4 +Brand#12 |MEDIUM BRUSHED STEEL | 14| 4 +Brand#12 |MEDIUM BRUSHED STEEL | 45| 4 +Brand#12 |MEDIUM BRUSHED STEEL | 49| 4 +Brand#12 |MEDIUM BRUSHED TIN | 23| 4 +Brand#12 |MEDIUM BRUSHED TIN | 45| 4 +Brand#12 |MEDIUM BURNISHED BRASS | 3| 4 +Brand#12 |MEDIUM BURNISHED BRASS | 9| 4 +Brand#12 |MEDIUM BURNISHED BRASS | 14| 4 +Brand#12 |MEDIUM BURNISHED COPPER | 9| 4 +Brand#12 |MEDIUM BURNISHED COPPER | 14| 4 +Brand#12 |MEDIUM BURNISHED COPPER | 23| 4 +Brand#12 |MEDIUM BURNISHED COPPER | 36| 4 +Brand#12 |MEDIUM BURNISHED NICKEL | 14| 4 +Brand#12 |MEDIUM BURNISHED NICKEL | 19| 4 +Brand#12 |MEDIUM BURNISHED NICKEL | 23| 4 +Brand#12 |MEDIUM BURNISHED NICKEL | 36| 4 +Brand#12 |MEDIUM BURNISHED NICKEL | 45| 4 +Brand#12 |MEDIUM BURNISHED STEEL | 23| 4 +Brand#12 |MEDIUM BURNISHED STEEL | 36| 4 +Brand#12 |MEDIUM BURNISHED STEEL | 45| 4 +Brand#12 |MEDIUM BURNISHED TIN | 23| 4 +Brand#12 |MEDIUM BURNISHED TIN | 36| 4 +Brand#12 |MEDIUM BURNISHED TIN | 49| 4 +Brand#12 |MEDIUM PLATED BRASS | 19| 4 +Brand#12 |MEDIUM PLATED BRASS | 45| 4 +Brand#12 |MEDIUM PLATED COPPER | 3| 4 +Brand#12 |MEDIUM PLATED COPPER | 9| 4 +Brand#12 |MEDIUM PLATED COPPER | 14| 4 +Brand#12 |MEDIUM PLATED COPPER | 23| 4 +Brand#12 |MEDIUM PLATED COPPER | 36| 4 +Brand#12 |MEDIUM PLATED NICKEL | 14| 4 +Brand#12 |MEDIUM PLATED NICKEL | 19| 4 +Brand#12 |MEDIUM PLATED STEEL | 36| 4 +Brand#12 |MEDIUM PLATED STEEL | 49| 4 +Brand#12 |MEDIUM PLATED TIN | 49| 4 +Brand#12 |PROMO ANODIZED BRASS | 9| 4 +Brand#12 |PROMO ANODIZED BRASS | 23| 4 +Brand#12 |PROMO ANODIZED BRASS | 36| 4 +Brand#12 |PROMO ANODIZED COPPER | 9| 4 +Brand#12 |PROMO ANODIZED COPPER | 14| 4 +Brand#12 |PROMO ANODIZED COPPER | 23| 4 +Brand#12 |PROMO ANODIZED STEEL | 3| 4 +Brand#12 |PROMO ANODIZED STEEL | 9| 4 +Brand#12 |PROMO ANODIZED STEEL | 14| 4 +Brand#12 |PROMO ANODIZED STEEL | 45| 4 +Brand#12 |PROMO ANODIZED TIN | 3| 4 +Brand#12 |PROMO ANODIZED TIN | 45| 4 +Brand#12 |PROMO BRUSHED BRASS | 14| 4 +Brand#12 |PROMO BRUSHED COPPER | 14| 4 +Brand#12 |PROMO BRUSHED COPPER | 19| 4 +Brand#12 |PROMO BRUSHED COPPER | 45| 4 +Brand#12 |PROMO BRUSHED COPPER | 49| 4 +Brand#12 |PROMO BRUSHED NICKEL | 3| 4 +Brand#12 |PROMO BRUSHED NICKEL | 9| 4 +Brand#12 |PROMO BRUSHED NICKEL | 14| 4 +Brand#12 |PROMO BRUSHED NICKEL | 19| 4 +Brand#12 |PROMO BRUSHED NICKEL | 36| 4 +Brand#12 |PROMO BRUSHED NICKEL | 45| 4 +Brand#12 |PROMO BRUSHED NICKEL | 49| 4 +Brand#12 |PROMO BRUSHED STEEL | 36| 4 +Brand#12 |PROMO BRUSHED TIN | 19| 4 +Brand#12 |PROMO BRUSHED TIN | 23| 4 +Brand#12 |PROMO BRUSHED TIN | 49| 4 +Brand#12 |PROMO BURNISHED BRASS | 19| 4 +Brand#12 |PROMO BURNISHED BRASS | 23| 4 +Brand#12 |PROMO BURNISHED BRASS | 36| 4 +Brand#12 |PROMO BURNISHED BRASS | 49| 4 +Brand#12 |PROMO BURNISHED COPPER | 9| 4 +Brand#12 |PROMO BURNISHED COPPER | 14| 4 +Brand#12 |PROMO BURNISHED COPPER | 23| 4 +Brand#12 |PROMO BURNISHED COPPER | 36| 4 +Brand#12 |PROMO BURNISHED COPPER | 45| 4 +Brand#12 |PROMO BURNISHED COPPER | 49| 4 +Brand#12 |PROMO BURNISHED NICKEL | 3| 4 +Brand#12 |PROMO BURNISHED NICKEL | 19| 4 +Brand#12 |PROMO BURNISHED NICKEL | 23| 4 +Brand#12 |PROMO BURNISHED NICKEL | 36| 4 +Brand#12 |PROMO BURNISHED NICKEL | 45| 4 +Brand#12 |PROMO BURNISHED STEEL | 14| 4 +Brand#12 |PROMO BURNISHED STEEL | 19| 4 +Brand#12 |PROMO BURNISHED STEEL | 23| 4 +Brand#12 |PROMO BURNISHED STEEL | 45| 4 +Brand#12 |PROMO BURNISHED STEEL | 49| 4 +Brand#12 |PROMO BURNISHED TIN | 3| 4 +Brand#12 |PROMO BURNISHED TIN | 19| 4 +Brand#12 |PROMO PLATED BRASS | 14| 4 +Brand#12 |PROMO PLATED BRASS | 23| 4 +Brand#12 |PROMO PLATED COPPER | 3| 4 +Brand#12 |PROMO PLATED COPPER | 19| 4 +Brand#12 |PROMO PLATED COPPER | 49| 4 +Brand#12 |PROMO PLATED NICKEL | 9| 4 +Brand#12 |PROMO PLATED NICKEL | 19| 4 +Brand#12 |PROMO PLATED NICKEL | 49| 4 +Brand#12 |PROMO PLATED STEEL | 9| 4 +Brand#12 |PROMO PLATED STEEL | 14| 4 +Brand#12 |PROMO PLATED STEEL | 23| 4 +Brand#12 |PROMO PLATED STEEL | 45| 4 +Brand#12 |PROMO PLATED TIN | 14| 4 +Brand#12 |PROMO PLATED TIN | 19| 4 +Brand#12 |PROMO PLATED TIN | 49| 4 +Brand#12 |PROMO POLISHED BRASS | 14| 4 +Brand#12 |PROMO POLISHED BRASS | 45| 4 +Brand#12 |PROMO POLISHED COPPER | 3| 4 +Brand#12 |PROMO POLISHED COPPER | 9| 4 +Brand#12 |PROMO POLISHED COPPER | 36| 4 +Brand#12 |PROMO POLISHED COPPER | 49| 4 +Brand#12 |PROMO POLISHED NICKEL | 9| 4 +Brand#12 |PROMO POLISHED NICKEL | 23| 4 +Brand#12 |PROMO POLISHED NICKEL | 45| 4 +Brand#12 |PROMO POLISHED STEEL | 9| 4 +Brand#12 |PROMO POLISHED STEEL | 14| 4 +Brand#12 |PROMO POLISHED TIN | 9| 4 +Brand#12 |PROMO POLISHED TIN | 45| 4 +Brand#12 |SMALL ANODIZED BRASS | 3| 4 +Brand#12 |SMALL ANODIZED BRASS | 14| 4 +Brand#12 |SMALL ANODIZED BRASS | 19| 4 +Brand#12 |SMALL ANODIZED BRASS | 23| 4 +Brand#12 |SMALL ANODIZED COPPER | 19| 4 +Brand#12 |SMALL ANODIZED COPPER | 23| 4 +Brand#12 |SMALL ANODIZED COPPER | 45| 4 +Brand#12 |SMALL ANODIZED COPPER | 49| 4 +Brand#12 |SMALL ANODIZED NICKEL | 9| 4 +Brand#12 |SMALL ANODIZED NICKEL | 14| 4 +Brand#12 |SMALL ANODIZED STEEL | 19| 4 +Brand#12 |SMALL ANODIZED STEEL | 36| 4 +Brand#12 |SMALL ANODIZED TIN | 3| 4 +Brand#12 |SMALL ANODIZED TIN | 36| 4 +Brand#12 |SMALL BRUSHED BRASS | 9| 4 +Brand#12 |SMALL BRUSHED BRASS | 19| 4 +Brand#12 |SMALL BRUSHED COPPER | 9| 4 +Brand#12 |SMALL BRUSHED COPPER | 14| 4 +Brand#12 |SMALL BRUSHED COPPER | 19| 4 +Brand#12 |SMALL BRUSHED COPPER | 23| 4 +Brand#12 |SMALL BRUSHED COPPER | 45| 4 +Brand#12 |SMALL BRUSHED COPPER | 49| 4 +Brand#12 |SMALL BRUSHED STEEL | 3| 4 +Brand#12 |SMALL BRUSHED TIN | 14| 4 +Brand#12 |SMALL BRUSHED TIN | 19| 4 +Brand#12 |SMALL BRUSHED TIN | 23| 4 +Brand#12 |SMALL BRUSHED TIN | 36| 4 +Brand#12 |SMALL BURNISHED BRASS | 3| 4 +Brand#12 |SMALL BURNISHED COPPER | 3| 4 +Brand#12 |SMALL BURNISHED COPPER | 9| 4 +Brand#12 |SMALL BURNISHED COPPER | 19| 4 +Brand#12 |SMALL BURNISHED COPPER | 45| 4 +Brand#12 |SMALL BURNISHED NICKEL | 23| 4 +Brand#12 |SMALL BURNISHED NICKEL | 49| 4 +Brand#12 |SMALL BURNISHED STEEL | 14| 4 +Brand#12 |SMALL BURNISHED STEEL | 19| 4 +Brand#12 |SMALL BURNISHED STEEL | 36| 4 +Brand#12 |SMALL BURNISHED STEEL | 45| 4 +Brand#12 |SMALL BURNISHED STEEL | 49| 4 +Brand#12 |SMALL BURNISHED TIN | 9| 4 +Brand#12 |SMALL BURNISHED TIN | 36| 4 +Brand#12 |SMALL BURNISHED TIN | 49| 4 +Brand#12 |SMALL PLATED BRASS | 9| 4 +Brand#12 |SMALL PLATED BRASS | 36| 4 +Brand#12 |SMALL PLATED COPPER | 3| 4 +Brand#12 |SMALL PLATED COPPER | 9| 4 +Brand#12 |SMALL PLATED COPPER | 14| 4 +Brand#12 |SMALL PLATED COPPER | 36| 4 +Brand#12 |SMALL PLATED COPPER | 45| 4 +Brand#12 |SMALL PLATED COPPER | 49| 4 +Brand#12 |SMALL PLATED NICKEL | 9| 4 +Brand#12 |SMALL PLATED NICKEL | 36| 4 +Brand#12 |SMALL PLATED STEEL | 14| 4 +Brand#12 |SMALL PLATED TIN | 3| 4 +Brand#12 |SMALL PLATED TIN | 9| 4 +Brand#12 |SMALL PLATED TIN | 14| 4 +Brand#12 |SMALL PLATED TIN | 19| 4 +Brand#12 |SMALL PLATED TIN | 36| 4 +Brand#12 |SMALL PLATED TIN | 49| 4 +Brand#12 |SMALL POLISHED BRASS | 3| 4 +Brand#12 |SMALL POLISHED BRASS | 9| 4 +Brand#12 |SMALL POLISHED BRASS | 49| 4 +Brand#12 |SMALL POLISHED COPPER | 3| 4 +Brand#12 |SMALL POLISHED COPPER | 9| 4 +Brand#12 |SMALL POLISHED COPPER | 19| 4 +Brand#12 |SMALL POLISHED COPPER | 23| 4 +Brand#12 |SMALL POLISHED COPPER | 36| 4 +Brand#12 |SMALL POLISHED NICKEL | 3| 4 +Brand#12 |SMALL POLISHED NICKEL | 9| 4 +Brand#12 |SMALL POLISHED NICKEL | 19| 4 +Brand#12 |SMALL POLISHED NICKEL | 36| 4 +Brand#12 |SMALL POLISHED NICKEL | 45| 4 +Brand#12 |SMALL POLISHED STEEL | 3| 4 +Brand#12 |SMALL POLISHED STEEL | 9| 4 +Brand#12 |SMALL POLISHED STEEL | 14| 4 +Brand#12 |SMALL POLISHED STEEL | 23| 4 +Brand#12 |SMALL POLISHED STEEL | 36| 4 +Brand#12 |SMALL POLISHED STEEL | 49| 4 +Brand#12 |SMALL POLISHED TIN | 3| 4 +Brand#12 |SMALL POLISHED TIN | 9| 4 +Brand#12 |SMALL POLISHED TIN | 23| 4 +Brand#12 |SMALL POLISHED TIN | 49| 4 +Brand#12 |STANDARD ANODIZED BRASS | 9| 4 +Brand#12 |STANDARD ANODIZED BRASS | 19| 4 +Brand#12 |STANDARD ANODIZED BRASS | 45| 4 +Brand#12 |STANDARD ANODIZED COPPER | 9| 4 +Brand#12 |STANDARD ANODIZED COPPER | 19| 4 +Brand#12 |STANDARD ANODIZED COPPER | 36| 4 +Brand#12 |STANDARD ANODIZED COPPER | 49| 4 +Brand#12 |STANDARD ANODIZED STEEL | 3| 4 +Brand#12 |STANDARD ANODIZED STEEL | 45| 4 +Brand#12 |STANDARD ANODIZED TIN | 19| 4 +Brand#12 |STANDARD BRUSHED BRASS | 9| 4 +Brand#12 |STANDARD BRUSHED BRASS | 14| 4 +Brand#12 |STANDARD BRUSHED BRASS | 49| 4 +Brand#12 |STANDARD BRUSHED COPPER | 19| 4 +Brand#12 |STANDARD BRUSHED COPPER | 23| 4 +Brand#12 |STANDARD BRUSHED COPPER | 45| 4 +Brand#12 |STANDARD BRUSHED NICKEL | 49| 4 +Brand#12 |STANDARD BRUSHED STEEL | 14| 4 +Brand#12 |STANDARD BRUSHED STEEL | 19| 4 +Brand#12 |STANDARD BRUSHED STEEL | 23| 4 +Brand#12 |STANDARD BRUSHED STEEL | 49| 4 +Brand#12 |STANDARD BRUSHED TIN | 3| 4 +Brand#12 |STANDARD BRUSHED TIN | 49| 4 +Brand#12 |STANDARD BURNISHED BRASS | 9| 4 +Brand#12 |STANDARD BURNISHED BRASS | 45| 4 +Brand#12 |STANDARD BURNISHED COPPER| 19| 4 +Brand#12 |STANDARD BURNISHED COPPER| 23| 4 +Brand#12 |STANDARD BURNISHED COPPER| 36| 4 +Brand#12 |STANDARD BURNISHED COPPER| 49| 4 +Brand#12 |STANDARD BURNISHED NICKEL| 19| 4 +Brand#12 |STANDARD BURNISHED NICKEL| 36| 4 +Brand#12 |STANDARD BURNISHED NICKEL| 45| 4 +Brand#12 |STANDARD BURNISHED NICKEL| 49| 4 +Brand#12 |STANDARD BURNISHED STEEL | 3| 4 +Brand#12 |STANDARD BURNISHED STEEL | 19| 4 +Brand#12 |STANDARD BURNISHED STEEL | 23| 4 +Brand#12 |STANDARD BURNISHED STEEL | 36| 4 +Brand#12 |STANDARD BURNISHED STEEL | 45| 4 +Brand#12 |STANDARD BURNISHED TIN | 19| 4 +Brand#12 |STANDARD PLATED BRASS | 14| 4 +Brand#12 |STANDARD PLATED BRASS | 23| 4 +Brand#12 |STANDARD PLATED BRASS | 36| 4 +Brand#12 |STANDARD PLATED BRASS | 45| 4 +Brand#12 |STANDARD PLATED COPPER | 3| 4 +Brand#12 |STANDARD PLATED COPPER | 9| 4 +Brand#12 |STANDARD PLATED COPPER | 19| 4 +Brand#12 |STANDARD PLATED COPPER | 45| 4 +Brand#12 |STANDARD PLATED NICKEL | 23| 4 +Brand#12 |STANDARD PLATED NICKEL | 36| 4 +Brand#12 |STANDARD PLATED NICKEL | 49| 4 +Brand#12 |STANDARD PLATED STEEL | 9| 4 +Brand#12 |STANDARD PLATED TIN | 14| 4 +Brand#12 |STANDARD PLATED TIN | 23| 4 +Brand#12 |STANDARD PLATED TIN | 49| 4 +Brand#12 |STANDARD POLISHED BRASS | 9| 4 +Brand#12 |STANDARD POLISHED BRASS | 19| 4 +Brand#12 |STANDARD POLISHED BRASS | 49| 4 +Brand#12 |STANDARD POLISHED COPPER | 14| 4 +Brand#12 |STANDARD POLISHED COPPER | 45| 4 +Brand#12 |STANDARD POLISHED COPPER | 49| 4 +Brand#12 |STANDARD POLISHED NICKEL | 9| 4 +Brand#12 |STANDARD POLISHED NICKEL | 14| 4 +Brand#12 |STANDARD POLISHED NICKEL | 19| 4 +Brand#12 |STANDARD POLISHED NICKEL | 23| 4 +Brand#12 |STANDARD POLISHED NICKEL | 45| 4 +Brand#12 |STANDARD POLISHED STEEL | 36| 4 +Brand#12 |STANDARD POLISHED TIN | 14| 4 +Brand#12 |STANDARD POLISHED TIN | 19| 4 +Brand#12 |STANDARD POLISHED TIN | 49| 4 +Brand#13 |ECONOMY ANODIZED BRASS | 3| 4 +Brand#13 |ECONOMY ANODIZED BRASS | 9| 4 +Brand#13 |ECONOMY ANODIZED BRASS | 14| 4 +Brand#13 |ECONOMY ANODIZED BRASS | 23| 4 +Brand#13 |ECONOMY ANODIZED BRASS | 49| 4 +Brand#13 |ECONOMY ANODIZED COPPER | 3| 4 +Brand#13 |ECONOMY ANODIZED COPPER | 36| 4 +Brand#13 |ECONOMY ANODIZED COPPER | 49| 4 +Brand#13 |ECONOMY ANODIZED STEEL | 14| 4 +Brand#13 |ECONOMY ANODIZED STEEL | 19| 4 +Brand#13 |ECONOMY ANODIZED STEEL | 36| 4 +Brand#13 |ECONOMY ANODIZED STEEL | 49| 4 +Brand#13 |ECONOMY ANODIZED TIN | 3| 4 +Brand#13 |ECONOMY ANODIZED TIN | 14| 4 +Brand#13 |ECONOMY ANODIZED TIN | 36| 4 +Brand#13 |ECONOMY BRUSHED BRASS | 3| 4 +Brand#13 |ECONOMY BRUSHED BRASS | 14| 4 +Brand#13 |ECONOMY BRUSHED BRASS | 23| 4 +Brand#13 |ECONOMY BRUSHED BRASS | 36| 4 +Brand#13 |ECONOMY BRUSHED BRASS | 49| 4 +Brand#13 |ECONOMY BRUSHED COPPER | 19| 4 +Brand#13 |ECONOMY BRUSHED COPPER | 23| 4 +Brand#13 |ECONOMY BRUSHED COPPER | 45| 4 +Brand#13 |ECONOMY BRUSHED NICKEL | 3| 4 +Brand#13 |ECONOMY BRUSHED NICKEL | 9| 4 +Brand#13 |ECONOMY BRUSHED NICKEL | 14| 4 +Brand#13 |ECONOMY BRUSHED STEEL | 19| 4 +Brand#13 |ECONOMY BRUSHED STEEL | 23| 4 +Brand#13 |ECONOMY BRUSHED STEEL | 36| 4 +Brand#13 |ECONOMY BRUSHED TIN | 3| 4 +Brand#13 |ECONOMY BRUSHED TIN | 36| 4 +Brand#13 |ECONOMY BRUSHED TIN | 45| 4 +Brand#13 |ECONOMY BURNISHED BRASS | 9| 4 +Brand#13 |ECONOMY BURNISHED BRASS | 14| 4 +Brand#13 |ECONOMY BURNISHED BRASS | 19| 4 +Brand#13 |ECONOMY BURNISHED BRASS | 23| 4 +Brand#13 |ECONOMY BURNISHED BRASS | 36| 4 +Brand#13 |ECONOMY BURNISHED COPPER | 3| 4 +Brand#13 |ECONOMY BURNISHED COPPER | 9| 4 +Brand#13 |ECONOMY BURNISHED COPPER | 49| 4 +Brand#13 |ECONOMY BURNISHED NICKEL | 14| 4 +Brand#13 |ECONOMY BURNISHED NICKEL | 23| 4 +Brand#13 |ECONOMY BURNISHED NICKEL | 45| 4 +Brand#13 |ECONOMY BURNISHED NICKEL | 49| 4 +Brand#13 |ECONOMY BURNISHED STEEL | 9| 4 +Brand#13 |ECONOMY BURNISHED STEEL | 23| 4 +Brand#13 |ECONOMY BURNISHED STEEL | 49| 4 +Brand#13 |ECONOMY BURNISHED TIN | 3| 4 +Brand#13 |ECONOMY BURNISHED TIN | 9| 4 +Brand#13 |ECONOMY BURNISHED TIN | 19| 4 +Brand#13 |ECONOMY BURNISHED TIN | 45| 4 +Brand#13 |ECONOMY PLATED BRASS | 3| 4 +Brand#13 |ECONOMY PLATED BRASS | 19| 4 +Brand#13 |ECONOMY PLATED BRASS | 45| 4 +Brand#13 |ECONOMY PLATED COPPER | 23| 4 +Brand#13 |ECONOMY PLATED COPPER | 45| 4 +Brand#13 |ECONOMY PLATED NICKEL | 45| 4 +Brand#13 |ECONOMY PLATED STEEL | 9| 4 +Brand#13 |ECONOMY PLATED STEEL | 14| 4 +Brand#13 |ECONOMY PLATED STEEL | 49| 4 +Brand#13 |ECONOMY PLATED TIN | 19| 4 +Brand#13 |ECONOMY PLATED TIN | 36| 4 +Brand#13 |ECONOMY PLATED TIN | 49| 4 +Brand#13 |ECONOMY POLISHED BRASS | 19| 4 +Brand#13 |ECONOMY POLISHED COPPER | 3| 4 +Brand#13 |ECONOMY POLISHED COPPER | 14| 4 +Brand#13 |ECONOMY POLISHED COPPER | 23| 4 +Brand#13 |ECONOMY POLISHED NICKEL | 9| 4 +Brand#13 |ECONOMY POLISHED NICKEL | 14| 4 +Brand#13 |ECONOMY POLISHED NICKEL | 19| 4 +Brand#13 |ECONOMY POLISHED NICKEL | 36| 4 +Brand#13 |ECONOMY POLISHED NICKEL | 45| 4 +Brand#13 |ECONOMY POLISHED NICKEL | 49| 4 +Brand#13 |ECONOMY POLISHED STEEL | 14| 4 +Brand#13 |ECONOMY POLISHED TIN | 9| 4 +Brand#13 |ECONOMY POLISHED TIN | 14| 4 +Brand#13 |ECONOMY POLISHED TIN | 49| 4 +Brand#13 |LARGE ANODIZED BRASS | 3| 4 +Brand#13 |LARGE ANODIZED BRASS | 9| 4 +Brand#13 |LARGE ANODIZED BRASS | 14| 4 +Brand#13 |LARGE ANODIZED BRASS | 19| 4 +Brand#13 |LARGE ANODIZED BRASS | 23| 4 +Brand#13 |LARGE ANODIZED COPPER | 9| 4 +Brand#13 |LARGE ANODIZED COPPER | 14| 4 +Brand#13 |LARGE ANODIZED COPPER | 36| 4 +Brand#13 |LARGE ANODIZED COPPER | 45| 4 +Brand#13 |LARGE ANODIZED COPPER | 49| 4 +Brand#13 |LARGE ANODIZED NICKEL | 3| 4 +Brand#13 |LARGE ANODIZED NICKEL | 9| 4 +Brand#13 |LARGE ANODIZED NICKEL | 36| 4 +Brand#13 |LARGE ANODIZED STEEL | 23| 4 +Brand#13 |LARGE ANODIZED TIN | 3| 4 +Brand#13 |LARGE ANODIZED TIN | 23| 4 +Brand#13 |LARGE BRUSHED BRASS | 14| 4 +Brand#13 |LARGE BRUSHED BRASS | 23| 4 +Brand#13 |LARGE BRUSHED BRASS | 36| 4 +Brand#13 |LARGE BRUSHED COPPER | 3| 4 +Brand#13 |LARGE BRUSHED COPPER | 14| 4 +Brand#13 |LARGE BRUSHED COPPER | 23| 4 +Brand#13 |LARGE BRUSHED COPPER | 36| 4 +Brand#13 |LARGE BRUSHED NICKEL | 14| 4 +Brand#13 |LARGE BRUSHED NICKEL | 19| 4 +Brand#13 |LARGE BRUSHED STEEL | 9| 4 +Brand#13 |LARGE BRUSHED STEEL | 14| 4 +Brand#13 |LARGE BRUSHED STEEL | 45| 4 +Brand#13 |LARGE BRUSHED STEEL | 49| 4 +Brand#13 |LARGE BRUSHED TIN | 14| 4 +Brand#13 |LARGE BRUSHED TIN | 19| 4 +Brand#13 |LARGE BRUSHED TIN | 45| 4 +Brand#13 |LARGE BRUSHED TIN | 49| 4 +Brand#13 |LARGE BURNISHED BRASS | 9| 4 +Brand#13 |LARGE BURNISHED BRASS | 19| 4 +Brand#13 |LARGE BURNISHED BRASS | 36| 4 +Brand#13 |LARGE BURNISHED BRASS | 49| 4 +Brand#13 |LARGE BURNISHED COPPER | 9| 4 +Brand#13 |LARGE BURNISHED COPPER | 49| 4 +Brand#13 |LARGE BURNISHED NICKEL | 3| 4 +Brand#13 |LARGE BURNISHED NICKEL | 23| 4 +Brand#13 |LARGE BURNISHED NICKEL | 36| 4 +Brand#13 |LARGE BURNISHED STEEL | 36| 4 +Brand#13 |LARGE BURNISHED TIN | 14| 4 +Brand#13 |LARGE BURNISHED TIN | 19| 4 +Brand#13 |LARGE BURNISHED TIN | 36| 4 +Brand#13 |LARGE BURNISHED TIN | 49| 4 +Brand#13 |LARGE PLATED BRASS | 3| 4 +Brand#13 |LARGE PLATED BRASS | 14| 4 +Brand#13 |LARGE PLATED BRASS | 23| 4 +Brand#13 |LARGE PLATED BRASS | 36| 4 +Brand#13 |LARGE PLATED BRASS | 49| 4 +Brand#13 |LARGE PLATED COPPER | 45| 4 +Brand#13 |LARGE PLATED NICKEL | 3| 4 +Brand#13 |LARGE PLATED NICKEL | 14| 4 +Brand#13 |LARGE PLATED STEEL | 19| 4 +Brand#13 |LARGE PLATED STEEL | 23| 4 +Brand#13 |LARGE PLATED TIN | 3| 4 +Brand#13 |LARGE PLATED TIN | 19| 4 +Brand#13 |LARGE PLATED TIN | 49| 4 +Brand#13 |LARGE POLISHED BRASS | 3| 4 +Brand#13 |LARGE POLISHED BRASS | 45| 4 +Brand#13 |LARGE POLISHED COPPER | 3| 4 +Brand#13 |LARGE POLISHED COPPER | 9| 4 +Brand#13 |LARGE POLISHED COPPER | 19| 4 +Brand#13 |LARGE POLISHED COPPER | 23| 4 +Brand#13 |LARGE POLISHED COPPER | 36| 4 +Brand#13 |LARGE POLISHED COPPER | 49| 4 +Brand#13 |LARGE POLISHED NICKEL | 3| 4 +Brand#13 |LARGE POLISHED NICKEL | 19| 4 +Brand#13 |LARGE POLISHED NICKEL | 36| 4 +Brand#13 |LARGE POLISHED STEEL | 14| 4 +Brand#13 |LARGE POLISHED STEEL | 45| 4 +Brand#13 |LARGE POLISHED STEEL | 49| 4 +Brand#13 |LARGE POLISHED TIN | 49| 4 +Brand#13 |MEDIUM ANODIZED BRASS | 3| 4 +Brand#13 |MEDIUM ANODIZED BRASS | 9| 4 +Brand#13 |MEDIUM ANODIZED BRASS | 14| 4 +Brand#13 |MEDIUM ANODIZED BRASS | 36| 4 +Brand#13 |MEDIUM ANODIZED COPPER | 9| 4 +Brand#13 |MEDIUM ANODIZED COPPER | 14| 4 +Brand#13 |MEDIUM ANODIZED COPPER | 19| 4 +Brand#13 |MEDIUM ANODIZED NICKEL | 19| 4 +Brand#13 |MEDIUM ANODIZED NICKEL | 23| 4 +Brand#13 |MEDIUM ANODIZED NICKEL | 49| 4 +Brand#13 |MEDIUM ANODIZED STEEL | 19| 4 +Brand#13 |MEDIUM ANODIZED STEEL | 36| 4 +Brand#13 |MEDIUM ANODIZED STEEL | 45| 4 +Brand#13 |MEDIUM ANODIZED TIN | 14| 4 +Brand#13 |MEDIUM ANODIZED TIN | 19| 4 +Brand#13 |MEDIUM ANODIZED TIN | 49| 4 +Brand#13 |MEDIUM BRUSHED BRASS | 3| 4 +Brand#13 |MEDIUM BRUSHED BRASS | 19| 4 +Brand#13 |MEDIUM BRUSHED BRASS | 23| 4 +Brand#13 |MEDIUM BRUSHED COPPER | 9| 4 +Brand#13 |MEDIUM BRUSHED COPPER | 36| 4 +Brand#13 |MEDIUM BRUSHED COPPER | 45| 4 +Brand#13 |MEDIUM BRUSHED NICKEL | 23| 4 +Brand#13 |MEDIUM BRUSHED NICKEL | 36| 4 +Brand#13 |MEDIUM BRUSHED NICKEL | 45| 4 +Brand#13 |MEDIUM BRUSHED STEEL | 3| 4 +Brand#13 |MEDIUM BRUSHED STEEL | 23| 4 +Brand#13 |MEDIUM BRUSHED TIN | 3| 4 +Brand#13 |MEDIUM BRUSHED TIN | 14| 4 +Brand#13 |MEDIUM BRUSHED TIN | 36| 4 +Brand#13 |MEDIUM BRUSHED TIN | 49| 4 +Brand#13 |MEDIUM BURNISHED BRASS | 9| 4 +Brand#13 |MEDIUM BURNISHED BRASS | 23| 4 +Brand#13 |MEDIUM BURNISHED BRASS | 49| 4 +Brand#13 |MEDIUM BURNISHED COPPER | 14| 4 +Brand#13 |MEDIUM BURNISHED COPPER | 49| 4 +Brand#13 |MEDIUM BURNISHED NICKEL | 14| 4 +Brand#13 |MEDIUM BURNISHED NICKEL | 19| 4 +Brand#13 |MEDIUM BURNISHED NICKEL | 45| 4 +Brand#13 |MEDIUM BURNISHED STEEL | 9| 4 +Brand#13 |MEDIUM BURNISHED STEEL | 23| 4 +Brand#13 |MEDIUM BURNISHED STEEL | 36| 4 +Brand#13 |MEDIUM BURNISHED TIN | 9| 4 +Brand#13 |MEDIUM BURNISHED TIN | 14| 4 +Brand#13 |MEDIUM BURNISHED TIN | 23| 4 +Brand#13 |MEDIUM PLATED BRASS | 3| 4 +Brand#13 |MEDIUM PLATED BRASS | 14| 4 +Brand#13 |MEDIUM PLATED BRASS | 36| 4 +Brand#13 |MEDIUM PLATED BRASS | 45| 4 +Brand#13 |MEDIUM PLATED COPPER | 3| 4 +Brand#13 |MEDIUM PLATED COPPER | 9| 4 +Brand#13 |MEDIUM PLATED COPPER | 23| 4 +Brand#13 |MEDIUM PLATED NICKEL | 9| 4 +Brand#13 |MEDIUM PLATED NICKEL | 49| 4 +Brand#13 |MEDIUM PLATED STEEL | 14| 4 +Brand#13 |MEDIUM PLATED STEEL | 49| 4 +Brand#13 |MEDIUM PLATED TIN | 14| 4 +Brand#13 |MEDIUM PLATED TIN | 23| 4 +Brand#13 |MEDIUM PLATED TIN | 45| 4 +Brand#13 |MEDIUM PLATED TIN | 49| 4 +Brand#13 |PROMO ANODIZED BRASS | 9| 4 +Brand#13 |PROMO ANODIZED BRASS | 36| 4 +Brand#13 |PROMO ANODIZED BRASS | 49| 4 +Brand#13 |PROMO ANODIZED COPPER | 19| 4 +Brand#13 |PROMO ANODIZED COPPER | 36| 4 +Brand#13 |PROMO ANODIZED COPPER | 49| 4 +Brand#13 |PROMO ANODIZED NICKEL | 14| 4 +Brand#13 |PROMO ANODIZED NICKEL | 19| 4 +Brand#13 |PROMO ANODIZED NICKEL | 23| 4 +Brand#13 |PROMO ANODIZED NICKEL | 36| 4 +Brand#13 |PROMO ANODIZED STEEL | 3| 4 +Brand#13 |PROMO ANODIZED STEEL | 9| 4 +Brand#13 |PROMO ANODIZED STEEL | 14| 4 +Brand#13 |PROMO ANODIZED STEEL | 23| 4 +Brand#13 |PROMO ANODIZED STEEL | 45| 4 +Brand#13 |PROMO ANODIZED STEEL | 49| 4 +Brand#13 |PROMO ANODIZED TIN | 3| 4 +Brand#13 |PROMO ANODIZED TIN | 9| 4 +Brand#13 |PROMO ANODIZED TIN | 14| 4 +Brand#13 |PROMO ANODIZED TIN | 19| 4 +Brand#13 |PROMO ANODIZED TIN | 23| 4 +Brand#13 |PROMO ANODIZED TIN | 45| 4 +Brand#13 |PROMO BRUSHED BRASS | 9| 4 +Brand#13 |PROMO BRUSHED BRASS | 14| 4 +Brand#13 |PROMO BRUSHED BRASS | 19| 4 +Brand#13 |PROMO BRUSHED COPPER | 9| 4 +Brand#13 |PROMO BRUSHED COPPER | 23| 4 +Brand#13 |PROMO BRUSHED COPPER | 45| 4 +Brand#13 |PROMO BRUSHED NICKEL | 3| 4 +Brand#13 |PROMO BRUSHED NICKEL | 45| 4 +Brand#13 |PROMO BRUSHED STEEL | 14| 4 +Brand#13 |PROMO BRUSHED STEEL | 19| 4 +Brand#13 |PROMO BRUSHED STEEL | 36| 4 +Brand#13 |PROMO BRUSHED STEEL | 49| 4 +Brand#13 |PROMO BRUSHED TIN | 19| 4 +Brand#13 |PROMO BRUSHED TIN | 49| 4 +Brand#13 |PROMO BURNISHED BRASS | 3| 4 +Brand#13 |PROMO BURNISHED BRASS | 14| 4 +Brand#13 |PROMO BURNISHED BRASS | 49| 4 +Brand#13 |PROMO BURNISHED COPPER | 14| 4 +Brand#13 |PROMO BURNISHED COPPER | 36| 4 +Brand#13 |PROMO BURNISHED NICKEL | 19| 4 +Brand#13 |PROMO BURNISHED NICKEL | 23| 4 +Brand#13 |PROMO BURNISHED NICKEL | 45| 4 +Brand#13 |PROMO BURNISHED STEEL | 3| 4 +Brand#13 |PROMO BURNISHED STEEL | 36| 4 +Brand#13 |PROMO BURNISHED TIN | 36| 4 +Brand#13 |PROMO BURNISHED TIN | 49| 4 +Brand#13 |PROMO PLATED BRASS | 3| 4 +Brand#13 |PROMO PLATED BRASS | 9| 4 +Brand#13 |PROMO PLATED BRASS | 19| 4 +Brand#13 |PROMO PLATED BRASS | 23| 4 +Brand#13 |PROMO PLATED BRASS | 36| 4 +Brand#13 |PROMO PLATED BRASS | 45| 4 +Brand#13 |PROMO PLATED COPPER | 19| 4 +Brand#13 |PROMO PLATED COPPER | 23| 4 +Brand#13 |PROMO PLATED COPPER | 49| 4 +Brand#13 |PROMO PLATED NICKEL | 45| 4 +Brand#13 |PROMO PLATED STEEL | 3| 4 +Brand#13 |PROMO PLATED STEEL | 14| 4 +Brand#13 |PROMO PLATED STEEL | 23| 4 +Brand#13 |PROMO PLATED STEEL | 36| 4 +Brand#13 |PROMO PLATED STEEL | 49| 4 +Brand#13 |PROMO PLATED TIN | 3| 4 +Brand#13 |PROMO PLATED TIN | 9| 4 +Brand#13 |PROMO PLATED TIN | 19| 4 +Brand#13 |PROMO PLATED TIN | 36| 4 +Brand#13 |PROMO PLATED TIN | 45| 4 +Brand#13 |PROMO PLATED TIN | 49| 4 +Brand#13 |PROMO POLISHED BRASS | 9| 4 +Brand#13 |PROMO POLISHED BRASS | 14| 4 +Brand#13 |PROMO POLISHED BRASS | 23| 4 +Brand#13 |PROMO POLISHED COPPER | 3| 4 +Brand#13 |PROMO POLISHED COPPER | 23| 4 +Brand#13 |PROMO POLISHED COPPER | 49| 4 +Brand#13 |PROMO POLISHED NICKEL | 9| 4 +Brand#13 |PROMO POLISHED NICKEL | 19| 4 +Brand#13 |PROMO POLISHED STEEL | 3| 4 +Brand#13 |PROMO POLISHED STEEL | 9| 4 +Brand#13 |PROMO POLISHED STEEL | 19| 4 +Brand#13 |PROMO POLISHED STEEL | 49| 4 +Brand#13 |PROMO POLISHED TIN | 3| 4 +Brand#13 |PROMO POLISHED TIN | 14| 4 +Brand#13 |PROMO POLISHED TIN | 49| 4 +Brand#13 |SMALL ANODIZED BRASS | 3| 4 +Brand#13 |SMALL ANODIZED BRASS | 9| 4 +Brand#13 |SMALL ANODIZED BRASS | 23| 4 +Brand#13 |SMALL ANODIZED BRASS | 45| 4 +Brand#13 |SMALL ANODIZED COPPER | 3| 4 +Brand#13 |SMALL ANODIZED COPPER | 14| 4 +Brand#13 |SMALL ANODIZED COPPER | 45| 4 +Brand#13 |SMALL ANODIZED COPPER | 49| 4 +Brand#13 |SMALL ANODIZED NICKEL | 9| 4 +Brand#13 |SMALL ANODIZED NICKEL | 23| 4 +Brand#13 |SMALL ANODIZED NICKEL | 36| 4 +Brand#13 |SMALL ANODIZED STEEL | 19| 4 +Brand#13 |SMALL ANODIZED STEEL | 36| 4 +Brand#13 |SMALL ANODIZED STEEL | 49| 4 +Brand#13 |SMALL ANODIZED TIN | 3| 4 +Brand#13 |SMALL BRUSHED BRASS | 23| 4 +Brand#13 |SMALL BRUSHED BRASS | 45| 4 +Brand#13 |SMALL BRUSHED COPPER | 3| 4 +Brand#13 |SMALL BRUSHED COPPER | 49| 4 +Brand#13 |SMALL BRUSHED NICKEL | 45| 4 +Brand#13 |SMALL BRUSHED NICKEL | 49| 4 +Brand#13 |SMALL BRUSHED STEEL | 9| 4 +Brand#13 |SMALL BRUSHED STEEL | 14| 4 +Brand#13 |SMALL BRUSHED STEEL | 19| 4 +Brand#13 |SMALL BRUSHED TIN | 14| 4 +Brand#13 |SMALL BRUSHED TIN | 19| 4 +Brand#13 |SMALL BRUSHED TIN | 36| 4 +Brand#13 |SMALL BURNISHED BRASS | 9| 4 +Brand#13 |SMALL BURNISHED BRASS | 23| 4 +Brand#13 |SMALL BURNISHED BRASS | 36| 4 +Brand#13 |SMALL BURNISHED COPPER | 3| 4 +Brand#13 |SMALL BURNISHED COPPER | 14| 4 +Brand#13 |SMALL BURNISHED COPPER | 19| 4 +Brand#13 |SMALL BURNISHED COPPER | 36| 4 +Brand#13 |SMALL BURNISHED NICKEL | 14| 4 +Brand#13 |SMALL BURNISHED NICKEL | 36| 4 +Brand#13 |SMALL BURNISHED STEEL | 14| 4 +Brand#13 |SMALL BURNISHED TIN | 3| 4 +Brand#13 |SMALL BURNISHED TIN | 23| 4 +Brand#13 |SMALL BURNISHED TIN | 45| 4 +Brand#13 |SMALL PLATED BRASS | 3| 4 +Brand#13 |SMALL PLATED BRASS | 14| 4 +Brand#13 |SMALL PLATED COPPER | 9| 4 +Brand#13 |SMALL PLATED COPPER | 45| 4 +Brand#13 |SMALL PLATED NICKEL | 3| 4 +Brand#13 |SMALL PLATED NICKEL | 9| 4 +Brand#13 |SMALL PLATED NICKEL | 19| 4 +Brand#13 |SMALL PLATED STEEL | 3| 4 +Brand#13 |SMALL PLATED STEEL | 45| 4 +Brand#13 |SMALL PLATED STEEL | 49| 4 +Brand#13 |SMALL PLATED TIN | 9| 4 +Brand#13 |SMALL PLATED TIN | 23| 4 +Brand#13 |SMALL PLATED TIN | 45| 4 +Brand#13 |SMALL POLISHED BRASS | 3| 4 +Brand#13 |SMALL POLISHED BRASS | 19| 4 +Brand#13 |SMALL POLISHED BRASS | 36| 4 +Brand#13 |SMALL POLISHED COPPER | 14| 4 +Brand#13 |SMALL POLISHED COPPER | 23| 4 +Brand#13 |SMALL POLISHED COPPER | 36| 4 +Brand#13 |SMALL POLISHED NICKEL | 9| 4 +Brand#13 |SMALL POLISHED NICKEL | 23| 4 +Brand#13 |SMALL POLISHED NICKEL | 49| 4 +Brand#13 |SMALL POLISHED STEEL | 9| 4 +Brand#13 |SMALL POLISHED STEEL | 19| 4 +Brand#13 |SMALL POLISHED TIN | 3| 4 +Brand#13 |SMALL POLISHED TIN | 9| 4 +Brand#13 |SMALL POLISHED TIN | 19| 4 +Brand#13 |SMALL POLISHED TIN | 23| 4 +Brand#13 |SMALL POLISHED TIN | 36| 4 +Brand#13 |SMALL POLISHED TIN | 45| 4 +Brand#13 |SMALL POLISHED TIN | 49| 4 +Brand#13 |STANDARD ANODIZED BRASS | 3| 4 +Brand#13 |STANDARD ANODIZED BRASS | 19| 4 +Brand#13 |STANDARD ANODIZED BRASS | 36| 4 +Brand#13 |STANDARD ANODIZED BRASS | 45| 4 +Brand#13 |STANDARD ANODIZED COPPER | 9| 4 +Brand#13 |STANDARD ANODIZED COPPER | 45| 4 +Brand#13 |STANDARD ANODIZED NICKEL | 9| 4 +Brand#13 |STANDARD ANODIZED NICKEL | 36| 4 +Brand#13 |STANDARD ANODIZED STEEL | 49| 4 +Brand#13 |STANDARD ANODIZED TIN | 3| 4 +Brand#13 |STANDARD ANODIZED TIN | 14| 4 +Brand#13 |STANDARD ANODIZED TIN | 19| 4 +Brand#13 |STANDARD ANODIZED TIN | 45| 4 +Brand#13 |STANDARD ANODIZED TIN | 49| 4 +Brand#13 |STANDARD BRUSHED BRASS | 3| 4 +Brand#13 |STANDARD BRUSHED BRASS | 9| 4 +Brand#13 |STANDARD BRUSHED BRASS | 19| 4 +Brand#13 |STANDARD BRUSHED BRASS | 23| 4 +Brand#13 |STANDARD BRUSHED BRASS | 45| 4 +Brand#13 |STANDARD BRUSHED BRASS | 49| 4 +Brand#13 |STANDARD BRUSHED COPPER | 14| 4 +Brand#13 |STANDARD BRUSHED COPPER | 36| 4 +Brand#13 |STANDARD BRUSHED COPPER | 45| 4 +Brand#13 |STANDARD BRUSHED NICKEL | 3| 4 +Brand#13 |STANDARD BRUSHED NICKEL | 9| 4 +Brand#13 |STANDARD BRUSHED NICKEL | 19| 4 +Brand#13 |STANDARD BRUSHED NICKEL | 23| 4 +Brand#13 |STANDARD BRUSHED NICKEL | 45| 4 +Brand#13 |STANDARD BRUSHED STEEL | 3| 4 +Brand#13 |STANDARD BRUSHED STEEL | 14| 4 +Brand#13 |STANDARD BRUSHED STEEL | 19| 4 +Brand#13 |STANDARD BRUSHED STEEL | 23| 4 +Brand#13 |STANDARD BRUSHED TIN | 14| 4 +Brand#13 |STANDARD BRUSHED TIN | 36| 4 +Brand#13 |STANDARD BRUSHED TIN | 45| 4 +Brand#13 |STANDARD BURNISHED BRASS | 14| 4 +Brand#13 |STANDARD BURNISHED BRASS | 45| 4 +Brand#13 |STANDARD BURNISHED COPPER| 19| 4 +Brand#13 |STANDARD BURNISHED NICKEL| 36| 4 +Brand#13 |STANDARD BURNISHED NICKEL| 45| 4 +Brand#13 |STANDARD BURNISHED STEEL | 9| 4 +Brand#13 |STANDARD BURNISHED STEEL | 14| 4 +Brand#13 |STANDARD BURNISHED STEEL | 23| 4 +Brand#13 |STANDARD BURNISHED STEEL | 36| 4 +Brand#13 |STANDARD BURNISHED STEEL | 49| 4 +Brand#13 |STANDARD BURNISHED TIN | 14| 4 +Brand#13 |STANDARD BURNISHED TIN | 45| 4 +Brand#13 |STANDARD PLATED COPPER | 3| 4 +Brand#13 |STANDARD PLATED COPPER | 9| 4 +Brand#13 |STANDARD PLATED COPPER | 19| 4 +Brand#13 |STANDARD PLATED COPPER | 49| 4 +Brand#13 |STANDARD PLATED NICKEL | 19| 4 +Brand#13 |STANDARD PLATED STEEL | 3| 4 +Brand#13 |STANDARD PLATED STEEL | 23| 4 +Brand#13 |STANDARD PLATED STEEL | 45| 4 +Brand#13 |STANDARD PLATED TIN | 3| 4 +Brand#13 |STANDARD PLATED TIN | 9| 4 +Brand#13 |STANDARD POLISHED BRASS | 3| 4 +Brand#13 |STANDARD POLISHED BRASS | 9| 4 +Brand#13 |STANDARD POLISHED BRASS | 14| 4 +Brand#13 |STANDARD POLISHED BRASS | 23| 4 +Brand#13 |STANDARD POLISHED BRASS | 49| 4 +Brand#13 |STANDARD POLISHED COPPER | 9| 4 +Brand#13 |STANDARD POLISHED COPPER | 19| 4 +Brand#13 |STANDARD POLISHED COPPER | 49| 4 +Brand#13 |STANDARD POLISHED NICKEL | 14| 4 +Brand#13 |STANDARD POLISHED STEEL | 3| 4 +Brand#13 |STANDARD POLISHED TIN | 3| 4 +Brand#13 |STANDARD POLISHED TIN | 9| 4 +Brand#13 |STANDARD POLISHED TIN | 49| 4 +Brand#14 |ECONOMY ANODIZED BRASS | 9| 4 +Brand#14 |ECONOMY ANODIZED BRASS | 19| 4 +Brand#14 |ECONOMY ANODIZED COPPER | 19| 4 +Brand#14 |ECONOMY ANODIZED COPPER | 23| 4 +Brand#14 |ECONOMY ANODIZED COPPER | 49| 4 +Brand#14 |ECONOMY ANODIZED NICKEL | 3| 4 +Brand#14 |ECONOMY ANODIZED NICKEL | 19| 4 +Brand#14 |ECONOMY ANODIZED NICKEL | 36| 4 +Brand#14 |ECONOMY ANODIZED STEEL | 23| 4 +Brand#14 |ECONOMY ANODIZED STEEL | 36| 4 +Brand#14 |ECONOMY ANODIZED TIN | 14| 4 +Brand#14 |ECONOMY ANODIZED TIN | 36| 4 +Brand#14 |ECONOMY ANODIZED TIN | 49| 4 +Brand#14 |ECONOMY BRUSHED BRASS | 19| 4 +Brand#14 |ECONOMY BRUSHED BRASS | 36| 4 +Brand#14 |ECONOMY BRUSHED BRASS | 45| 4 +Brand#14 |ECONOMY BRUSHED COPPER | 9| 4 +Brand#14 |ECONOMY BRUSHED COPPER | 14| 4 +Brand#14 |ECONOMY BRUSHED COPPER | 23| 4 +Brand#14 |ECONOMY BRUSHED COPPER | 36| 4 +Brand#14 |ECONOMY BRUSHED NICKEL | 19| 4 +Brand#14 |ECONOMY BRUSHED NICKEL | 23| 4 +Brand#14 |ECONOMY BRUSHED NICKEL | 45| 4 +Brand#14 |ECONOMY BRUSHED NICKEL | 49| 4 +Brand#14 |ECONOMY BRUSHED STEEL | 9| 4 +Brand#14 |ECONOMY BRUSHED STEEL | 14| 4 +Brand#14 |ECONOMY BRUSHED STEEL | 19| 4 +Brand#14 |ECONOMY BRUSHED STEEL | 23| 4 +Brand#14 |ECONOMY BRUSHED TIN | 9| 4 +Brand#14 |ECONOMY BRUSHED TIN | 19| 4 +Brand#14 |ECONOMY BRUSHED TIN | 23| 4 +Brand#14 |ECONOMY BRUSHED TIN | 36| 4 +Brand#14 |ECONOMY BRUSHED TIN | 45| 4 +Brand#14 |ECONOMY BURNISHED BRASS | 3| 4 +Brand#14 |ECONOMY BURNISHED BRASS | 9| 4 +Brand#14 |ECONOMY BURNISHED BRASS | 19| 4 +Brand#14 |ECONOMY BURNISHED BRASS | 36| 4 +Brand#14 |ECONOMY BURNISHED COPPER | 3| 4 +Brand#14 |ECONOMY BURNISHED COPPER | 14| 4 +Brand#14 |ECONOMY BURNISHED COPPER | 19| 4 +Brand#14 |ECONOMY BURNISHED NICKEL | 14| 4 +Brand#14 |ECONOMY BURNISHED NICKEL | 19| 4 +Brand#14 |ECONOMY BURNISHED NICKEL | 49| 4 +Brand#14 |ECONOMY BURNISHED TIN | 3| 4 +Brand#14 |ECONOMY BURNISHED TIN | 45| 4 +Brand#14 |ECONOMY BURNISHED TIN | 49| 4 +Brand#14 |ECONOMY PLATED BRASS | 3| 4 +Brand#14 |ECONOMY PLATED BRASS | 19| 4 +Brand#14 |ECONOMY PLATED BRASS | 23| 4 +Brand#14 |ECONOMY PLATED BRASS | 49| 4 +Brand#14 |ECONOMY PLATED COPPER | 36| 4 +Brand#14 |ECONOMY PLATED COPPER | 45| 4 +Brand#14 |ECONOMY PLATED COPPER | 49| 4 +Brand#14 |ECONOMY PLATED NICKEL | 14| 4 +Brand#14 |ECONOMY PLATED NICKEL | 45| 4 +Brand#14 |ECONOMY PLATED STEEL | 14| 4 +Brand#14 |ECONOMY PLATED STEEL | 19| 4 +Brand#14 |ECONOMY PLATED STEEL | 23| 4 +Brand#14 |ECONOMY PLATED STEEL | 45| 4 +Brand#14 |ECONOMY PLATED STEEL | 49| 4 +Brand#14 |ECONOMY PLATED TIN | 3| 4 +Brand#14 |ECONOMY PLATED TIN | 14| 4 +Brand#14 |ECONOMY PLATED TIN | 23| 4 +Brand#14 |ECONOMY PLATED TIN | 49| 4 +Brand#14 |ECONOMY POLISHED BRASS | 9| 4 +Brand#14 |ECONOMY POLISHED BRASS | 14| 4 +Brand#14 |ECONOMY POLISHED BRASS | 45| 4 +Brand#14 |ECONOMY POLISHED COPPER | 3| 4 +Brand#14 |ECONOMY POLISHED COPPER | 9| 4 +Brand#14 |ECONOMY POLISHED COPPER | 19| 4 +Brand#14 |ECONOMY POLISHED COPPER | 36| 4 +Brand#14 |ECONOMY POLISHED COPPER | 45| 4 +Brand#14 |ECONOMY POLISHED NICKEL | 23| 4 +Brand#14 |ECONOMY POLISHED STEEL | 14| 4 +Brand#14 |ECONOMY POLISHED STEEL | 19| 4 +Brand#14 |ECONOMY POLISHED STEEL | 23| 4 +Brand#14 |ECONOMY POLISHED STEEL | 36| 4 +Brand#14 |ECONOMY POLISHED TIN | 9| 4 +Brand#14 |ECONOMY POLISHED TIN | 14| 4 +Brand#14 |ECONOMY POLISHED TIN | 36| 4 +Brand#14 |ECONOMY POLISHED TIN | 45| 4 +Brand#14 |LARGE ANODIZED BRASS | 23| 4 +Brand#14 |LARGE ANODIZED BRASS | 36| 4 +Brand#14 |LARGE ANODIZED BRASS | 45| 4 +Brand#14 |LARGE ANODIZED BRASS | 49| 4 +Brand#14 |LARGE ANODIZED COPPER | 9| 4 +Brand#14 |LARGE ANODIZED COPPER | 36| 4 +Brand#14 |LARGE ANODIZED NICKEL | 3| 4 +Brand#14 |LARGE ANODIZED NICKEL | 19| 4 +Brand#14 |LARGE ANODIZED STEEL | 14| 4 +Brand#14 |LARGE ANODIZED STEEL | 23| 4 +Brand#14 |LARGE ANODIZED STEEL | 36| 4 +Brand#14 |LARGE ANODIZED STEEL | 49| 4 +Brand#14 |LARGE ANODIZED TIN | 3| 4 +Brand#14 |LARGE ANODIZED TIN | 36| 4 +Brand#14 |LARGE ANODIZED TIN | 45| 4 +Brand#14 |LARGE ANODIZED TIN | 49| 4 +Brand#14 |LARGE BRUSHED BRASS | 3| 4 +Brand#14 |LARGE BRUSHED BRASS | 19| 4 +Brand#14 |LARGE BRUSHED BRASS | 36| 4 +Brand#14 |LARGE BRUSHED COPPER | 3| 4 +Brand#14 |LARGE BRUSHED COPPER | 45| 4 +Brand#14 |LARGE BRUSHED NICKEL | 9| 4 +Brand#14 |LARGE BRUSHED NICKEL | 36| 4 +Brand#14 |LARGE BRUSHED NICKEL | 49| 4 +Brand#14 |LARGE BRUSHED STEEL | 14| 4 +Brand#14 |LARGE BRUSHED STEEL | 23| 4 +Brand#14 |LARGE BRUSHED STEEL | 49| 4 +Brand#14 |LARGE BRUSHED TIN | 19| 4 +Brand#14 |LARGE BRUSHED TIN | 23| 4 +Brand#14 |LARGE BURNISHED BRASS | 3| 4 +Brand#14 |LARGE BURNISHED BRASS | 19| 4 +Brand#14 |LARGE BURNISHED BRASS | 36| 4 +Brand#14 |LARGE BURNISHED COPPER | 3| 4 +Brand#14 |LARGE BURNISHED COPPER | 23| 4 +Brand#14 |LARGE BURNISHED COPPER | 36| 4 +Brand#14 |LARGE BURNISHED COPPER | 45| 4 +Brand#14 |LARGE BURNISHED NICKEL | 14| 4 +Brand#14 |LARGE BURNISHED NICKEL | 19| 4 +Brand#14 |LARGE BURNISHED NICKEL | 45| 4 +Brand#14 |LARGE BURNISHED STEEL | 49| 4 +Brand#14 |LARGE BURNISHED TIN | 3| 4 +Brand#14 |LARGE BURNISHED TIN | 14| 4 +Brand#14 |LARGE BURNISHED TIN | 36| 4 +Brand#14 |LARGE BURNISHED TIN | 49| 4 +Brand#14 |LARGE PLATED BRASS | 3| 4 +Brand#14 |LARGE PLATED BRASS | 9| 4 +Brand#14 |LARGE PLATED COPPER | 9| 4 +Brand#14 |LARGE PLATED COPPER | 14| 4 +Brand#14 |LARGE PLATED COPPER | 19| 4 +Brand#14 |LARGE PLATED COPPER | 45| 4 +Brand#14 |LARGE PLATED NICKEL | 3| 4 +Brand#14 |LARGE PLATED NICKEL | 9| 4 +Brand#14 |LARGE PLATED NICKEL | 14| 4 +Brand#14 |LARGE PLATED STEEL | 14| 4 +Brand#14 |LARGE PLATED STEEL | 19| 4 +Brand#14 |LARGE PLATED TIN | 3| 4 +Brand#14 |LARGE PLATED TIN | 9| 4 +Brand#14 |LARGE PLATED TIN | 19| 4 +Brand#14 |LARGE PLATED TIN | 23| 4 +Brand#14 |LARGE PLATED TIN | 45| 4 +Brand#14 |LARGE PLATED TIN | 49| 4 +Brand#14 |LARGE POLISHED BRASS | 49| 4 +Brand#14 |LARGE POLISHED COPPER | 3| 4 +Brand#14 |LARGE POLISHED COPPER | 14| 4 +Brand#14 |LARGE POLISHED COPPER | 19| 4 +Brand#14 |LARGE POLISHED COPPER | 36| 4 +Brand#14 |LARGE POLISHED COPPER | 49| 4 +Brand#14 |LARGE POLISHED NICKEL | 3| 4 +Brand#14 |LARGE POLISHED NICKEL | 19| 4 +Brand#14 |LARGE POLISHED NICKEL | 45| 4 +Brand#14 |LARGE POLISHED NICKEL | 49| 4 +Brand#14 |LARGE POLISHED STEEL | 9| 4 +Brand#14 |LARGE POLISHED STEEL | 14| 4 +Brand#14 |LARGE POLISHED STEEL | 36| 4 +Brand#14 |LARGE POLISHED STEEL | 49| 4 +Brand#14 |LARGE POLISHED TIN | 3| 4 +Brand#14 |LARGE POLISHED TIN | 19| 4 +Brand#14 |MEDIUM ANODIZED BRASS | 9| 4 +Brand#14 |MEDIUM ANODIZED BRASS | 23| 4 +Brand#14 |MEDIUM ANODIZED BRASS | 36| 4 +Brand#14 |MEDIUM ANODIZED BRASS | 45| 4 +Brand#14 |MEDIUM ANODIZED BRASS | 49| 4 +Brand#14 |MEDIUM ANODIZED COPPER | 3| 4 +Brand#14 |MEDIUM ANODIZED COPPER | 14| 4 +Brand#14 |MEDIUM ANODIZED COPPER | 23| 4 +Brand#14 |MEDIUM ANODIZED NICKEL | 23| 4 +Brand#14 |MEDIUM ANODIZED NICKEL | 49| 4 +Brand#14 |MEDIUM ANODIZED STEEL | 3| 4 +Brand#14 |MEDIUM ANODIZED STEEL | 14| 4 +Brand#14 |MEDIUM ANODIZED STEEL | 23| 4 +Brand#14 |MEDIUM ANODIZED STEEL | 45| 4 +Brand#14 |MEDIUM ANODIZED STEEL | 49| 4 +Brand#14 |MEDIUM ANODIZED TIN | 3| 4 +Brand#14 |MEDIUM ANODIZED TIN | 19| 4 +Brand#14 |MEDIUM ANODIZED TIN | 23| 4 +Brand#14 |MEDIUM ANODIZED TIN | 45| 4 +Brand#14 |MEDIUM BRUSHED BRASS | 3| 4 +Brand#14 |MEDIUM BRUSHED BRASS | 14| 4 +Brand#14 |MEDIUM BRUSHED BRASS | 36| 4 +Brand#14 |MEDIUM BRUSHED BRASS | 45| 4 +Brand#14 |MEDIUM BRUSHED COPPER | 3| 4 +Brand#14 |MEDIUM BRUSHED COPPER | 14| 4 +Brand#14 |MEDIUM BRUSHED COPPER | 19| 4 +Brand#14 |MEDIUM BRUSHED COPPER | 49| 4 +Brand#14 |MEDIUM BRUSHED NICKEL | 3| 4 +Brand#14 |MEDIUM BRUSHED NICKEL | 19| 4 +Brand#14 |MEDIUM BRUSHED NICKEL | 23| 4 +Brand#14 |MEDIUM BRUSHED STEEL | 3| 4 +Brand#14 |MEDIUM BRUSHED STEEL | 14| 4 +Brand#14 |MEDIUM BRUSHED STEEL | 45| 4 +Brand#14 |MEDIUM BRUSHED TIN | 36| 4 +Brand#14 |MEDIUM BRUSHED TIN | 49| 4 +Brand#14 |MEDIUM BURNISHED BRASS | 9| 4 +Brand#14 |MEDIUM BURNISHED BRASS | 14| 4 +Brand#14 |MEDIUM BURNISHED BRASS | 45| 4 +Brand#14 |MEDIUM BURNISHED COPPER | 19| 4 +Brand#14 |MEDIUM BURNISHED COPPER | 23| 4 +Brand#14 |MEDIUM BURNISHED COPPER | 36| 4 +Brand#14 |MEDIUM BURNISHED COPPER | 49| 4 +Brand#14 |MEDIUM BURNISHED NICKEL | 45| 4 +Brand#14 |MEDIUM BURNISHED STEEL | 9| 4 +Brand#14 |MEDIUM BURNISHED TIN | 9| 4 +Brand#14 |MEDIUM BURNISHED TIN | 23| 4 +Brand#14 |MEDIUM PLATED BRASS | 14| 4 +Brand#14 |MEDIUM PLATED COPPER | 49| 4 +Brand#14 |MEDIUM PLATED NICKEL | 3| 4 +Brand#14 |MEDIUM PLATED NICKEL | 14| 4 +Brand#14 |MEDIUM PLATED NICKEL | 19| 4 +Brand#14 |MEDIUM PLATED NICKEL | 36| 4 +Brand#14 |MEDIUM PLATED NICKEL | 45| 4 +Brand#14 |MEDIUM PLATED STEEL | 3| 4 +Brand#14 |MEDIUM PLATED STEEL | 14| 4 +Brand#14 |MEDIUM PLATED STEEL | 23| 4 +Brand#14 |PROMO ANODIZED BRASS | 3| 4 +Brand#14 |PROMO ANODIZED BRASS | 9| 4 +Brand#14 |PROMO ANODIZED BRASS | 14| 4 +Brand#14 |PROMO ANODIZED BRASS | 49| 4 +Brand#14 |PROMO ANODIZED COPPER | 23| 4 +Brand#14 |PROMO ANODIZED COPPER | 49| 4 +Brand#14 |PROMO ANODIZED NICKEL | 3| 4 +Brand#14 |PROMO ANODIZED NICKEL | 23| 4 +Brand#14 |PROMO ANODIZED STEEL | 9| 4 +Brand#14 |PROMO ANODIZED STEEL | 49| 4 +Brand#14 |PROMO ANODIZED TIN | 3| 4 +Brand#14 |PROMO ANODIZED TIN | 23| 4 +Brand#14 |PROMO ANODIZED TIN | 36| 4 +Brand#14 |PROMO ANODIZED TIN | 45| 4 +Brand#14 |PROMO ANODIZED TIN | 49| 4 +Brand#14 |PROMO BRUSHED BRASS | 3| 4 +Brand#14 |PROMO BRUSHED BRASS | 9| 4 +Brand#14 |PROMO BRUSHED COPPER | 3| 4 +Brand#14 |PROMO BRUSHED COPPER | 19| 4 +Brand#14 |PROMO BRUSHED NICKEL | 3| 4 +Brand#14 |PROMO BRUSHED NICKEL | 9| 4 +Brand#14 |PROMO BRUSHED NICKEL | 14| 4 +Brand#14 |PROMO BRUSHED STEEL | 14| 4 +Brand#14 |PROMO BRUSHED STEEL | 19| 4 +Brand#14 |PROMO BRUSHED STEEL | 23| 4 +Brand#14 |PROMO BRUSHED STEEL | 45| 4 +Brand#14 |PROMO BRUSHED TIN | 14| 4 +Brand#14 |PROMO BRUSHED TIN | 19| 4 +Brand#14 |PROMO BRUSHED TIN | 23| 4 +Brand#14 |PROMO BRUSHED TIN | 45| 4 +Brand#14 |PROMO BRUSHED TIN | 49| 4 +Brand#14 |PROMO BURNISHED BRASS | 3| 4 +Brand#14 |PROMO BURNISHED BRASS | 14| 4 +Brand#14 |PROMO BURNISHED COPPER | 3| 4 +Brand#14 |PROMO BURNISHED COPPER | 9| 4 +Brand#14 |PROMO BURNISHED COPPER | 14| 4 +Brand#14 |PROMO BURNISHED COPPER | 19| 4 +Brand#14 |PROMO BURNISHED COPPER | 36| 4 +Brand#14 |PROMO BURNISHED NICKEL | 23| 4 +Brand#14 |PROMO BURNISHED NICKEL | 45| 4 +Brand#14 |PROMO BURNISHED NICKEL | 49| 4 +Brand#14 |PROMO BURNISHED STEEL | 3| 4 +Brand#14 |PROMO BURNISHED STEEL | 19| 4 +Brand#14 |PROMO BURNISHED STEEL | 49| 4 +Brand#14 |PROMO BURNISHED TIN | 3| 4 +Brand#14 |PROMO BURNISHED TIN | 9| 4 +Brand#14 |PROMO BURNISHED TIN | 23| 4 +Brand#14 |PROMO PLATED BRASS | 3| 4 +Brand#14 |PROMO PLATED BRASS | 23| 4 +Brand#14 |PROMO PLATED BRASS | 49| 4 +Brand#14 |PROMO PLATED COPPER | 3| 4 +Brand#14 |PROMO PLATED COPPER | 9| 4 +Brand#14 |PROMO PLATED COPPER | 36| 4 +Brand#14 |PROMO PLATED COPPER | 49| 4 +Brand#14 |PROMO PLATED NICKEL | 14| 4 +Brand#14 |PROMO PLATED NICKEL | 19| 4 +Brand#14 |PROMO PLATED STEEL | 36| 4 +Brand#14 |PROMO PLATED STEEL | 45| 4 +Brand#14 |PROMO PLATED TIN | 23| 4 +Brand#14 |PROMO POLISHED BRASS | 3| 4 +Brand#14 |PROMO POLISHED BRASS | 45| 4 +Brand#14 |PROMO POLISHED COPPER | 9| 4 +Brand#14 |PROMO POLISHED COPPER | 23| 4 +Brand#14 |PROMO POLISHED COPPER | 36| 4 +Brand#14 |PROMO POLISHED COPPER | 45| 4 +Brand#14 |PROMO POLISHED COPPER | 49| 4 +Brand#14 |PROMO POLISHED NICKEL | 19| 4 +Brand#14 |PROMO POLISHED NICKEL | 23| 4 +Brand#14 |PROMO POLISHED NICKEL | 36| 4 +Brand#14 |PROMO POLISHED NICKEL | 49| 4 +Brand#14 |PROMO POLISHED STEEL | 9| 4 +Brand#14 |PROMO POLISHED STEEL | 45| 4 +Brand#14 |PROMO POLISHED TIN | 23| 4 +Brand#14 |PROMO POLISHED TIN | 36| 4 +Brand#14 |SMALL ANODIZED BRASS | 3| 4 +Brand#14 |SMALL ANODIZED BRASS | 19| 4 +Brand#14 |SMALL ANODIZED BRASS | 23| 4 +Brand#14 |SMALL ANODIZED BRASS | 36| 4 +Brand#14 |SMALL ANODIZED BRASS | 45| 4 +Brand#14 |SMALL ANODIZED BRASS | 49| 4 +Brand#14 |SMALL ANODIZED COPPER | 9| 4 +Brand#14 |SMALL ANODIZED COPPER | 19| 4 +Brand#14 |SMALL ANODIZED COPPER | 23| 4 +Brand#14 |SMALL ANODIZED COPPER | 36| 4 +Brand#14 |SMALL ANODIZED COPPER | 45| 4 +Brand#14 |SMALL ANODIZED NICKEL | 14| 4 +Brand#14 |SMALL ANODIZED NICKEL | 23| 4 +Brand#14 |SMALL ANODIZED STEEL | 45| 4 +Brand#14 |SMALL ANODIZED TIN | 9| 4 +Brand#14 |SMALL ANODIZED TIN | 14| 4 +Brand#14 |SMALL ANODIZED TIN | 23| 4 +Brand#14 |SMALL ANODIZED TIN | 36| 4 +Brand#14 |SMALL ANODIZED TIN | 49| 4 +Brand#14 |SMALL BRUSHED BRASS | 3| 4 +Brand#14 |SMALL BRUSHED BRASS | 36| 4 +Brand#14 |SMALL BRUSHED COPPER | 9| 4 +Brand#14 |SMALL BRUSHED COPPER | 14| 4 +Brand#14 |SMALL BRUSHED COPPER | 19| 4 +Brand#14 |SMALL BRUSHED COPPER | 23| 4 +Brand#14 |SMALL BRUSHED COPPER | 45| 4 +Brand#14 |SMALL BRUSHED NICKEL | 3| 4 +Brand#14 |SMALL BRUSHED NICKEL | 14| 4 +Brand#14 |SMALL BRUSHED NICKEL | 23| 4 +Brand#14 |SMALL BRUSHED NICKEL | 45| 4 +Brand#14 |SMALL BRUSHED STEEL | 9| 4 +Brand#14 |SMALL BRUSHED STEEL | 19| 4 +Brand#14 |SMALL BRUSHED STEEL | 49| 4 +Brand#14 |SMALL BRUSHED TIN | 3| 4 +Brand#14 |SMALL BRUSHED TIN | 23| 4 +Brand#14 |SMALL BRUSHED TIN | 45| 4 +Brand#14 |SMALL BURNISHED BRASS | 9| 4 +Brand#14 |SMALL BURNISHED COPPER | 3| 4 +Brand#14 |SMALL BURNISHED COPPER | 9| 4 +Brand#14 |SMALL BURNISHED COPPER | 19| 4 +Brand#14 |SMALL BURNISHED COPPER | 23| 4 +Brand#14 |SMALL BURNISHED COPPER | 49| 4 +Brand#14 |SMALL BURNISHED NICKEL | 3| 4 +Brand#14 |SMALL BURNISHED NICKEL | 23| 4 +Brand#14 |SMALL BURNISHED STEEL | 3| 4 +Brand#14 |SMALL BURNISHED TIN | 3| 4 +Brand#14 |SMALL BURNISHED TIN | 9| 4 +Brand#14 |SMALL BURNISHED TIN | 14| 4 +Brand#14 |SMALL BURNISHED TIN | 36| 4 +Brand#14 |SMALL BURNISHED TIN | 45| 4 +Brand#14 |SMALL PLATED BRASS | 3| 4 +Brand#14 |SMALL PLATED BRASS | 19| 4 +Brand#14 |SMALL PLATED COPPER | 14| 4 +Brand#14 |SMALL PLATED COPPER | 36| 4 +Brand#14 |SMALL PLATED COPPER | 45| 4 +Brand#14 |SMALL PLATED NICKEL | 3| 4 +Brand#14 |SMALL PLATED NICKEL | 9| 4 +Brand#14 |SMALL PLATED NICKEL | 45| 4 +Brand#14 |SMALL PLATED NICKEL | 49| 4 +Brand#14 |SMALL PLATED STEEL | 3| 4 +Brand#14 |SMALL PLATED STEEL | 45| 4 +Brand#14 |SMALL PLATED TIN | 3| 4 +Brand#14 |SMALL PLATED TIN | 23| 4 +Brand#14 |SMALL PLATED TIN | 36| 4 +Brand#14 |SMALL POLISHED COPPER | 9| 4 +Brand#14 |SMALL POLISHED COPPER | 19| 4 +Brand#14 |SMALL POLISHED COPPER | 23| 4 +Brand#14 |SMALL POLISHED COPPER | 45| 4 +Brand#14 |SMALL POLISHED NICKEL | 14| 4 +Brand#14 |SMALL POLISHED NICKEL | 23| 4 +Brand#14 |SMALL POLISHED TIN | 23| 4 +Brand#14 |SMALL POLISHED TIN | 45| 4 +Brand#14 |STANDARD ANODIZED BRASS | 19| 4 +Brand#14 |STANDARD ANODIZED BRASS | 23| 4 +Brand#14 |STANDARD ANODIZED BRASS | 45| 4 +Brand#14 |STANDARD ANODIZED BRASS | 49| 4 +Brand#14 |STANDARD ANODIZED COPPER | 36| 4 +Brand#14 |STANDARD ANODIZED NICKEL | 9| 4 +Brand#14 |STANDARD ANODIZED NICKEL | 14| 4 +Brand#14 |STANDARD ANODIZED NICKEL | 23| 4 +Brand#14 |STANDARD ANODIZED NICKEL | 36| 4 +Brand#14 |STANDARD ANODIZED NICKEL | 45| 4 +Brand#14 |STANDARD ANODIZED NICKEL | 49| 4 +Brand#14 |STANDARD ANODIZED STEEL | 3| 4 +Brand#14 |STANDARD ANODIZED STEEL | 14| 4 +Brand#14 |STANDARD ANODIZED STEEL | 19| 4 +Brand#14 |STANDARD ANODIZED TIN | 9| 4 +Brand#14 |STANDARD ANODIZED TIN | 14| 4 +Brand#14 |STANDARD ANODIZED TIN | 19| 4 +Brand#14 |STANDARD ANODIZED TIN | 23| 4 +Brand#14 |STANDARD BRUSHED BRASS | 14| 4 +Brand#14 |STANDARD BRUSHED BRASS | 36| 4 +Brand#14 |STANDARD BRUSHED COPPER | 14| 4 +Brand#14 |STANDARD BRUSHED COPPER | 19| 4 +Brand#14 |STANDARD BRUSHED COPPER | 23| 4 +Brand#14 |STANDARD BRUSHED COPPER | 45| 4 +Brand#14 |STANDARD BRUSHED COPPER | 49| 4 +Brand#14 |STANDARD BRUSHED NICKEL | 9| 4 +Brand#14 |STANDARD BRUSHED NICKEL | 19| 4 +Brand#14 |STANDARD BRUSHED NICKEL | 36| 4 +Brand#14 |STANDARD BRUSHED NICKEL | 45| 4 +Brand#14 |STANDARD BRUSHED STEEL | 3| 4 +Brand#14 |STANDARD BRUSHED STEEL | 9| 4 +Brand#14 |STANDARD BRUSHED STEEL | 19| 4 +Brand#14 |STANDARD BRUSHED STEEL | 36| 4 +Brand#14 |STANDARD BRUSHED TIN | 3| 4 +Brand#14 |STANDARD BRUSHED TIN | 14| 4 +Brand#14 |STANDARD BRUSHED TIN | 36| 4 +Brand#14 |STANDARD BURNISHED COPPER| 36| 4 +Brand#14 |STANDARD BURNISHED COPPER| 45| 4 +Brand#14 |STANDARD BURNISHED COPPER| 49| 4 +Brand#14 |STANDARD BURNISHED NICKEL| 9| 4 +Brand#14 |STANDARD BURNISHED NICKEL| 14| 4 +Brand#14 |STANDARD BURNISHED NICKEL| 36| 4 +Brand#14 |STANDARD BURNISHED STEEL | 3| 4 +Brand#14 |STANDARD BURNISHED STEEL | 9| 4 +Brand#14 |STANDARD BURNISHED STEEL | 36| 4 +Brand#14 |STANDARD BURNISHED STEEL | 49| 4 +Brand#14 |STANDARD BURNISHED TIN | 23| 4 +Brand#14 |STANDARD BURNISHED TIN | 36| 4 +Brand#14 |STANDARD BURNISHED TIN | 45| 4 +Brand#14 |STANDARD PLATED BRASS | 23| 4 +Brand#14 |STANDARD PLATED BRASS | 36| 4 +Brand#14 |STANDARD PLATED COPPER | 3| 4 +Brand#14 |STANDARD PLATED COPPER | 9| 4 +Brand#14 |STANDARD PLATED COPPER | 19| 4 +Brand#14 |STANDARD PLATED NICKEL | 36| 4 +Brand#14 |STANDARD PLATED NICKEL | 45| 4 +Brand#14 |STANDARD PLATED STEEL | 14| 4 +Brand#14 |STANDARD PLATED STEEL | 19| 4 +Brand#14 |STANDARD PLATED STEEL | 45| 4 +Brand#14 |STANDARD PLATED STEEL | 49| 4 +Brand#14 |STANDARD PLATED TIN | 14| 4 +Brand#14 |STANDARD PLATED TIN | 23| 4 +Brand#14 |STANDARD PLATED TIN | 36| 4 +Brand#14 |STANDARD PLATED TIN | 45| 4 +Brand#14 |STANDARD POLISHED BRASS | 3| 4 +Brand#14 |STANDARD POLISHED BRASS | 36| 4 +Brand#14 |STANDARD POLISHED COPPER | 9| 4 +Brand#14 |STANDARD POLISHED COPPER | 23| 4 +Brand#14 |STANDARD POLISHED NICKEL | 14| 4 +Brand#14 |STANDARD POLISHED NICKEL | 23| 4 +Brand#14 |STANDARD POLISHED NICKEL | 45| 4 +Brand#14 |STANDARD POLISHED NICKEL | 49| 4 +Brand#14 |STANDARD POLISHED STEEL | 3| 4 +Brand#14 |STANDARD POLISHED STEEL | 9| 4 +Brand#14 |STANDARD POLISHED STEEL | 14| 4 +Brand#14 |STANDARD POLISHED STEEL | 19| 4 +Brand#14 |STANDARD POLISHED TIN | 19| 4 +Brand#14 |STANDARD POLISHED TIN | 23| 4 +Brand#14 |STANDARD POLISHED TIN | 36| 4 +Brand#15 |ECONOMY ANODIZED BRASS | 14| 4 +Brand#15 |ECONOMY ANODIZED BRASS | 19| 4 +Brand#15 |ECONOMY ANODIZED BRASS | 45| 4 +Brand#15 |ECONOMY ANODIZED BRASS | 49| 4 +Brand#15 |ECONOMY ANODIZED COPPER | 3| 4 +Brand#15 |ECONOMY ANODIZED COPPER | 14| 4 +Brand#15 |ECONOMY ANODIZED COPPER | 23| 4 +Brand#15 |ECONOMY ANODIZED COPPER | 36| 4 +Brand#15 |ECONOMY ANODIZED NICKEL | 14| 4 +Brand#15 |ECONOMY ANODIZED NICKEL | 45| 4 +Brand#15 |ECONOMY ANODIZED NICKEL | 49| 4 +Brand#15 |ECONOMY ANODIZED STEEL | 9| 4 +Brand#15 |ECONOMY ANODIZED STEEL | 19| 4 +Brand#15 |ECONOMY ANODIZED STEEL | 45| 4 +Brand#15 |ECONOMY ANODIZED STEEL | 49| 4 +Brand#15 |ECONOMY ANODIZED TIN | 3| 4 +Brand#15 |ECONOMY ANODIZED TIN | 14| 4 +Brand#15 |ECONOMY ANODIZED TIN | 23| 4 +Brand#15 |ECONOMY ANODIZED TIN | 45| 4 +Brand#15 |ECONOMY ANODIZED TIN | 49| 4 +Brand#15 |ECONOMY BRUSHED BRASS | 9| 4 +Brand#15 |ECONOMY BRUSHED BRASS | 14| 4 +Brand#15 |ECONOMY BRUSHED BRASS | 36| 4 +Brand#15 |ECONOMY BRUSHED BRASS | 45| 4 +Brand#15 |ECONOMY BRUSHED BRASS | 49| 4 +Brand#15 |ECONOMY BRUSHED COPPER | 14| 4 +Brand#15 |ECONOMY BRUSHED COPPER | 19| 4 +Brand#15 |ECONOMY BRUSHED COPPER | 45| 4 +Brand#15 |ECONOMY BRUSHED COPPER | 49| 4 +Brand#15 |ECONOMY BRUSHED NICKEL | 19| 4 +Brand#15 |ECONOMY BRUSHED STEEL | 3| 4 +Brand#15 |ECONOMY BRUSHED STEEL | 14| 4 +Brand#15 |ECONOMY BRUSHED TIN | 3| 4 +Brand#15 |ECONOMY BRUSHED TIN | 19| 4 +Brand#15 |ECONOMY BRUSHED TIN | 23| 4 +Brand#15 |ECONOMY BRUSHED TIN | 45| 4 +Brand#15 |ECONOMY BURNISHED BRASS | 23| 4 +Brand#15 |ECONOMY BURNISHED COPPER | 3| 4 +Brand#15 |ECONOMY BURNISHED NICKEL | 3| 4 +Brand#15 |ECONOMY BURNISHED NICKEL | 45| 4 +Brand#15 |ECONOMY BURNISHED STEEL | 14| 4 +Brand#15 |ECONOMY BURNISHED STEEL | 23| 4 +Brand#15 |ECONOMY BURNISHED STEEL | 36| 4 +Brand#15 |ECONOMY BURNISHED TIN | 3| 4 +Brand#15 |ECONOMY BURNISHED TIN | 14| 4 +Brand#15 |ECONOMY BURNISHED TIN | 19| 4 +Brand#15 |ECONOMY BURNISHED TIN | 36| 4 +Brand#15 |ECONOMY PLATED BRASS | 9| 4 +Brand#15 |ECONOMY PLATED BRASS | 19| 4 +Brand#15 |ECONOMY PLATED BRASS | 23| 4 +Brand#15 |ECONOMY PLATED BRASS | 45| 4 +Brand#15 |ECONOMY PLATED BRASS | 49| 4 +Brand#15 |ECONOMY PLATED COPPER | 14| 4 +Brand#15 |ECONOMY PLATED COPPER | 19| 4 +Brand#15 |ECONOMY PLATED NICKEL | 3| 4 +Brand#15 |ECONOMY PLATED NICKEL | 23| 4 +Brand#15 |ECONOMY PLATED NICKEL | 49| 4 +Brand#15 |ECONOMY PLATED STEEL | 9| 4 +Brand#15 |ECONOMY PLATED STEEL | 23| 4 +Brand#15 |ECONOMY PLATED STEEL | 36| 4 +Brand#15 |ECONOMY PLATED STEEL | 45| 4 +Brand#15 |ECONOMY PLATED STEEL | 49| 4 +Brand#15 |ECONOMY PLATED TIN | 3| 4 +Brand#15 |ECONOMY PLATED TIN | 19| 4 +Brand#15 |ECONOMY PLATED TIN | 23| 4 +Brand#15 |ECONOMY PLATED TIN | 36| 4 +Brand#15 |ECONOMY PLATED TIN | 45| 4 +Brand#15 |ECONOMY PLATED TIN | 49| 4 +Brand#15 |ECONOMY POLISHED BRASS | 9| 4 +Brand#15 |ECONOMY POLISHED BRASS | 23| 4 +Brand#15 |ECONOMY POLISHED BRASS | 45| 4 +Brand#15 |ECONOMY POLISHED BRASS | 49| 4 +Brand#15 |ECONOMY POLISHED COPPER | 14| 4 +Brand#15 |ECONOMY POLISHED COPPER | 19| 4 +Brand#15 |ECONOMY POLISHED COPPER | 23| 4 +Brand#15 |ECONOMY POLISHED NICKEL | 23| 4 +Brand#15 |ECONOMY POLISHED STEEL | 14| 4 +Brand#15 |ECONOMY POLISHED STEEL | 45| 4 +Brand#15 |ECONOMY POLISHED TIN | 19| 4 +Brand#15 |ECONOMY POLISHED TIN | 45| 4 +Brand#15 |ECONOMY POLISHED TIN | 49| 4 +Brand#15 |LARGE ANODIZED BRASS | 23| 4 +Brand#15 |LARGE ANODIZED BRASS | 45| 4 +Brand#15 |LARGE ANODIZED BRASS | 49| 4 +Brand#15 |LARGE ANODIZED COPPER | 3| 4 +Brand#15 |LARGE ANODIZED COPPER | 9| 4 +Brand#15 |LARGE ANODIZED NICKEL | 9| 4 +Brand#15 |LARGE ANODIZED NICKEL | 45| 4 +Brand#15 |LARGE ANODIZED STEEL | 9| 4 +Brand#15 |LARGE ANODIZED STEEL | 36| 4 +Brand#15 |LARGE ANODIZED STEEL | 49| 4 +Brand#15 |LARGE ANODIZED TIN | 3| 4 +Brand#15 |LARGE ANODIZED TIN | 9| 4 +Brand#15 |LARGE ANODIZED TIN | 19| 4 +Brand#15 |LARGE ANODIZED TIN | 45| 4 +Brand#15 |LARGE ANODIZED TIN | 49| 4 +Brand#15 |LARGE BRUSHED BRASS | 3| 4 +Brand#15 |LARGE BRUSHED COPPER | 23| 4 +Brand#15 |LARGE BRUSHED COPPER | 49| 4 +Brand#15 |LARGE BRUSHED NICKEL | 3| 4 +Brand#15 |LARGE BRUSHED NICKEL | 14| 4 +Brand#15 |LARGE BRUSHED NICKEL | 23| 4 +Brand#15 |LARGE BRUSHED NICKEL | 36| 4 +Brand#15 |LARGE BRUSHED STEEL | 3| 4 +Brand#15 |LARGE BRUSHED STEEL | 9| 4 +Brand#15 |LARGE BRUSHED STEEL | 36| 4 +Brand#15 |LARGE BRUSHED STEEL | 49| 4 +Brand#15 |LARGE BRUSHED TIN | 14| 4 +Brand#15 |LARGE BRUSHED TIN | 45| 4 +Brand#15 |LARGE BURNISHED BRASS | 49| 4 +Brand#15 |LARGE BURNISHED COPPER | 3| 4 +Brand#15 |LARGE BURNISHED COPPER | 14| 4 +Brand#15 |LARGE BURNISHED NICKEL | 14| 4 +Brand#15 |LARGE BURNISHED NICKEL | 23| 4 +Brand#15 |LARGE BURNISHED NICKEL | 45| 4 +Brand#15 |LARGE BURNISHED STEEL | 3| 4 +Brand#15 |LARGE BURNISHED TIN | 3| 4 +Brand#15 |LARGE BURNISHED TIN | 9| 4 +Brand#15 |LARGE BURNISHED TIN | 19| 4 +Brand#15 |LARGE BURNISHED TIN | 23| 4 +Brand#15 |LARGE BURNISHED TIN | 36| 4 +Brand#15 |LARGE BURNISHED TIN | 45| 4 +Brand#15 |LARGE PLATED BRASS | 3| 4 +Brand#15 |LARGE PLATED BRASS | 14| 4 +Brand#15 |LARGE PLATED BRASS | 19| 4 +Brand#15 |LARGE PLATED BRASS | 23| 4 +Brand#15 |LARGE PLATED BRASS | 49| 4 +Brand#15 |LARGE PLATED COPPER | 3| 4 +Brand#15 |LARGE PLATED COPPER | 14| 4 +Brand#15 |LARGE PLATED COPPER | 23| 4 +Brand#15 |LARGE PLATED NICKEL | 36| 4 +Brand#15 |LARGE PLATED STEEL | 3| 4 +Brand#15 |LARGE PLATED STEEL | 45| 4 +Brand#15 |LARGE PLATED STEEL | 49| 4 +Brand#15 |LARGE PLATED TIN | 9| 4 +Brand#15 |LARGE PLATED TIN | 19| 4 +Brand#15 |LARGE PLATED TIN | 36| 4 +Brand#15 |LARGE PLATED TIN | 45| 4 +Brand#15 |LARGE POLISHED BRASS | 3| 4 +Brand#15 |LARGE POLISHED BRASS | 9| 4 +Brand#15 |LARGE POLISHED BRASS | 14| 4 +Brand#15 |LARGE POLISHED COPPER | 9| 4 +Brand#15 |LARGE POLISHED COPPER | 14| 4 +Brand#15 |LARGE POLISHED COPPER | 19| 4 +Brand#15 |LARGE POLISHED COPPER | 45| 4 +Brand#15 |LARGE POLISHED NICKEL | 3| 4 +Brand#15 |LARGE POLISHED NICKEL | 14| 4 +Brand#15 |LARGE POLISHED NICKEL | 19| 4 +Brand#15 |LARGE POLISHED NICKEL | 23| 4 +Brand#15 |LARGE POLISHED NICKEL | 36| 4 +Brand#15 |LARGE POLISHED NICKEL | 49| 4 +Brand#15 |LARGE POLISHED STEEL | 3| 4 +Brand#15 |MEDIUM ANODIZED BRASS | 14| 4 +Brand#15 |MEDIUM ANODIZED BRASS | 45| 4 +Brand#15 |MEDIUM ANODIZED BRASS | 49| 4 +Brand#15 |MEDIUM ANODIZED COPPER | 3| 4 +Brand#15 |MEDIUM ANODIZED COPPER | 14| 4 +Brand#15 |MEDIUM ANODIZED COPPER | 23| 4 +Brand#15 |MEDIUM ANODIZED COPPER | 45| 4 +Brand#15 |MEDIUM ANODIZED COPPER | 49| 4 +Brand#15 |MEDIUM ANODIZED NICKEL | 14| 4 +Brand#15 |MEDIUM ANODIZED NICKEL | 19| 4 +Brand#15 |MEDIUM ANODIZED NICKEL | 23| 4 +Brand#15 |MEDIUM ANODIZED NICKEL | 49| 4 +Brand#15 |MEDIUM ANODIZED STEEL | 3| 4 +Brand#15 |MEDIUM ANODIZED STEEL | 14| 4 +Brand#15 |MEDIUM ANODIZED STEEL | 36| 4 +Brand#15 |MEDIUM ANODIZED TIN | 9| 4 +Brand#15 |MEDIUM ANODIZED TIN | 36| 4 +Brand#15 |MEDIUM ANODIZED TIN | 45| 4 +Brand#15 |MEDIUM BRUSHED BRASS | 9| 4 +Brand#15 |MEDIUM BRUSHED BRASS | 36| 4 +Brand#15 |MEDIUM BRUSHED COPPER | 19| 4 +Brand#15 |MEDIUM BRUSHED NICKEL | 36| 4 +Brand#15 |MEDIUM BRUSHED NICKEL | 45| 4 +Brand#15 |MEDIUM BRUSHED STEEL | 9| 4 +Brand#15 |MEDIUM BRUSHED STEEL | 14| 4 +Brand#15 |MEDIUM BRUSHED STEEL | 23| 4 +Brand#15 |MEDIUM BRUSHED TIN | 3| 4 +Brand#15 |MEDIUM BRUSHED TIN | 36| 4 +Brand#15 |MEDIUM BRUSHED TIN | 45| 4 +Brand#15 |MEDIUM BRUSHED TIN | 49| 4 +Brand#15 |MEDIUM BURNISHED BRASS | 3| 4 +Brand#15 |MEDIUM BURNISHED BRASS | 14| 4 +Brand#15 |MEDIUM BURNISHED BRASS | 19| 4 +Brand#15 |MEDIUM BURNISHED BRASS | 23| 4 +Brand#15 |MEDIUM BURNISHED BRASS | 49| 4 +Brand#15 |MEDIUM BURNISHED COPPER | 9| 4 +Brand#15 |MEDIUM BURNISHED COPPER | 19| 4 +Brand#15 |MEDIUM BURNISHED COPPER | 36| 4 +Brand#15 |MEDIUM BURNISHED NICKEL | 3| 4 +Brand#15 |MEDIUM BURNISHED NICKEL | 23| 4 +Brand#15 |MEDIUM BURNISHED STEEL | 9| 4 +Brand#15 |MEDIUM BURNISHED STEEL | 36| 4 +Brand#15 |MEDIUM BURNISHED STEEL | 45| 4 +Brand#15 |MEDIUM BURNISHED TIN | 3| 4 +Brand#15 |MEDIUM BURNISHED TIN | 19| 4 +Brand#15 |MEDIUM BURNISHED TIN | 23| 4 +Brand#15 |MEDIUM BURNISHED TIN | 36| 4 +Brand#15 |MEDIUM PLATED BRASS | 3| 4 +Brand#15 |MEDIUM PLATED BRASS | 9| 4 +Brand#15 |MEDIUM PLATED BRASS | 19| 4 +Brand#15 |MEDIUM PLATED BRASS | 23| 4 +Brand#15 |MEDIUM PLATED BRASS | 49| 4 +Brand#15 |MEDIUM PLATED COPPER | 9| 4 +Brand#15 |MEDIUM PLATED COPPER | 19| 4 +Brand#15 |MEDIUM PLATED COPPER | 36| 4 +Brand#15 |MEDIUM PLATED COPPER | 45| 4 +Brand#15 |MEDIUM PLATED COPPER | 49| 4 +Brand#15 |MEDIUM PLATED NICKEL | 3| 4 +Brand#15 |MEDIUM PLATED NICKEL | 9| 4 +Brand#15 |MEDIUM PLATED NICKEL | 14| 4 +Brand#15 |MEDIUM PLATED NICKEL | 19| 4 +Brand#15 |MEDIUM PLATED NICKEL | 36| 4 +Brand#15 |MEDIUM PLATED NICKEL | 45| 4 +Brand#15 |MEDIUM PLATED STEEL | 3| 4 +Brand#15 |MEDIUM PLATED STEEL | 14| 4 +Brand#15 |MEDIUM PLATED STEEL | 23| 4 +Brand#15 |MEDIUM PLATED STEEL | 36| 4 +Brand#15 |MEDIUM PLATED TIN | 14| 4 +Brand#15 |PROMO ANODIZED BRASS | 3| 4 +Brand#15 |PROMO ANODIZED BRASS | 9| 4 +Brand#15 |PROMO ANODIZED BRASS | 19| 4 +Brand#15 |PROMO ANODIZED BRASS | 49| 4 +Brand#15 |PROMO ANODIZED COPPER | 3| 4 +Brand#15 |PROMO ANODIZED COPPER | 19| 4 +Brand#15 |PROMO ANODIZED COPPER | 23| 4 +Brand#15 |PROMO ANODIZED COPPER | 49| 4 +Brand#15 |PROMO ANODIZED NICKEL | 19| 4 +Brand#15 |PROMO ANODIZED STEEL | 23| 4 +Brand#15 |PROMO ANODIZED STEEL | 45| 4 +Brand#15 |PROMO ANODIZED TIN | 23| 4 +Brand#15 |PROMO ANODIZED TIN | 36| 4 +Brand#15 |PROMO ANODIZED TIN | 45| 4 +Brand#15 |PROMO BRUSHED BRASS | 3| 4 +Brand#15 |PROMO BRUSHED BRASS | 23| 4 +Brand#15 |PROMO BRUSHED BRASS | 45| 4 +Brand#15 |PROMO BRUSHED COPPER | 14| 4 +Brand#15 |PROMO BRUSHED COPPER | 49| 4 +Brand#15 |PROMO BRUSHED NICKEL | 3| 4 +Brand#15 |PROMO BRUSHED NICKEL | 14| 4 +Brand#15 |PROMO BRUSHED NICKEL | 45| 4 +Brand#15 |PROMO BRUSHED STEEL | 3| 4 +Brand#15 |PROMO BRUSHED STEEL | 19| 4 +Brand#15 |PROMO BRUSHED TIN | 9| 4 +Brand#15 |PROMO BRUSHED TIN | 14| 4 +Brand#15 |PROMO BRUSHED TIN | 45| 4 +Brand#15 |PROMO BURNISHED BRASS | 3| 4 +Brand#15 |PROMO BURNISHED BRASS | 19| 4 +Brand#15 |PROMO BURNISHED BRASS | 45| 4 +Brand#15 |PROMO BURNISHED COPPER | 23| 4 +Brand#15 |PROMO BURNISHED COPPER | 49| 4 +Brand#15 |PROMO BURNISHED NICKEL | 45| 4 +Brand#15 |PROMO BURNISHED STEEL | 14| 4 +Brand#15 |PROMO BURNISHED STEEL | 45| 4 +Brand#15 |PROMO BURNISHED STEEL | 49| 4 +Brand#15 |PROMO BURNISHED TIN | 3| 4 +Brand#15 |PROMO BURNISHED TIN | 23| 4 +Brand#15 |PROMO PLATED BRASS | 3| 4 +Brand#15 |PROMO PLATED BRASS | 9| 4 +Brand#15 |PROMO PLATED BRASS | 45| 4 +Brand#15 |PROMO PLATED COPPER | 19| 4 +Brand#15 |PROMO PLATED COPPER | 49| 4 +Brand#15 |PROMO PLATED NICKEL | 3| 4 +Brand#15 |PROMO PLATED NICKEL | 49| 4 +Brand#15 |PROMO PLATED STEEL | 9| 4 +Brand#15 |PROMO PLATED STEEL | 19| 4 +Brand#15 |PROMO PLATED STEEL | 45| 4 +Brand#15 |PROMO PLATED STEEL | 49| 4 +Brand#15 |PROMO PLATED TIN | 14| 4 +Brand#15 |PROMO PLATED TIN | 36| 4 +Brand#15 |PROMO PLATED TIN | 45| 4 +Brand#15 |PROMO PLATED TIN | 49| 4 +Brand#15 |PROMO POLISHED BRASS | 19| 4 +Brand#15 |PROMO POLISHED BRASS | 23| 4 +Brand#15 |PROMO POLISHED BRASS | 36| 4 +Brand#15 |PROMO POLISHED BRASS | 45| 4 +Brand#15 |PROMO POLISHED BRASS | 49| 4 +Brand#15 |PROMO POLISHED COPPER | 23| 4 +Brand#15 |PROMO POLISHED NICKEL | 3| 4 +Brand#15 |PROMO POLISHED NICKEL | 9| 4 +Brand#15 |PROMO POLISHED NICKEL | 14| 4 +Brand#15 |PROMO POLISHED NICKEL | 45| 4 +Brand#15 |PROMO POLISHED STEEL | 23| 4 +Brand#15 |PROMO POLISHED STEEL | 36| 4 +Brand#15 |PROMO POLISHED STEEL | 45| 4 +Brand#15 |PROMO POLISHED TIN | 14| 4 +Brand#15 |PROMO POLISHED TIN | 19| 4 +Brand#15 |PROMO POLISHED TIN | 36| 4 +Brand#15 |SMALL ANODIZED BRASS | 3| 4 +Brand#15 |SMALL ANODIZED BRASS | 36| 4 +Brand#15 |SMALL ANODIZED COPPER | 3| 4 +Brand#15 |SMALL ANODIZED COPPER | 9| 4 +Brand#15 |SMALL ANODIZED COPPER | 14| 4 +Brand#15 |SMALL ANODIZED COPPER | 19| 4 +Brand#15 |SMALL ANODIZED COPPER | 36| 4 +Brand#15 |SMALL ANODIZED COPPER | 49| 4 +Brand#15 |SMALL ANODIZED NICKEL | 45| 4 +Brand#15 |SMALL ANODIZED NICKEL | 49| 4 +Brand#15 |SMALL ANODIZED STEEL | 19| 4 +Brand#15 |SMALL ANODIZED STEEL | 36| 4 +Brand#15 |SMALL ANODIZED TIN | 3| 4 +Brand#15 |SMALL ANODIZED TIN | 9| 4 +Brand#15 |SMALL ANODIZED TIN | 49| 4 +Brand#15 |SMALL BRUSHED COPPER | 3| 4 +Brand#15 |SMALL BRUSHED COPPER | 36| 4 +Brand#15 |SMALL BRUSHED COPPER | 49| 4 +Brand#15 |SMALL BRUSHED NICKEL | 3| 4 +Brand#15 |SMALL BRUSHED NICKEL | 45| 4 +Brand#15 |SMALL BRUSHED STEEL | 3| 4 +Brand#15 |SMALL BRUSHED STEEL | 45| 4 +Brand#15 |SMALL BRUSHED STEEL | 49| 4 +Brand#15 |SMALL BRUSHED TIN | 3| 4 +Brand#15 |SMALL BRUSHED TIN | 14| 4 +Brand#15 |SMALL BRUSHED TIN | 49| 4 +Brand#15 |SMALL BURNISHED BRASS | 36| 4 +Brand#15 |SMALL BURNISHED BRASS | 45| 4 +Brand#15 |SMALL BURNISHED BRASS | 49| 4 +Brand#15 |SMALL BURNISHED COPPER | 23| 4 +Brand#15 |SMALL BURNISHED COPPER | 36| 4 +Brand#15 |SMALL BURNISHED COPPER | 45| 4 +Brand#15 |SMALL BURNISHED NICKEL | 14| 4 +Brand#15 |SMALL BURNISHED NICKEL | 23| 4 +Brand#15 |SMALL BURNISHED NICKEL | 49| 4 +Brand#15 |SMALL BURNISHED STEEL | 3| 4 +Brand#15 |SMALL BURNISHED STEEL | 14| 4 +Brand#15 |SMALL BURNISHED STEEL | 23| 4 +Brand#15 |SMALL BURNISHED STEEL | 36| 4 +Brand#15 |SMALL BURNISHED STEEL | 45| 4 +Brand#15 |SMALL BURNISHED STEEL | 49| 4 +Brand#15 |SMALL BURNISHED TIN | 36| 4 +Brand#15 |SMALL BURNISHED TIN | 49| 4 +Brand#15 |SMALL PLATED BRASS | 3| 4 +Brand#15 |SMALL PLATED BRASS | 9| 4 +Brand#15 |SMALL PLATED BRASS | 14| 4 +Brand#15 |SMALL PLATED NICKEL | 14| 4 +Brand#15 |SMALL PLATED NICKEL | 36| 4 +Brand#15 |SMALL PLATED NICKEL | 49| 4 +Brand#15 |SMALL PLATED TIN | 3| 4 +Brand#15 |SMALL PLATED TIN | 23| 4 +Brand#15 |SMALL PLATED TIN | 49| 4 +Brand#15 |SMALL POLISHED BRASS | 14| 4 +Brand#15 |SMALL POLISHED BRASS | 36| 4 +Brand#15 |SMALL POLISHED COPPER | 14| 4 +Brand#15 |SMALL POLISHED COPPER | 19| 4 +Brand#15 |SMALL POLISHED COPPER | 23| 4 +Brand#15 |SMALL POLISHED NICKEL | 3| 4 +Brand#15 |SMALL POLISHED NICKEL | 9| 4 +Brand#15 |SMALL POLISHED NICKEL | 36| 4 +Brand#15 |SMALL POLISHED NICKEL | 49| 4 +Brand#15 |SMALL POLISHED STEEL | 14| 4 +Brand#15 |SMALL POLISHED STEEL | 19| 4 +Brand#15 |SMALL POLISHED TIN | 14| 4 +Brand#15 |SMALL POLISHED TIN | 23| 4 +Brand#15 |STANDARD ANODIZED BRASS | 3| 4 +Brand#15 |STANDARD ANODIZED BRASS | 36| 4 +Brand#15 |STANDARD ANODIZED BRASS | 49| 4 +Brand#15 |STANDARD ANODIZED COPPER | 9| 4 +Brand#15 |STANDARD ANODIZED COPPER | 19| 4 +Brand#15 |STANDARD ANODIZED COPPER | 49| 4 +Brand#15 |STANDARD ANODIZED NICKEL | 14| 4 +Brand#15 |STANDARD ANODIZED NICKEL | 19| 4 +Brand#15 |STANDARD ANODIZED NICKEL | 49| 4 +Brand#15 |STANDARD ANODIZED STEEL | 23| 4 +Brand#15 |STANDARD ANODIZED STEEL | 49| 4 +Brand#15 |STANDARD ANODIZED TIN | 9| 4 +Brand#15 |STANDARD ANODIZED TIN | 14| 4 +Brand#15 |STANDARD ANODIZED TIN | 23| 4 +Brand#15 |STANDARD ANODIZED TIN | 49| 4 +Brand#15 |STANDARD BRUSHED BRASS | 9| 4 +Brand#15 |STANDARD BRUSHED BRASS | 14| 4 +Brand#15 |STANDARD BRUSHED BRASS | 23| 4 +Brand#15 |STANDARD BRUSHED COPPER | 3| 4 +Brand#15 |STANDARD BRUSHED COPPER | 19| 4 +Brand#15 |STANDARD BRUSHED COPPER | 36| 4 +Brand#15 |STANDARD BRUSHED NICKEL | 36| 4 +Brand#15 |STANDARD BRUSHED NICKEL | 45| 4 +Brand#15 |STANDARD BRUSHED NICKEL | 49| 4 +Brand#15 |STANDARD BRUSHED STEEL | 3| 4 +Brand#15 |STANDARD BRUSHED STEEL | 23| 4 +Brand#15 |STANDARD BRUSHED STEEL | 36| 4 +Brand#15 |STANDARD BRUSHED STEEL | 45| 4 +Brand#15 |STANDARD BRUSHED TIN | 3| 4 +Brand#15 |STANDARD BRUSHED TIN | 9| 4 +Brand#15 |STANDARD BRUSHED TIN | 14| 4 +Brand#15 |STANDARD BRUSHED TIN | 19| 4 +Brand#15 |STANDARD BRUSHED TIN | 36| 4 +Brand#15 |STANDARD BRUSHED TIN | 49| 4 +Brand#15 |STANDARD BURNISHED BRASS | 14| 4 +Brand#15 |STANDARD BURNISHED BRASS | 36| 4 +Brand#15 |STANDARD BURNISHED COPPER| 3| 4 +Brand#15 |STANDARD BURNISHED COPPER| 9| 4 +Brand#15 |STANDARD BURNISHED COPPER| 23| 4 +Brand#15 |STANDARD BURNISHED NICKEL| 3| 4 +Brand#15 |STANDARD BURNISHED NICKEL| 19| 4 +Brand#15 |STANDARD BURNISHED STEEL | 3| 4 +Brand#15 |STANDARD BURNISHED STEEL | 9| 4 +Brand#15 |STANDARD BURNISHED STEEL | 14| 4 +Brand#15 |STANDARD BURNISHED STEEL | 36| 4 +Brand#15 |STANDARD BURNISHED STEEL | 49| 4 +Brand#15 |STANDARD BURNISHED TIN | 19| 4 +Brand#15 |STANDARD BURNISHED TIN | 23| 4 +Brand#15 |STANDARD BURNISHED TIN | 36| 4 +Brand#15 |STANDARD PLATED BRASS | 19| 4 +Brand#15 |STANDARD PLATED BRASS | 49| 4 +Brand#15 |STANDARD PLATED COPPER | 3| 4 +Brand#15 |STANDARD PLATED COPPER | 19| 4 +Brand#15 |STANDARD PLATED COPPER | 23| 4 +Brand#15 |STANDARD PLATED NICKEL | 19| 4 +Brand#15 |STANDARD PLATED NICKEL | 36| 4 +Brand#15 |STANDARD PLATED NICKEL | 45| 4 +Brand#15 |STANDARD PLATED STEEL | 9| 4 +Brand#15 |STANDARD PLATED STEEL | 45| 4 +Brand#15 |STANDARD PLATED TIN | 19| 4 +Brand#15 |STANDARD PLATED TIN | 49| 4 +Brand#15 |STANDARD POLISHED BRASS | 36| 4 +Brand#15 |STANDARD POLISHED BRASS | 49| 4 +Brand#15 |STANDARD POLISHED COPPER | 14| 4 +Brand#15 |STANDARD POLISHED COPPER | 19| 4 +Brand#15 |STANDARD POLISHED COPPER | 45| 4 +Brand#15 |STANDARD POLISHED COPPER | 49| 4 +Brand#15 |STANDARD POLISHED NICKEL | 9| 4 +Brand#15 |STANDARD POLISHED NICKEL | 19| 4 +Brand#15 |STANDARD POLISHED NICKEL | 49| 4 +Brand#15 |STANDARD POLISHED STEEL | 9| 4 +Brand#15 |STANDARD POLISHED STEEL | 14| 4 +Brand#15 |STANDARD POLISHED STEEL | 19| 4 +Brand#15 |STANDARD POLISHED STEEL | 36| 4 +Brand#15 |STANDARD POLISHED STEEL | 45| 4 +Brand#15 |STANDARD POLISHED TIN | 9| 4 +Brand#15 |STANDARD POLISHED TIN | 19| 4 +Brand#15 |STANDARD POLISHED TIN | 45| 4 +Brand#21 |ECONOMY ANODIZED BRASS | 3| 4 +Brand#21 |ECONOMY ANODIZED BRASS | 9| 4 +Brand#21 |ECONOMY ANODIZED BRASS | 19| 4 +Brand#21 |ECONOMY ANODIZED COPPER | 9| 4 +Brand#21 |ECONOMY ANODIZED COPPER | 23| 4 +Brand#21 |ECONOMY ANODIZED NICKEL | 3| 4 +Brand#21 |ECONOMY ANODIZED NICKEL | 19| 4 +Brand#21 |ECONOMY ANODIZED NICKEL | 49| 4 +Brand#21 |ECONOMY ANODIZED STEEL | 9| 4 +Brand#21 |ECONOMY ANODIZED STEEL | 14| 4 +Brand#21 |ECONOMY ANODIZED STEEL | 23| 4 +Brand#21 |ECONOMY ANODIZED TIN | 14| 4 +Brand#21 |ECONOMY ANODIZED TIN | 19| 4 +Brand#21 |ECONOMY ANODIZED TIN | 23| 4 +Brand#21 |ECONOMY ANODIZED TIN | 45| 4 +Brand#21 |ECONOMY ANODIZED TIN | 49| 4 +Brand#21 |ECONOMY BRUSHED BRASS | 9| 4 +Brand#21 |ECONOMY BRUSHED BRASS | 23| 4 +Brand#21 |ECONOMY BRUSHED BRASS | 45| 4 +Brand#21 |ECONOMY BRUSHED BRASS | 49| 4 +Brand#21 |ECONOMY BRUSHED COPPER | 3| 4 +Brand#21 |ECONOMY BRUSHED COPPER | 23| 4 +Brand#21 |ECONOMY BRUSHED COPPER | 36| 4 +Brand#21 |ECONOMY BRUSHED COPPER | 49| 4 +Brand#21 |ECONOMY BRUSHED NICKEL | 3| 4 +Brand#21 |ECONOMY BRUSHED NICKEL | 45| 4 +Brand#21 |ECONOMY BRUSHED NICKEL | 49| 4 +Brand#21 |ECONOMY BRUSHED STEEL | 9| 4 +Brand#21 |ECONOMY BRUSHED STEEL | 14| 4 +Brand#21 |ECONOMY BRUSHED STEEL | 19| 4 +Brand#21 |ECONOMY BRUSHED STEEL | 23| 4 +Brand#21 |ECONOMY BRUSHED STEEL | 36| 4 +Brand#21 |ECONOMY BRUSHED TIN | 3| 4 +Brand#21 |ECONOMY BRUSHED TIN | 45| 4 +Brand#21 |ECONOMY BRUSHED TIN | 49| 4 +Brand#21 |ECONOMY BURNISHED BRASS | 23| 4 +Brand#21 |ECONOMY BURNISHED COPPER | 9| 4 +Brand#21 |ECONOMY BURNISHED COPPER | 14| 4 +Brand#21 |ECONOMY BURNISHED COPPER | 36| 4 +Brand#21 |ECONOMY BURNISHED NICKEL | 14| 4 +Brand#21 |ECONOMY BURNISHED NICKEL | 19| 4 +Brand#21 |ECONOMY BURNISHED NICKEL | 23| 4 +Brand#21 |ECONOMY BURNISHED NICKEL | 36| 4 +Brand#21 |ECONOMY BURNISHED STEEL | 3| 4 +Brand#21 |ECONOMY BURNISHED STEEL | 19| 4 +Brand#21 |ECONOMY BURNISHED STEEL | 49| 4 +Brand#21 |ECONOMY BURNISHED TIN | 23| 4 +Brand#21 |ECONOMY BURNISHED TIN | 36| 4 +Brand#21 |ECONOMY PLATED BRASS | 14| 4 +Brand#21 |ECONOMY PLATED BRASS | 19| 4 +Brand#21 |ECONOMY PLATED BRASS | 36| 4 +Brand#21 |ECONOMY PLATED BRASS | 45| 4 +Brand#21 |ECONOMY PLATED COPPER | 9| 4 +Brand#21 |ECONOMY PLATED COPPER | 19| 4 +Brand#21 |ECONOMY PLATED COPPER | 23| 4 +Brand#21 |ECONOMY PLATED NICKEL | 9| 4 +Brand#21 |ECONOMY PLATED NICKEL | 14| 4 +Brand#21 |ECONOMY PLATED NICKEL | 19| 4 +Brand#21 |ECONOMY PLATED STEEL | 36| 4 +Brand#21 |ECONOMY PLATED STEEL | 49| 4 +Brand#21 |ECONOMY PLATED TIN | 9| 4 +Brand#21 |ECONOMY PLATED TIN | 14| 4 +Brand#21 |ECONOMY PLATED TIN | 45| 4 +Brand#21 |ECONOMY PLATED TIN | 49| 4 +Brand#21 |ECONOMY POLISHED BRASS | 3| 4 +Brand#21 |ECONOMY POLISHED BRASS | 19| 4 +Brand#21 |ECONOMY POLISHED BRASS | 36| 4 +Brand#21 |ECONOMY POLISHED BRASS | 45| 4 +Brand#21 |ECONOMY POLISHED COPPER | 45| 4 +Brand#21 |ECONOMY POLISHED COPPER | 49| 4 +Brand#21 |ECONOMY POLISHED NICKEL | 9| 4 +Brand#21 |ECONOMY POLISHED NICKEL | 23| 4 +Brand#21 |ECONOMY POLISHED STEEL | 3| 4 +Brand#21 |ECONOMY POLISHED STEEL | 9| 4 +Brand#21 |ECONOMY POLISHED TIN | 14| 4 +Brand#21 |ECONOMY POLISHED TIN | 36| 4 +Brand#21 |LARGE ANODIZED BRASS | 36| 4 +Brand#21 |LARGE ANODIZED BRASS | 49| 4 +Brand#21 |LARGE ANODIZED COPPER | 9| 4 +Brand#21 |LARGE ANODIZED COPPER | 14| 4 +Brand#21 |LARGE ANODIZED COPPER | 23| 4 +Brand#21 |LARGE ANODIZED COPPER | 45| 4 +Brand#21 |LARGE ANODIZED COPPER | 49| 4 +Brand#21 |LARGE ANODIZED NICKEL | 23| 4 +Brand#21 |LARGE ANODIZED STEEL | 19| 4 +Brand#21 |LARGE ANODIZED TIN | 9| 4 +Brand#21 |LARGE ANODIZED TIN | 23| 4 +Brand#21 |LARGE ANODIZED TIN | 36| 4 +Brand#21 |LARGE BRUSHED BRASS | 3| 4 +Brand#21 |LARGE BRUSHED BRASS | 14| 4 +Brand#21 |LARGE BRUSHED BRASS | 36| 4 +Brand#21 |LARGE BRUSHED COPPER | 14| 4 +Brand#21 |LARGE BRUSHED COPPER | 45| 4 +Brand#21 |LARGE BRUSHED NICKEL | 9| 4 +Brand#21 |LARGE BRUSHED NICKEL | 19| 4 +Brand#21 |LARGE BRUSHED NICKEL | 49| 4 +Brand#21 |LARGE BRUSHED STEEL | 3| 4 +Brand#21 |LARGE BRUSHED STEEL | 19| 4 +Brand#21 |LARGE BRUSHED STEEL | 36| 4 +Brand#21 |LARGE BURNISHED BRASS | 3| 4 +Brand#21 |LARGE BURNISHED BRASS | 9| 4 +Brand#21 |LARGE BURNISHED BRASS | 23| 4 +Brand#21 |LARGE BURNISHED BRASS | 49| 4 +Brand#21 |LARGE BURNISHED COPPER | 36| 4 +Brand#21 |LARGE BURNISHED COPPER | 45| 4 +Brand#21 |LARGE BURNISHED COPPER | 49| 4 +Brand#21 |LARGE BURNISHED NICKEL | 19| 4 +Brand#21 |LARGE BURNISHED NICKEL | 23| 4 +Brand#21 |LARGE BURNISHED NICKEL | 45| 4 +Brand#21 |LARGE BURNISHED NICKEL | 49| 4 +Brand#21 |LARGE BURNISHED STEEL | 9| 4 +Brand#21 |LARGE BURNISHED STEEL | 23| 4 +Brand#21 |LARGE BURNISHED TIN | 19| 4 +Brand#21 |LARGE BURNISHED TIN | 36| 4 +Brand#21 |LARGE PLATED BRASS | 3| 4 +Brand#21 |LARGE PLATED BRASS | 49| 4 +Brand#21 |LARGE PLATED NICKEL | 3| 4 +Brand#21 |LARGE PLATED NICKEL | 14| 4 +Brand#21 |LARGE PLATED NICKEL | 19| 4 +Brand#21 |LARGE PLATED NICKEL | 36| 4 +Brand#21 |LARGE PLATED NICKEL | 49| 4 +Brand#21 |LARGE PLATED STEEL | 9| 4 +Brand#21 |LARGE PLATED STEEL | 23| 4 +Brand#21 |LARGE PLATED TIN | 19| 4 +Brand#21 |LARGE POLISHED BRASS | 3| 4 +Brand#21 |LARGE POLISHED BRASS | 9| 4 +Brand#21 |LARGE POLISHED BRASS | 45| 4 +Brand#21 |LARGE POLISHED COPPER | 3| 4 +Brand#21 |LARGE POLISHED COPPER | 36| 4 +Brand#21 |LARGE POLISHED COPPER | 45| 4 +Brand#21 |LARGE POLISHED NICKEL | 9| 4 +Brand#21 |LARGE POLISHED NICKEL | 14| 4 +Brand#21 |LARGE POLISHED NICKEL | 19| 4 +Brand#21 |LARGE POLISHED STEEL | 14| 4 +Brand#21 |LARGE POLISHED STEEL | 19| 4 +Brand#21 |LARGE POLISHED STEEL | 36| 4 +Brand#21 |LARGE POLISHED STEEL | 49| 4 +Brand#21 |LARGE POLISHED TIN | 9| 4 +Brand#21 |LARGE POLISHED TIN | 14| 4 +Brand#21 |LARGE POLISHED TIN | 23| 4 +Brand#21 |LARGE POLISHED TIN | 49| 4 +Brand#21 |MEDIUM ANODIZED BRASS | 19| 4 +Brand#21 |MEDIUM ANODIZED BRASS | 45| 4 +Brand#21 |MEDIUM ANODIZED COPPER | 36| 4 +Brand#21 |MEDIUM ANODIZED COPPER | 49| 4 +Brand#21 |MEDIUM ANODIZED NICKEL | 9| 4 +Brand#21 |MEDIUM ANODIZED NICKEL | 19| 4 +Brand#21 |MEDIUM ANODIZED NICKEL | 49| 4 +Brand#21 |MEDIUM ANODIZED STEEL | 3| 4 +Brand#21 |MEDIUM ANODIZED STEEL | 9| 4 +Brand#21 |MEDIUM ANODIZED STEEL | 19| 4 +Brand#21 |MEDIUM ANODIZED STEEL | 23| 4 +Brand#21 |MEDIUM ANODIZED STEEL | 49| 4 +Brand#21 |MEDIUM ANODIZED TIN | 3| 4 +Brand#21 |MEDIUM ANODIZED TIN | 19| 4 +Brand#21 |MEDIUM ANODIZED TIN | 36| 4 +Brand#21 |MEDIUM BRUSHED BRASS | 36| 4 +Brand#21 |MEDIUM BRUSHED COPPER | 9| 4 +Brand#21 |MEDIUM BRUSHED COPPER | 36| 4 +Brand#21 |MEDIUM BRUSHED COPPER | 49| 4 +Brand#21 |MEDIUM BRUSHED NICKEL | 3| 4 +Brand#21 |MEDIUM BRUSHED NICKEL | 9| 4 +Brand#21 |MEDIUM BRUSHED NICKEL | 23| 4 +Brand#21 |MEDIUM BRUSHED NICKEL | 36| 4 +Brand#21 |MEDIUM BRUSHED NICKEL | 45| 4 +Brand#21 |MEDIUM BRUSHED STEEL | 3| 4 +Brand#21 |MEDIUM BRUSHED STEEL | 9| 4 +Brand#21 |MEDIUM BRUSHED STEEL | 14| 4 +Brand#21 |MEDIUM BRUSHED STEEL | 36| 4 +Brand#21 |MEDIUM BRUSHED STEEL | 49| 4 +Brand#21 |MEDIUM BRUSHED TIN | 3| 4 +Brand#21 |MEDIUM BRUSHED TIN | 14| 4 +Brand#21 |MEDIUM BRUSHED TIN | 49| 4 +Brand#21 |MEDIUM BURNISHED BRASS | 23| 4 +Brand#21 |MEDIUM BURNISHED BRASS | 45| 4 +Brand#21 |MEDIUM BURNISHED COPPER | 3| 4 +Brand#21 |MEDIUM BURNISHED COPPER | 9| 4 +Brand#21 |MEDIUM BURNISHED COPPER | 14| 4 +Brand#21 |MEDIUM BURNISHED COPPER | 45| 4 +Brand#21 |MEDIUM BURNISHED NICKEL | 3| 4 +Brand#21 |MEDIUM BURNISHED NICKEL | 19| 4 +Brand#21 |MEDIUM BURNISHED NICKEL | 45| 4 +Brand#21 |MEDIUM BURNISHED NICKEL | 49| 4 +Brand#21 |MEDIUM BURNISHED STEEL | 49| 4 +Brand#21 |MEDIUM BURNISHED TIN | 3| 4 +Brand#21 |MEDIUM BURNISHED TIN | 19| 4 +Brand#21 |MEDIUM BURNISHED TIN | 23| 4 +Brand#21 |MEDIUM BURNISHED TIN | 36| 4 +Brand#21 |MEDIUM PLATED BRASS | 3| 4 +Brand#21 |MEDIUM PLATED BRASS | 19| 4 +Brand#21 |MEDIUM PLATED BRASS | 23| 4 +Brand#21 |MEDIUM PLATED BRASS | 49| 4 +Brand#21 |MEDIUM PLATED COPPER | 3| 4 +Brand#21 |MEDIUM PLATED COPPER | 19| 4 +Brand#21 |MEDIUM PLATED COPPER | 36| 4 +Brand#21 |MEDIUM PLATED COPPER | 45| 4 +Brand#21 |MEDIUM PLATED NICKEL | 3| 4 +Brand#21 |MEDIUM PLATED NICKEL | 9| 4 +Brand#21 |MEDIUM PLATED NICKEL | 14| 4 +Brand#21 |MEDIUM PLATED NICKEL | 45| 4 +Brand#21 |MEDIUM PLATED NICKEL | 49| 4 +Brand#21 |MEDIUM PLATED TIN | 19| 4 +Brand#21 |MEDIUM PLATED TIN | 45| 4 +Brand#21 |MEDIUM PLATED TIN | 49| 4 +Brand#21 |PROMO ANODIZED BRASS | 3| 4 +Brand#21 |PROMO ANODIZED BRASS | 23| 4 +Brand#21 |PROMO ANODIZED BRASS | 45| 4 +Brand#21 |PROMO ANODIZED BRASS | 49| 4 +Brand#21 |PROMO ANODIZED COPPER | 3| 4 +Brand#21 |PROMO ANODIZED COPPER | 19| 4 +Brand#21 |PROMO ANODIZED COPPER | 49| 4 +Brand#21 |PROMO ANODIZED NICKEL | 36| 4 +Brand#21 |PROMO ANODIZED NICKEL | 45| 4 +Brand#21 |PROMO ANODIZED STEEL | 14| 4 +Brand#21 |PROMO ANODIZED STEEL | 23| 4 +Brand#21 |PROMO ANODIZED TIN | 3| 4 +Brand#21 |PROMO ANODIZED TIN | 9| 4 +Brand#21 |PROMO ANODIZED TIN | 36| 4 +Brand#21 |PROMO ANODIZED TIN | 49| 4 +Brand#21 |PROMO BRUSHED BRASS | 9| 4 +Brand#21 |PROMO BRUSHED BRASS | 14| 4 +Brand#21 |PROMO BRUSHED BRASS | 36| 4 +Brand#21 |PROMO BRUSHED COPPER | 9| 4 +Brand#21 |PROMO BRUSHED COPPER | 14| 4 +Brand#21 |PROMO BRUSHED COPPER | 19| 4 +Brand#21 |PROMO BRUSHED COPPER | 23| 4 +Brand#21 |PROMO BRUSHED NICKEL | 3| 4 +Brand#21 |PROMO BRUSHED NICKEL | 14| 4 +Brand#21 |PROMO BRUSHED NICKEL | 23| 4 +Brand#21 |PROMO BRUSHED STEEL | 9| 4 +Brand#21 |PROMO BRUSHED STEEL | 49| 4 +Brand#21 |PROMO BRUSHED TIN | 49| 4 +Brand#21 |PROMO BURNISHED BRASS | 3| 4 +Brand#21 |PROMO BURNISHED BRASS | 14| 4 +Brand#21 |PROMO BURNISHED BRASS | 36| 4 +Brand#21 |PROMO BURNISHED COPPER | 14| 4 +Brand#21 |PROMO BURNISHED COPPER | 19| 4 +Brand#21 |PROMO BURNISHED COPPER | 23| 4 +Brand#21 |PROMO BURNISHED COPPER | 36| 4 +Brand#21 |PROMO BURNISHED COPPER | 45| 4 +Brand#21 |PROMO BURNISHED NICKEL | 9| 4 +Brand#21 |PROMO BURNISHED NICKEL | 14| 4 +Brand#21 |PROMO BURNISHED NICKEL | 45| 4 +Brand#21 |PROMO BURNISHED NICKEL | 49| 4 +Brand#21 |PROMO BURNISHED STEEL | 3| 4 +Brand#21 |PROMO BURNISHED STEEL | 19| 4 +Brand#21 |PROMO BURNISHED TIN | 3| 4 +Brand#21 |PROMO BURNISHED TIN | 9| 4 +Brand#21 |PROMO BURNISHED TIN | 14| 4 +Brand#21 |PROMO BURNISHED TIN | 19| 4 +Brand#21 |PROMO BURNISHED TIN | 23| 4 +Brand#21 |PROMO PLATED BRASS | 9| 4 +Brand#21 |PROMO PLATED BRASS | 45| 4 +Brand#21 |PROMO PLATED COPPER | 36| 4 +Brand#21 |PROMO PLATED COPPER | 45| 4 +Brand#21 |PROMO PLATED NICKEL | 9| 4 +Brand#21 |PROMO PLATED NICKEL | 36| 4 +Brand#21 |PROMO PLATED STEEL | 19| 4 +Brand#21 |PROMO PLATED STEEL | 45| 4 +Brand#21 |PROMO PLATED TIN | 9| 4 +Brand#21 |PROMO PLATED TIN | 19| 4 +Brand#21 |PROMO PLATED TIN | 49| 4 +Brand#21 |PROMO POLISHED BRASS | 36| 4 +Brand#21 |PROMO POLISHED BRASS | 49| 4 +Brand#21 |PROMO POLISHED COPPER | 23| 4 +Brand#21 |PROMO POLISHED COPPER | 49| 4 +Brand#21 |PROMO POLISHED NICKEL | 3| 4 +Brand#21 |PROMO POLISHED NICKEL | 9| 4 +Brand#21 |PROMO POLISHED NICKEL | 19| 4 +Brand#21 |PROMO POLISHED NICKEL | 49| 4 +Brand#21 |PROMO POLISHED TIN | 3| 4 +Brand#21 |PROMO POLISHED TIN | 23| 4 +Brand#21 |PROMO POLISHED TIN | 36| 4 +Brand#21 |SMALL ANODIZED BRASS | 9| 4 +Brand#21 |SMALL ANODIZED BRASS | 14| 4 +Brand#21 |SMALL ANODIZED BRASS | 36| 4 +Brand#21 |SMALL ANODIZED BRASS | 49| 4 +Brand#21 |SMALL ANODIZED COPPER | 3| 4 +Brand#21 |SMALL ANODIZED COPPER | 14| 4 +Brand#21 |SMALL ANODIZED COPPER | 23| 4 +Brand#21 |SMALL ANODIZED COPPER | 36| 4 +Brand#21 |SMALL ANODIZED STEEL | 9| 4 +Brand#21 |SMALL ANODIZED STEEL | 19| 4 +Brand#21 |SMALL ANODIZED TIN | 3| 4 +Brand#21 |SMALL ANODIZED TIN | 45| 4 +Brand#21 |SMALL BRUSHED BRASS | 3| 4 +Brand#21 |SMALL BRUSHED BRASS | 9| 4 +Brand#21 |SMALL BRUSHED BRASS | 23| 4 +Brand#21 |SMALL BRUSHED BRASS | 49| 4 +Brand#21 |SMALL BRUSHED COPPER | 19| 4 +Brand#21 |SMALL BRUSHED COPPER | 23| 4 +Brand#21 |SMALL BRUSHED COPPER | 49| 4 +Brand#21 |SMALL BRUSHED NICKEL | 3| 4 +Brand#21 |SMALL BRUSHED NICKEL | 49| 4 +Brand#21 |SMALL BRUSHED STEEL | 19| 4 +Brand#21 |SMALL BRUSHED STEEL | 23| 4 +Brand#21 |SMALL BRUSHED STEEL | 45| 4 +Brand#21 |SMALL BRUSHED STEEL | 49| 4 +Brand#21 |SMALL BRUSHED TIN | 36| 4 +Brand#21 |SMALL BRUSHED TIN | 49| 4 +Brand#21 |SMALL BURNISHED BRASS | 3| 4 +Brand#21 |SMALL BURNISHED BRASS | 9| 4 +Brand#21 |SMALL BURNISHED BRASS | 19| 4 +Brand#21 |SMALL BURNISHED BRASS | 23| 4 +Brand#21 |SMALL BURNISHED BRASS | 45| 4 +Brand#21 |SMALL BURNISHED COPPER | 9| 4 +Brand#21 |SMALL BURNISHED COPPER | 23| 4 +Brand#21 |SMALL BURNISHED NICKEL | 3| 4 +Brand#21 |SMALL BURNISHED NICKEL | 19| 4 +Brand#21 |SMALL BURNISHED NICKEL | 23| 4 +Brand#21 |SMALL BURNISHED STEEL | 3| 4 +Brand#21 |SMALL BURNISHED STEEL | 14| 4 +Brand#21 |SMALL BURNISHED STEEL | 19| 4 +Brand#21 |SMALL BURNISHED STEEL | 36| 4 +Brand#21 |SMALL BURNISHED STEEL | 45| 4 +Brand#21 |SMALL BURNISHED TIN | 14| 4 +Brand#21 |SMALL BURNISHED TIN | 19| 4 +Brand#21 |SMALL BURNISHED TIN | 36| 4 +Brand#21 |SMALL BURNISHED TIN | 45| 4 +Brand#21 |SMALL BURNISHED TIN | 49| 4 +Brand#21 |SMALL PLATED BRASS | 19| 4 +Brand#21 |SMALL PLATED BRASS | 45| 4 +Brand#21 |SMALL PLATED BRASS | 49| 4 +Brand#21 |SMALL PLATED COPPER | 19| 4 +Brand#21 |SMALL PLATED COPPER | 49| 4 +Brand#21 |SMALL PLATED NICKEL | 19| 4 +Brand#21 |SMALL PLATED NICKEL | 49| 4 +Brand#21 |SMALL PLATED STEEL | 14| 4 +Brand#21 |SMALL PLATED STEEL | 36| 4 +Brand#21 |SMALL PLATED TIN | 3| 4 +Brand#21 |SMALL PLATED TIN | 9| 4 +Brand#21 |SMALL PLATED TIN | 14| 4 +Brand#21 |SMALL PLATED TIN | 23| 4 +Brand#21 |SMALL POLISHED BRASS | 3| 4 +Brand#21 |SMALL POLISHED BRASS | 9| 4 +Brand#21 |SMALL POLISHED BRASS | 23| 4 +Brand#21 |SMALL POLISHED BRASS | 45| 4 +Brand#21 |SMALL POLISHED COPPER | 3| 4 +Brand#21 |SMALL POLISHED COPPER | 9| 4 +Brand#21 |SMALL POLISHED COPPER | 19| 4 +Brand#21 |SMALL POLISHED COPPER | 45| 4 +Brand#21 |SMALL POLISHED NICKEL | 3| 4 +Brand#21 |SMALL POLISHED NICKEL | 14| 4 +Brand#21 |SMALL POLISHED NICKEL | 45| 4 +Brand#21 |SMALL POLISHED STEEL | 14| 4 +Brand#21 |SMALL POLISHED STEEL | 19| 4 +Brand#21 |SMALL POLISHED STEEL | 49| 4 +Brand#21 |SMALL POLISHED TIN | 3| 4 +Brand#21 |SMALL POLISHED TIN | 9| 4 +Brand#21 |SMALL POLISHED TIN | 23| 4 +Brand#21 |SMALL POLISHED TIN | 36| 4 +Brand#21 |SMALL POLISHED TIN | 45| 4 +Brand#21 |SMALL POLISHED TIN | 49| 4 +Brand#21 |STANDARD ANODIZED BRASS | 9| 4 +Brand#21 |STANDARD ANODIZED BRASS | 14| 4 +Brand#21 |STANDARD ANODIZED BRASS | 49| 4 +Brand#21 |STANDARD ANODIZED COPPER | 9| 4 +Brand#21 |STANDARD ANODIZED COPPER | 19| 4 +Brand#21 |STANDARD ANODIZED COPPER | 49| 4 +Brand#21 |STANDARD ANODIZED NICKEL | 14| 4 +Brand#21 |STANDARD ANODIZED NICKEL | 23| 4 +Brand#21 |STANDARD ANODIZED STEEL | 9| 4 +Brand#21 |STANDARD ANODIZED STEEL | 14| 4 +Brand#21 |STANDARD ANODIZED STEEL | 45| 4 +Brand#21 |STANDARD ANODIZED TIN | 14| 4 +Brand#21 |STANDARD ANODIZED TIN | 19| 4 +Brand#21 |STANDARD ANODIZED TIN | 23| 4 +Brand#21 |STANDARD ANODIZED TIN | 45| 4 +Brand#21 |STANDARD BRUSHED BRASS | 3| 4 +Brand#21 |STANDARD BRUSHED BRASS | 23| 4 +Brand#21 |STANDARD BRUSHED COPPER | 9| 4 +Brand#21 |STANDARD BRUSHED COPPER | 14| 4 +Brand#21 |STANDARD BRUSHED COPPER | 19| 4 +Brand#21 |STANDARD BRUSHED COPPER | 45| 4 +Brand#21 |STANDARD BRUSHED COPPER | 49| 4 +Brand#21 |STANDARD BRUSHED NICKEL | 3| 4 +Brand#21 |STANDARD BRUSHED NICKEL | 9| 4 +Brand#21 |STANDARD BRUSHED NICKEL | 36| 4 +Brand#21 |STANDARD BRUSHED NICKEL | 49| 4 +Brand#21 |STANDARD BRUSHED TIN | 3| 4 +Brand#21 |STANDARD BRUSHED TIN | 9| 4 +Brand#21 |STANDARD BRUSHED TIN | 14| 4 +Brand#21 |STANDARD BRUSHED TIN | 19| 4 +Brand#21 |STANDARD BRUSHED TIN | 49| 4 +Brand#21 |STANDARD BURNISHED BRASS | 9| 4 +Brand#21 |STANDARD BURNISHED BRASS | 23| 4 +Brand#21 |STANDARD BURNISHED COPPER| 23| 4 +Brand#21 |STANDARD BURNISHED COPPER| 36| 4 +Brand#21 |STANDARD BURNISHED COPPER| 45| 4 +Brand#21 |STANDARD BURNISHED COPPER| 49| 4 +Brand#21 |STANDARD BURNISHED NICKEL| 14| 4 +Brand#21 |STANDARD BURNISHED NICKEL| 19| 4 +Brand#21 |STANDARD BURNISHED NICKEL| 49| 4 +Brand#21 |STANDARD BURNISHED STEEL | 9| 4 +Brand#21 |STANDARD BURNISHED STEEL | 23| 4 +Brand#21 |STANDARD BURNISHED TIN | 3| 4 +Brand#21 |STANDARD BURNISHED TIN | 9| 4 +Brand#21 |STANDARD PLATED BRASS | 3| 4 +Brand#21 |STANDARD PLATED BRASS | 9| 4 +Brand#21 |STANDARD PLATED BRASS | 45| 4 +Brand#21 |STANDARD PLATED COPPER | 9| 4 +Brand#21 |STANDARD PLATED NICKEL | 9| 4 +Brand#21 |STANDARD PLATED NICKEL | 14| 4 +Brand#21 |STANDARD PLATED NICKEL | 23| 4 +Brand#21 |STANDARD PLATED STEEL | 3| 4 +Brand#21 |STANDARD PLATED STEEL | 9| 4 +Brand#21 |STANDARD PLATED STEEL | 19| 4 +Brand#21 |STANDARD PLATED STEEL | 23| 4 +Brand#21 |STANDARD PLATED STEEL | 45| 4 +Brand#21 |STANDARD PLATED TIN | 19| 4 +Brand#21 |STANDARD PLATED TIN | 23| 4 +Brand#21 |STANDARD PLATED TIN | 36| 4 +Brand#21 |STANDARD POLISHED BRASS | 3| 4 +Brand#21 |STANDARD POLISHED BRASS | 23| 4 +Brand#21 |STANDARD POLISHED BRASS | 36| 4 +Brand#21 |STANDARD POLISHED COPPER | 3| 4 +Brand#21 |STANDARD POLISHED COPPER | 36| 4 +Brand#21 |STANDARD POLISHED NICKEL | 3| 4 +Brand#21 |STANDARD POLISHED NICKEL | 36| 4 +Brand#21 |STANDARD POLISHED NICKEL | 45| 4 +Brand#21 |STANDARD POLISHED NICKEL | 49| 4 +Brand#21 |STANDARD POLISHED STEEL | 9| 4 +Brand#21 |STANDARD POLISHED STEEL | 23| 4 +Brand#21 |STANDARD POLISHED STEEL | 45| 4 +Brand#21 |STANDARD POLISHED STEEL | 49| 4 +Brand#21 |STANDARD POLISHED TIN | 3| 4 +Brand#21 |STANDARD POLISHED TIN | 19| 4 +Brand#21 |STANDARD POLISHED TIN | 23| 4 +Brand#21 |STANDARD POLISHED TIN | 45| 4 +Brand#21 |STANDARD POLISHED TIN | 49| 4 +Brand#22 |ECONOMY ANODIZED BRASS | 14| 4 +Brand#22 |ECONOMY ANODIZED BRASS | 23| 4 +Brand#22 |ECONOMY ANODIZED BRASS | 45| 4 +Brand#22 |ECONOMY ANODIZED BRASS | 49| 4 +Brand#22 |ECONOMY ANODIZED COPPER | 3| 4 +Brand#22 |ECONOMY ANODIZED COPPER | 9| 4 +Brand#22 |ECONOMY ANODIZED COPPER | 19| 4 +Brand#22 |ECONOMY ANODIZED NICKEL | 9| 4 +Brand#22 |ECONOMY ANODIZED NICKEL | 14| 4 +Brand#22 |ECONOMY ANODIZED NICKEL | 49| 4 +Brand#22 |ECONOMY ANODIZED STEEL | 3| 4 +Brand#22 |ECONOMY ANODIZED STEEL | 9| 4 +Brand#22 |ECONOMY ANODIZED STEEL | 14| 4 +Brand#22 |ECONOMY ANODIZED STEEL | 19| 4 +Brand#22 |ECONOMY ANODIZED STEEL | 36| 4 +Brand#22 |ECONOMY ANODIZED STEEL | 49| 4 +Brand#22 |ECONOMY ANODIZED TIN | 3| 4 +Brand#22 |ECONOMY ANODIZED TIN | 9| 4 +Brand#22 |ECONOMY ANODIZED TIN | 19| 4 +Brand#22 |ECONOMY BRUSHED BRASS | 3| 4 +Brand#22 |ECONOMY BRUSHED BRASS | 36| 4 +Brand#22 |ECONOMY BRUSHED COPPER | 14| 4 +Brand#22 |ECONOMY BRUSHED COPPER | 36| 4 +Brand#22 |ECONOMY BRUSHED COPPER | 45| 4 +Brand#22 |ECONOMY BRUSHED COPPER | 49| 4 +Brand#22 |ECONOMY BRUSHED NICKEL | 19| 4 +Brand#22 |ECONOMY BRUSHED NICKEL | 23| 4 +Brand#22 |ECONOMY BRUSHED NICKEL | 49| 4 +Brand#22 |ECONOMY BRUSHED STEEL | 9| 4 +Brand#22 |ECONOMY BRUSHED STEEL | 14| 4 +Brand#22 |ECONOMY BRUSHED STEEL | 23| 4 +Brand#22 |ECONOMY BRUSHED STEEL | 36| 4 +Brand#22 |ECONOMY BRUSHED TIN | 9| 4 +Brand#22 |ECONOMY BRUSHED TIN | 14| 4 +Brand#22 |ECONOMY BRUSHED TIN | 19| 4 +Brand#22 |ECONOMY BURNISHED BRASS | 3| 4 +Brand#22 |ECONOMY BURNISHED BRASS | 9| 4 +Brand#22 |ECONOMY BURNISHED BRASS | 49| 4 +Brand#22 |ECONOMY BURNISHED COPPER | 19| 4 +Brand#22 |ECONOMY BURNISHED COPPER | 23| 4 +Brand#22 |ECONOMY BURNISHED COPPER | 36| 4 +Brand#22 |ECONOMY BURNISHED NICKEL | 19| 4 +Brand#22 |ECONOMY BURNISHED NICKEL | 45| 4 +Brand#22 |ECONOMY BURNISHED STEEL | 3| 4 +Brand#22 |ECONOMY BURNISHED STEEL | 14| 4 +Brand#22 |ECONOMY BURNISHED TIN | 3| 4 +Brand#22 |ECONOMY BURNISHED TIN | 14| 4 +Brand#22 |ECONOMY BURNISHED TIN | 36| 4 +Brand#22 |ECONOMY BURNISHED TIN | 45| 4 +Brand#22 |ECONOMY BURNISHED TIN | 49| 4 +Brand#22 |ECONOMY PLATED BRASS | 9| 4 +Brand#22 |ECONOMY PLATED BRASS | 14| 4 +Brand#22 |ECONOMY PLATED BRASS | 23| 4 +Brand#22 |ECONOMY PLATED COPPER | 14| 4 +Brand#22 |ECONOMY PLATED COPPER | 23| 4 +Brand#22 |ECONOMY PLATED COPPER | 36| 4 +Brand#22 |ECONOMY PLATED COPPER | 45| 4 +Brand#22 |ECONOMY PLATED COPPER | 49| 4 +Brand#22 |ECONOMY PLATED NICKEL | 19| 4 +Brand#22 |ECONOMY PLATED NICKEL | 23| 4 +Brand#22 |ECONOMY PLATED STEEL | 9| 4 +Brand#22 |ECONOMY PLATED STEEL | 36| 4 +Brand#22 |ECONOMY PLATED STEEL | 49| 4 +Brand#22 |ECONOMY PLATED TIN | 3| 4 +Brand#22 |ECONOMY PLATED TIN | 14| 4 +Brand#22 |ECONOMY PLATED TIN | 23| 4 +Brand#22 |ECONOMY PLATED TIN | 36| 4 +Brand#22 |ECONOMY PLATED TIN | 45| 4 +Brand#22 |ECONOMY POLISHED BRASS | 3| 4 +Brand#22 |ECONOMY POLISHED BRASS | 9| 4 +Brand#22 |ECONOMY POLISHED BRASS | 14| 4 +Brand#22 |ECONOMY POLISHED BRASS | 19| 4 +Brand#22 |ECONOMY POLISHED BRASS | 49| 4 +Brand#22 |ECONOMY POLISHED COPPER | 3| 4 +Brand#22 |ECONOMY POLISHED COPPER | 36| 4 +Brand#22 |ECONOMY POLISHED NICKEL | 3| 4 +Brand#22 |ECONOMY POLISHED NICKEL | 14| 4 +Brand#22 |ECONOMY POLISHED NICKEL | 19| 4 +Brand#22 |ECONOMY POLISHED NICKEL | 23| 4 +Brand#22 |ECONOMY POLISHED NICKEL | 36| 4 +Brand#22 |ECONOMY POLISHED NICKEL | 49| 4 +Brand#22 |ECONOMY POLISHED STEEL | 3| 4 +Brand#22 |ECONOMY POLISHED TIN | 3| 4 +Brand#22 |ECONOMY POLISHED TIN | 23| 4 +Brand#22 |LARGE ANODIZED BRASS | 3| 4 +Brand#22 |LARGE ANODIZED BRASS | 9| 4 +Brand#22 |LARGE ANODIZED BRASS | 19| 4 +Brand#22 |LARGE ANODIZED BRASS | 23| 4 +Brand#22 |LARGE ANODIZED BRASS | 36| 4 +Brand#22 |LARGE ANODIZED BRASS | 45| 4 +Brand#22 |LARGE ANODIZED COPPER | 14| 4 +Brand#22 |LARGE ANODIZED COPPER | 45| 4 +Brand#22 |LARGE ANODIZED COPPER | 49| 4 +Brand#22 |LARGE ANODIZED NICKEL | 3| 4 +Brand#22 |LARGE ANODIZED NICKEL | 9| 4 +Brand#22 |LARGE ANODIZED NICKEL | 36| 4 +Brand#22 |LARGE ANODIZED NICKEL | 49| 4 +Brand#22 |LARGE ANODIZED STEEL | 3| 4 +Brand#22 |LARGE ANODIZED STEEL | 14| 4 +Brand#22 |LARGE ANODIZED STEEL | 23| 4 +Brand#22 |LARGE ANODIZED STEEL | 49| 4 +Brand#22 |LARGE ANODIZED TIN | 36| 4 +Brand#22 |LARGE BRUSHED BRASS | 3| 4 +Brand#22 |LARGE BRUSHED COPPER | 3| 4 +Brand#22 |LARGE BRUSHED NICKEL | 3| 4 +Brand#22 |LARGE BRUSHED NICKEL | 19| 4 +Brand#22 |LARGE BRUSHED NICKEL | 36| 4 +Brand#22 |LARGE BRUSHED STEEL | 9| 4 +Brand#22 |LARGE BRUSHED STEEL | 45| 4 +Brand#22 |LARGE BRUSHED STEEL | 49| 4 +Brand#22 |LARGE BRUSHED TIN | 3| 4 +Brand#22 |LARGE BRUSHED TIN | 9| 4 +Brand#22 |LARGE BRUSHED TIN | 19| 4 +Brand#22 |LARGE BRUSHED TIN | 45| 4 +Brand#22 |LARGE BRUSHED TIN | 49| 4 +Brand#22 |LARGE BURNISHED BRASS | 19| 4 +Brand#22 |LARGE BURNISHED BRASS | 45| 4 +Brand#22 |LARGE BURNISHED BRASS | 49| 4 +Brand#22 |LARGE BURNISHED COPPER | 3| 4 +Brand#22 |LARGE BURNISHED COPPER | 14| 4 +Brand#22 |LARGE BURNISHED COPPER | 36| 4 +Brand#22 |LARGE BURNISHED COPPER | 45| 4 +Brand#22 |LARGE BURNISHED COPPER | 49| 4 +Brand#22 |LARGE BURNISHED NICKEL | 14| 4 +Brand#22 |LARGE BURNISHED STEEL | 3| 4 +Brand#22 |LARGE BURNISHED STEEL | 19| 4 +Brand#22 |LARGE BURNISHED STEEL | 23| 4 +Brand#22 |LARGE BURNISHED STEEL | 45| 4 +Brand#22 |LARGE BURNISHED TIN | 9| 4 +Brand#22 |LARGE BURNISHED TIN | 14| 4 +Brand#22 |LARGE BURNISHED TIN | 49| 4 +Brand#22 |LARGE PLATED BRASS | 9| 4 +Brand#22 |LARGE PLATED BRASS | 14| 4 +Brand#22 |LARGE PLATED BRASS | 36| 4 +Brand#22 |LARGE PLATED BRASS | 49| 4 +Brand#22 |LARGE PLATED COPPER | 9| 4 +Brand#22 |LARGE PLATED COPPER | 14| 4 +Brand#22 |LARGE PLATED COPPER | 49| 4 +Brand#22 |LARGE PLATED NICKEL | 14| 4 +Brand#22 |LARGE PLATED NICKEL | 49| 4 +Brand#22 |LARGE PLATED STEEL | 3| 4 +Brand#22 |LARGE PLATED STEEL | 36| 4 +Brand#22 |LARGE PLATED STEEL | 45| 4 +Brand#22 |LARGE PLATED STEEL | 49| 4 +Brand#22 |LARGE PLATED TIN | 9| 4 +Brand#22 |LARGE PLATED TIN | 19| 4 +Brand#22 |LARGE POLISHED BRASS | 9| 4 +Brand#22 |LARGE POLISHED BRASS | 19| 4 +Brand#22 |LARGE POLISHED COPPER | 14| 4 +Brand#22 |LARGE POLISHED COPPER | 45| 4 +Brand#22 |LARGE POLISHED NICKEL | 9| 4 +Brand#22 |LARGE POLISHED NICKEL | 36| 4 +Brand#22 |LARGE POLISHED STEEL | 14| 4 +Brand#22 |LARGE POLISHED STEEL | 19| 4 +Brand#22 |LARGE POLISHED STEEL | 23| 4 +Brand#22 |LARGE POLISHED STEEL | 36| 4 +Brand#22 |LARGE POLISHED TIN | 3| 4 +Brand#22 |LARGE POLISHED TIN | 19| 4 +Brand#22 |LARGE POLISHED TIN | 23| 4 +Brand#22 |MEDIUM ANODIZED BRASS | 3| 4 +Brand#22 |MEDIUM ANODIZED BRASS | 19| 4 +Brand#22 |MEDIUM ANODIZED BRASS | 36| 4 +Brand#22 |MEDIUM ANODIZED BRASS | 45| 4 +Brand#22 |MEDIUM ANODIZED COPPER | 49| 4 +Brand#22 |MEDIUM ANODIZED NICKEL | 14| 4 +Brand#22 |MEDIUM ANODIZED STEEL | 3| 4 +Brand#22 |MEDIUM ANODIZED STEEL | 14| 4 +Brand#22 |MEDIUM ANODIZED STEEL | 45| 4 +Brand#22 |MEDIUM ANODIZED STEEL | 49| 4 +Brand#22 |MEDIUM ANODIZED TIN | 3| 4 +Brand#22 |MEDIUM ANODIZED TIN | 9| 4 +Brand#22 |MEDIUM ANODIZED TIN | 14| 4 +Brand#22 |MEDIUM ANODIZED TIN | 36| 4 +Brand#22 |MEDIUM ANODIZED TIN | 49| 4 +Brand#22 |MEDIUM BRUSHED BRASS | 3| 4 +Brand#22 |MEDIUM BRUSHED BRASS | 9| 4 +Brand#22 |MEDIUM BRUSHED BRASS | 14| 4 +Brand#22 |MEDIUM BRUSHED BRASS | 19| 4 +Brand#22 |MEDIUM BRUSHED BRASS | 23| 4 +Brand#22 |MEDIUM BRUSHED COPPER | 23| 4 +Brand#22 |MEDIUM BRUSHED NICKEL | 3| 4 +Brand#22 |MEDIUM BRUSHED NICKEL | 19| 4 +Brand#22 |MEDIUM BRUSHED NICKEL | 23| 4 +Brand#22 |MEDIUM BRUSHED NICKEL | 36| 4 +Brand#22 |MEDIUM BRUSHED NICKEL | 45| 4 +Brand#22 |MEDIUM BRUSHED STEEL | 9| 4 +Brand#22 |MEDIUM BRUSHED TIN | 9| 4 +Brand#22 |MEDIUM BRUSHED TIN | 14| 4 +Brand#22 |MEDIUM BRUSHED TIN | 19| 4 +Brand#22 |MEDIUM BRUSHED TIN | 23| 4 +Brand#22 |MEDIUM BRUSHED TIN | 45| 4 +Brand#22 |MEDIUM BURNISHED BRASS | 3| 4 +Brand#22 |MEDIUM BURNISHED BRASS | 19| 4 +Brand#22 |MEDIUM BURNISHED BRASS | 23| 4 +Brand#22 |MEDIUM BURNISHED COPPER | 3| 4 +Brand#22 |MEDIUM BURNISHED COPPER | 19| 4 +Brand#22 |MEDIUM BURNISHED NICKEL | 19| 4 +Brand#22 |MEDIUM BURNISHED NICKEL | 45| 4 +Brand#22 |MEDIUM BURNISHED NICKEL | 49| 4 +Brand#22 |MEDIUM BURNISHED STEEL | 23| 4 +Brand#22 |MEDIUM BURNISHED STEEL | 49| 4 +Brand#22 |MEDIUM BURNISHED TIN | 23| 4 +Brand#22 |MEDIUM BURNISHED TIN | 45| 4 +Brand#22 |MEDIUM PLATED BRASS | 3| 4 +Brand#22 |MEDIUM PLATED BRASS | 19| 4 +Brand#22 |MEDIUM PLATED BRASS | 45| 4 +Brand#22 |MEDIUM PLATED BRASS | 49| 4 +Brand#22 |MEDIUM PLATED COPPER | 9| 4 +Brand#22 |MEDIUM PLATED COPPER | 14| 4 +Brand#22 |MEDIUM PLATED COPPER | 23| 4 +Brand#22 |MEDIUM PLATED COPPER | 49| 4 +Brand#22 |MEDIUM PLATED NICKEL | 19| 4 +Brand#22 |MEDIUM PLATED STEEL | 14| 4 +Brand#22 |MEDIUM PLATED STEEL | 36| 4 +Brand#22 |MEDIUM PLATED STEEL | 49| 4 +Brand#22 |MEDIUM PLATED TIN | 3| 4 +Brand#22 |MEDIUM PLATED TIN | 9| 4 +Brand#22 |MEDIUM PLATED TIN | 14| 4 +Brand#22 |PROMO ANODIZED BRASS | 14| 4 +Brand#22 |PROMO ANODIZED COPPER | 14| 4 +Brand#22 |PROMO ANODIZED COPPER | 36| 4 +Brand#22 |PROMO ANODIZED COPPER | 49| 4 +Brand#22 |PROMO ANODIZED NICKEL | 3| 4 +Brand#22 |PROMO ANODIZED NICKEL | 14| 4 +Brand#22 |PROMO ANODIZED NICKEL | 19| 4 +Brand#22 |PROMO ANODIZED NICKEL | 49| 4 +Brand#22 |PROMO ANODIZED STEEL | 3| 4 +Brand#22 |PROMO ANODIZED STEEL | 23| 4 +Brand#22 |PROMO ANODIZED STEEL | 45| 4 +Brand#22 |PROMO ANODIZED TIN | 3| 4 +Brand#22 |PROMO ANODIZED TIN | 9| 4 +Brand#22 |PROMO BRUSHED BRASS | 9| 4 +Brand#22 |PROMO BRUSHED COPPER | 3| 4 +Brand#22 |PROMO BRUSHED COPPER | 9| 4 +Brand#22 |PROMO BRUSHED COPPER | 14| 4 +Brand#22 |PROMO BRUSHED COPPER | 19| 4 +Brand#22 |PROMO BRUSHED NICKEL | 3| 4 +Brand#22 |PROMO BRUSHED NICKEL | 23| 4 +Brand#22 |PROMO BRUSHED STEEL | 9| 4 +Brand#22 |PROMO BRUSHED STEEL | 14| 4 +Brand#22 |PROMO BRUSHED STEEL | 19| 4 +Brand#22 |PROMO BRUSHED STEEL | 23| 4 +Brand#22 |PROMO BRUSHED STEEL | 49| 4 +Brand#22 |PROMO BRUSHED TIN | 14| 4 +Brand#22 |PROMO BRUSHED TIN | 23| 4 +Brand#22 |PROMO BRUSHED TIN | 45| 4 +Brand#22 |PROMO BRUSHED TIN | 49| 4 +Brand#22 |PROMO BURNISHED BRASS | 9| 4 +Brand#22 |PROMO BURNISHED BRASS | 19| 4 +Brand#22 |PROMO BURNISHED BRASS | 45| 4 +Brand#22 |PROMO BURNISHED COPPER | 3| 4 +Brand#22 |PROMO BURNISHED COPPER | 9| 4 +Brand#22 |PROMO BURNISHED COPPER | 19| 4 +Brand#22 |PROMO BURNISHED COPPER | 45| 4 +Brand#22 |PROMO BURNISHED NICKEL | 9| 4 +Brand#22 |PROMO BURNISHED NICKEL | 23| 4 +Brand#22 |PROMO BURNISHED NICKEL | 36| 4 +Brand#22 |PROMO BURNISHED NICKEL | 49| 4 +Brand#22 |PROMO BURNISHED STEEL | 9| 4 +Brand#22 |PROMO BURNISHED TIN | 9| 4 +Brand#22 |PROMO BURNISHED TIN | 19| 4 +Brand#22 |PROMO BURNISHED TIN | 23| 4 +Brand#22 |PROMO BURNISHED TIN | 36| 4 +Brand#22 |PROMO BURNISHED TIN | 45| 4 +Brand#22 |PROMO BURNISHED TIN | 49| 4 +Brand#22 |PROMO PLATED BRASS | 49| 4 +Brand#22 |PROMO PLATED COPPER | 9| 4 +Brand#22 |PROMO PLATED COPPER | 23| 4 +Brand#22 |PROMO PLATED COPPER | 49| 4 +Brand#22 |PROMO PLATED NICKEL | 3| 4 +Brand#22 |PROMO PLATED NICKEL | 14| 4 +Brand#22 |PROMO PLATED NICKEL | 36| 4 +Brand#22 |PROMO PLATED STEEL | 14| 4 +Brand#22 |PROMO PLATED STEEL | 19| 4 +Brand#22 |PROMO PLATED STEEL | 49| 4 +Brand#22 |PROMO PLATED TIN | 9| 4 +Brand#22 |PROMO PLATED TIN | 14| 4 +Brand#22 |PROMO PLATED TIN | 45| 4 +Brand#22 |PROMO PLATED TIN | 49| 4 +Brand#22 |PROMO POLISHED BRASS | 19| 4 +Brand#22 |PROMO POLISHED BRASS | 23| 4 +Brand#22 |PROMO POLISHED COPPER | 9| 4 +Brand#22 |PROMO POLISHED COPPER | 14| 4 +Brand#22 |PROMO POLISHED COPPER | 36| 4 +Brand#22 |PROMO POLISHED COPPER | 49| 4 +Brand#22 |PROMO POLISHED NICKEL | 3| 4 +Brand#22 |PROMO POLISHED NICKEL | 14| 4 +Brand#22 |PROMO POLISHED STEEL | 3| 4 +Brand#22 |PROMO POLISHED STEEL | 9| 4 +Brand#22 |PROMO POLISHED STEEL | 23| 4 +Brand#22 |PROMO POLISHED STEEL | 45| 4 +Brand#22 |PROMO POLISHED TIN | 9| 4 +Brand#22 |PROMO POLISHED TIN | 36| 4 +Brand#22 |PROMO POLISHED TIN | 45| 4 +Brand#22 |SMALL ANODIZED BRASS | 3| 4 +Brand#22 |SMALL ANODIZED BRASS | 9| 4 +Brand#22 |SMALL ANODIZED BRASS | 23| 4 +Brand#22 |SMALL ANODIZED BRASS | 45| 4 +Brand#22 |SMALL ANODIZED COPPER | 14| 4 +Brand#22 |SMALL ANODIZED COPPER | 36| 4 +Brand#22 |SMALL ANODIZED NICKEL | 9| 4 +Brand#22 |SMALL ANODIZED NICKEL | 14| 4 +Brand#22 |SMALL ANODIZED NICKEL | 19| 4 +Brand#22 |SMALL ANODIZED NICKEL | 49| 4 +Brand#22 |SMALL ANODIZED STEEL | 3| 4 +Brand#22 |SMALL ANODIZED STEEL | 9| 4 +Brand#22 |SMALL ANODIZED STEEL | 36| 4 +Brand#22 |SMALL ANODIZED STEEL | 49| 4 +Brand#22 |SMALL ANODIZED TIN | 3| 4 +Brand#22 |SMALL ANODIZED TIN | 14| 4 +Brand#22 |SMALL ANODIZED TIN | 36| 4 +Brand#22 |SMALL BRUSHED BRASS | 23| 4 +Brand#22 |SMALL BRUSHED BRASS | 49| 4 +Brand#22 |SMALL BRUSHED COPPER | 3| 4 +Brand#22 |SMALL BRUSHED COPPER | 14| 4 +Brand#22 |SMALL BRUSHED COPPER | 19| 4 +Brand#22 |SMALL BRUSHED COPPER | 23| 4 +Brand#22 |SMALL BRUSHED COPPER | 49| 4 +Brand#22 |SMALL BRUSHED NICKEL | 14| 4 +Brand#22 |SMALL BRUSHED NICKEL | 19| 4 +Brand#22 |SMALL BRUSHED NICKEL | 36| 4 +Brand#22 |SMALL BRUSHED STEEL | 3| 4 +Brand#22 |SMALL BRUSHED STEEL | 9| 4 +Brand#22 |SMALL BRUSHED STEEL | 14| 4 +Brand#22 |SMALL BRUSHED STEEL | 19| 4 +Brand#22 |SMALL BRUSHED STEEL | 36| 4 +Brand#22 |SMALL BRUSHED STEEL | 49| 4 +Brand#22 |SMALL BRUSHED TIN | 3| 4 +Brand#22 |SMALL BRUSHED TIN | 9| 4 +Brand#22 |SMALL BRUSHED TIN | 36| 4 +Brand#22 |SMALL BURNISHED BRASS | 45| 4 +Brand#22 |SMALL BURNISHED BRASS | 49| 4 +Brand#22 |SMALL BURNISHED COPPER | 9| 4 +Brand#22 |SMALL BURNISHED COPPER | 23| 4 +Brand#22 |SMALL BURNISHED COPPER | 36| 4 +Brand#22 |SMALL BURNISHED NICKEL | 14| 4 +Brand#22 |SMALL BURNISHED NICKEL | 19| 4 +Brand#22 |SMALL BURNISHED NICKEL | 23| 4 +Brand#22 |SMALL BURNISHED NICKEL | 36| 4 +Brand#22 |SMALL BURNISHED NICKEL | 45| 4 +Brand#22 |SMALL BURNISHED STEEL | 3| 4 +Brand#22 |SMALL BURNISHED STEEL | 19| 4 +Brand#22 |SMALL BURNISHED TIN | 9| 4 +Brand#22 |SMALL BURNISHED TIN | 14| 4 +Brand#22 |SMALL PLATED BRASS | 3| 4 +Brand#22 |SMALL PLATED BRASS | 19| 4 +Brand#22 |SMALL PLATED BRASS | 36| 4 +Brand#22 |SMALL PLATED BRASS | 45| 4 +Brand#22 |SMALL PLATED COPPER | 9| 4 +Brand#22 |SMALL PLATED COPPER | 19| 4 +Brand#22 |SMALL PLATED COPPER | 23| 4 +Brand#22 |SMALL PLATED COPPER | 45| 4 +Brand#22 |SMALL PLATED NICKEL | 14| 4 +Brand#22 |SMALL PLATED NICKEL | 23| 4 +Brand#22 |SMALL PLATED NICKEL | 36| 4 +Brand#22 |SMALL PLATED NICKEL | 49| 4 +Brand#22 |SMALL PLATED STEEL | 9| 4 +Brand#22 |SMALL PLATED TIN | 3| 4 +Brand#22 |SMALL PLATED TIN | 9| 4 +Brand#22 |SMALL PLATED TIN | 14| 4 +Brand#22 |SMALL PLATED TIN | 19| 4 +Brand#22 |SMALL PLATED TIN | 36| 4 +Brand#22 |SMALL PLATED TIN | 49| 4 +Brand#22 |SMALL POLISHED BRASS | 9| 4 +Brand#22 |SMALL POLISHED BRASS | 23| 4 +Brand#22 |SMALL POLISHED BRASS | 49| 4 +Brand#22 |SMALL POLISHED COPPER | 14| 4 +Brand#22 |SMALL POLISHED COPPER | 36| 4 +Brand#22 |SMALL POLISHED NICKEL | 36| 4 +Brand#22 |SMALL POLISHED STEEL | 3| 4 +Brand#22 |SMALL POLISHED STEEL | 19| 4 +Brand#22 |SMALL POLISHED STEEL | 23| 4 +Brand#22 |SMALL POLISHED STEEL | 36| 4 +Brand#22 |SMALL POLISHED TIN | 3| 4 +Brand#22 |SMALL POLISHED TIN | 9| 4 +Brand#22 |SMALL POLISHED TIN | 36| 4 +Brand#22 |STANDARD ANODIZED BRASS | 9| 4 +Brand#22 |STANDARD ANODIZED BRASS | 45| 4 +Brand#22 |STANDARD ANODIZED BRASS | 49| 4 +Brand#22 |STANDARD ANODIZED COPPER | 3| 4 +Brand#22 |STANDARD ANODIZED COPPER | 19| 4 +Brand#22 |STANDARD ANODIZED NICKEL | 19| 4 +Brand#22 |STANDARD ANODIZED NICKEL | 45| 4 +Brand#22 |STANDARD ANODIZED STEEL | 3| 4 +Brand#22 |STANDARD ANODIZED STEEL | 9| 4 +Brand#22 |STANDARD ANODIZED STEEL | 36| 4 +Brand#22 |STANDARD ANODIZED STEEL | 45| 4 +Brand#22 |STANDARD ANODIZED TIN | 19| 4 +Brand#22 |STANDARD ANODIZED TIN | 23| 4 +Brand#22 |STANDARD ANODIZED TIN | 36| 4 +Brand#22 |STANDARD BRUSHED BRASS | 23| 4 +Brand#22 |STANDARD BRUSHED BRASS | 45| 4 +Brand#22 |STANDARD BRUSHED BRASS | 49| 4 +Brand#22 |STANDARD BRUSHED COPPER | 3| 4 +Brand#22 |STANDARD BRUSHED COPPER | 9| 4 +Brand#22 |STANDARD BRUSHED COPPER | 14| 4 +Brand#22 |STANDARD BRUSHED COPPER | 23| 4 +Brand#22 |STANDARD BRUSHED COPPER | 45| 4 +Brand#22 |STANDARD BRUSHED COPPER | 49| 4 +Brand#22 |STANDARD BRUSHED NICKEL | 3| 4 +Brand#22 |STANDARD BRUSHED NICKEL | 36| 4 +Brand#22 |STANDARD BRUSHED STEEL | 3| 4 +Brand#22 |STANDARD BRUSHED STEEL | 23| 4 +Brand#22 |STANDARD BURNISHED BRASS | 3| 4 +Brand#22 |STANDARD BURNISHED BRASS | 9| 4 +Brand#22 |STANDARD BURNISHED BRASS | 19| 4 +Brand#22 |STANDARD BURNISHED COPPER| 3| 4 +Brand#22 |STANDARD BURNISHED COPPER| 14| 4 +Brand#22 |STANDARD BURNISHED COPPER| 19| 4 +Brand#22 |STANDARD BURNISHED COPPER| 23| 4 +Brand#22 |STANDARD BURNISHED COPPER| 45| 4 +Brand#22 |STANDARD BURNISHED NICKEL| 9| 4 +Brand#22 |STANDARD BURNISHED NICKEL| 49| 4 +Brand#22 |STANDARD BURNISHED STEEL | 3| 4 +Brand#22 |STANDARD BURNISHED STEEL | 14| 4 +Brand#22 |STANDARD BURNISHED STEEL | 19| 4 +Brand#22 |STANDARD BURNISHED STEEL | 23| 4 +Brand#22 |STANDARD BURNISHED STEEL | 49| 4 +Brand#22 |STANDARD BURNISHED TIN | 36| 4 +Brand#22 |STANDARD BURNISHED TIN | 49| 4 +Brand#22 |STANDARD PLATED COPPER | 9| 4 +Brand#22 |STANDARD PLATED COPPER | 45| 4 +Brand#22 |STANDARD PLATED COPPER | 49| 4 +Brand#22 |STANDARD PLATED NICKEL | 3| 4 +Brand#22 |STANDARD PLATED NICKEL | 14| 4 +Brand#22 |STANDARD PLATED NICKEL | 45| 4 +Brand#22 |STANDARD PLATED NICKEL | 49| 4 +Brand#22 |STANDARD PLATED STEEL | 3| 4 +Brand#22 |STANDARD PLATED TIN | 9| 4 +Brand#22 |STANDARD PLATED TIN | 14| 4 +Brand#22 |STANDARD PLATED TIN | 19| 4 +Brand#22 |STANDARD PLATED TIN | 45| 4 +Brand#22 |STANDARD POLISHED BRASS | 23| 4 +Brand#22 |STANDARD POLISHED COPPER | 3| 4 +Brand#22 |STANDARD POLISHED COPPER | 14| 4 +Brand#22 |STANDARD POLISHED COPPER | 23| 4 +Brand#22 |STANDARD POLISHED COPPER | 36| 4 +Brand#22 |STANDARD POLISHED COPPER | 45| 4 +Brand#22 |STANDARD POLISHED COPPER | 49| 4 +Brand#22 |STANDARD POLISHED NICKEL | 9| 4 +Brand#22 |STANDARD POLISHED NICKEL | 36| 4 +Brand#22 |STANDARD POLISHED NICKEL | 49| 4 +Brand#22 |STANDARD POLISHED STEEL | 3| 4 +Brand#22 |STANDARD POLISHED STEEL | 23| 4 +Brand#22 |STANDARD POLISHED TIN | 14| 4 +Brand#22 |STANDARD POLISHED TIN | 23| 4 +Brand#22 |STANDARD POLISHED TIN | 36| 4 +Brand#22 |STANDARD POLISHED TIN | 49| 4 +Brand#23 |ECONOMY ANODIZED BRASS | 14| 4 +Brand#23 |ECONOMY ANODIZED BRASS | 19| 4 +Brand#23 |ECONOMY ANODIZED BRASS | 23| 4 +Brand#23 |ECONOMY ANODIZED BRASS | 45| 4 +Brand#23 |ECONOMY ANODIZED COPPER | 9| 4 +Brand#23 |ECONOMY ANODIZED COPPER | 14| 4 +Brand#23 |ECONOMY ANODIZED COPPER | 19| 4 +Brand#23 |ECONOMY ANODIZED COPPER | 36| 4 +Brand#23 |ECONOMY ANODIZED COPPER | 45| 4 +Brand#23 |ECONOMY ANODIZED NICKEL | 14| 4 +Brand#23 |ECONOMY ANODIZED NICKEL | 45| 4 +Brand#23 |ECONOMY ANODIZED STEEL | 3| 4 +Brand#23 |ECONOMY ANODIZED STEEL | 19| 4 +Brand#23 |ECONOMY ANODIZED TIN | 3| 4 +Brand#23 |ECONOMY ANODIZED TIN | 9| 4 +Brand#23 |ECONOMY BRUSHED BRASS | 23| 4 +Brand#23 |ECONOMY BRUSHED BRASS | 45| 4 +Brand#23 |ECONOMY BRUSHED BRASS | 49| 4 +Brand#23 |ECONOMY BRUSHED COPPER | 45| 4 +Brand#23 |ECONOMY BRUSHED NICKEL | 3| 4 +Brand#23 |ECONOMY BRUSHED NICKEL | 9| 4 +Brand#23 |ECONOMY BRUSHED STEEL | 14| 4 +Brand#23 |ECONOMY BRUSHED STEEL | 36| 4 +Brand#23 |ECONOMY BRUSHED STEEL | 45| 4 +Brand#23 |ECONOMY BRUSHED TIN | 3| 4 +Brand#23 |ECONOMY BRUSHED TIN | 36| 4 +Brand#23 |ECONOMY BURNISHED BRASS | 3| 4 +Brand#23 |ECONOMY BURNISHED BRASS | 19| 4 +Brand#23 |ECONOMY BURNISHED BRASS | 36| 4 +Brand#23 |ECONOMY BURNISHED COPPER | 19| 4 +Brand#23 |ECONOMY BURNISHED COPPER | 36| 4 +Brand#23 |ECONOMY BURNISHED NICKEL | 14| 4 +Brand#23 |ECONOMY BURNISHED NICKEL | 49| 4 +Brand#23 |ECONOMY BURNISHED STEEL | 19| 4 +Brand#23 |ECONOMY BURNISHED STEEL | 36| 4 +Brand#23 |ECONOMY BURNISHED TIN | 14| 4 +Brand#23 |ECONOMY BURNISHED TIN | 23| 4 +Brand#23 |ECONOMY PLATED BRASS | 3| 4 +Brand#23 |ECONOMY PLATED BRASS | 36| 4 +Brand#23 |ECONOMY PLATED COPPER | 3| 4 +Brand#23 |ECONOMY PLATED COPPER | 45| 4 +Brand#23 |ECONOMY PLATED NICKEL | 14| 4 +Brand#23 |ECONOMY PLATED NICKEL | 36| 4 +Brand#23 |ECONOMY PLATED STEEL | 9| 4 +Brand#23 |ECONOMY PLATED STEEL | 23| 4 +Brand#23 |ECONOMY PLATED STEEL | 45| 4 +Brand#23 |ECONOMY POLISHED BRASS | 3| 4 +Brand#23 |ECONOMY POLISHED BRASS | 14| 4 +Brand#23 |ECONOMY POLISHED BRASS | 23| 4 +Brand#23 |ECONOMY POLISHED BRASS | 45| 4 +Brand#23 |ECONOMY POLISHED COPPER | 36| 4 +Brand#23 |ECONOMY POLISHED NICKEL | 9| 4 +Brand#23 |ECONOMY POLISHED NICKEL | 14| 4 +Brand#23 |ECONOMY POLISHED NICKEL | 49| 4 +Brand#23 |ECONOMY POLISHED STEEL | 9| 4 +Brand#23 |ECONOMY POLISHED STEEL | 19| 4 +Brand#23 |ECONOMY POLISHED TIN | 9| 4 +Brand#23 |ECONOMY POLISHED TIN | 14| 4 +Brand#23 |ECONOMY POLISHED TIN | 19| 4 +Brand#23 |ECONOMY POLISHED TIN | 23| 4 +Brand#23 |ECONOMY POLISHED TIN | 36| 4 +Brand#23 |LARGE ANODIZED BRASS | 3| 4 +Brand#23 |LARGE ANODIZED BRASS | 23| 4 +Brand#23 |LARGE ANODIZED COPPER | 14| 4 +Brand#23 |LARGE ANODIZED COPPER | 23| 4 +Brand#23 |LARGE ANODIZED NICKEL | 3| 4 +Brand#23 |LARGE ANODIZED NICKEL | 45| 4 +Brand#23 |LARGE ANODIZED NICKEL | 49| 4 +Brand#23 |LARGE ANODIZED STEEL | 3| 4 +Brand#23 |LARGE ANODIZED TIN | 3| 4 +Brand#23 |LARGE ANODIZED TIN | 9| 4 +Brand#23 |LARGE ANODIZED TIN | 23| 4 +Brand#23 |LARGE BRUSHED BRASS | 3| 4 +Brand#23 |LARGE BRUSHED BRASS | 19| 4 +Brand#23 |LARGE BRUSHED BRASS | 23| 4 +Brand#23 |LARGE BRUSHED BRASS | 49| 4 +Brand#23 |LARGE BRUSHED COPPER | 36| 4 +Brand#23 |LARGE BRUSHED COPPER | 45| 4 +Brand#23 |LARGE BRUSHED COPPER | 49| 4 +Brand#23 |LARGE BRUSHED NICKEL | 9| 4 +Brand#23 |LARGE BRUSHED NICKEL | 19| 4 +Brand#23 |LARGE BRUSHED NICKEL | 49| 4 +Brand#23 |LARGE BRUSHED STEEL | 45| 4 +Brand#23 |LARGE BRUSHED TIN | 14| 4 +Brand#23 |LARGE BRUSHED TIN | 23| 4 +Brand#23 |LARGE BRUSHED TIN | 36| 4 +Brand#23 |LARGE BRUSHED TIN | 45| 4 +Brand#23 |LARGE BURNISHED BRASS | 3| 4 +Brand#23 |LARGE BURNISHED BRASS | 9| 4 +Brand#23 |LARGE BURNISHED BRASS | 14| 4 +Brand#23 |LARGE BURNISHED BRASS | 19| 4 +Brand#23 |LARGE BURNISHED BRASS | 36| 4 +Brand#23 |LARGE BURNISHED BRASS | 45| 4 +Brand#23 |LARGE BURNISHED NICKEL | 23| 4 +Brand#23 |LARGE BURNISHED STEEL | 36| 4 +Brand#23 |LARGE BURNISHED TIN | 3| 4 +Brand#23 |LARGE BURNISHED TIN | 9| 4 +Brand#23 |LARGE BURNISHED TIN | 36| 4 +Brand#23 |LARGE BURNISHED TIN | 45| 4 +Brand#23 |LARGE PLATED BRASS | 19| 4 +Brand#23 |LARGE PLATED BRASS | 23| 4 +Brand#23 |LARGE PLATED BRASS | 49| 4 +Brand#23 |LARGE PLATED COPPER | 3| 4 +Brand#23 |LARGE PLATED COPPER | 36| 4 +Brand#23 |LARGE PLATED COPPER | 49| 4 +Brand#23 |LARGE PLATED NICKEL | 3| 4 +Brand#23 |LARGE PLATED NICKEL | 14| 4 +Brand#23 |LARGE PLATED NICKEL | 19| 4 +Brand#23 |LARGE PLATED STEEL | 19| 4 +Brand#23 |LARGE PLATED STEEL | 36| 4 +Brand#23 |LARGE PLATED TIN | 9| 4 +Brand#23 |LARGE PLATED TIN | 14| 4 +Brand#23 |LARGE PLATED TIN | 19| 4 +Brand#23 |LARGE PLATED TIN | 23| 4 +Brand#23 |LARGE PLATED TIN | 36| 4 +Brand#23 |LARGE PLATED TIN | 45| 4 +Brand#23 |LARGE POLISHED BRASS | 3| 4 +Brand#23 |LARGE POLISHED BRASS | 14| 4 +Brand#23 |LARGE POLISHED BRASS | 23| 4 +Brand#23 |LARGE POLISHED BRASS | 36| 4 +Brand#23 |LARGE POLISHED BRASS | 45| 4 +Brand#23 |LARGE POLISHED BRASS | 49| 4 +Brand#23 |LARGE POLISHED COPPER | 19| 4 +Brand#23 |LARGE POLISHED NICKEL | 14| 4 +Brand#23 |LARGE POLISHED NICKEL | 19| 4 +Brand#23 |LARGE POLISHED NICKEL | 23| 4 +Brand#23 |LARGE POLISHED NICKEL | 45| 4 +Brand#23 |LARGE POLISHED STEEL | 9| 4 +Brand#23 |LARGE POLISHED STEEL | 14| 4 +Brand#23 |LARGE POLISHED STEEL | 19| 4 +Brand#23 |LARGE POLISHED STEEL | 36| 4 +Brand#23 |LARGE POLISHED TIN | 19| 4 +Brand#23 |LARGE POLISHED TIN | 23| 4 +Brand#23 |MEDIUM ANODIZED BRASS | 14| 4 +Brand#23 |MEDIUM ANODIZED BRASS | 19| 4 +Brand#23 |MEDIUM ANODIZED BRASS | 36| 4 +Brand#23 |MEDIUM ANODIZED BRASS | 49| 4 +Brand#23 |MEDIUM ANODIZED COPPER | 3| 4 +Brand#23 |MEDIUM ANODIZED COPPER | 9| 4 +Brand#23 |MEDIUM ANODIZED NICKEL | 36| 4 +Brand#23 |MEDIUM ANODIZED NICKEL | 49| 4 +Brand#23 |MEDIUM ANODIZED STEEL | 9| 4 +Brand#23 |MEDIUM ANODIZED STEEL | 14| 4 +Brand#23 |MEDIUM ANODIZED TIN | 3| 4 +Brand#23 |MEDIUM ANODIZED TIN | 9| 4 +Brand#23 |MEDIUM ANODIZED TIN | 19| 4 +Brand#23 |MEDIUM ANODIZED TIN | 36| 4 +Brand#23 |MEDIUM ANODIZED TIN | 49| 4 +Brand#23 |MEDIUM BRUSHED BRASS | 23| 4 +Brand#23 |MEDIUM BRUSHED BRASS | 36| 4 +Brand#23 |MEDIUM BRUSHED COPPER | 9| 4 +Brand#23 |MEDIUM BRUSHED COPPER | 36| 4 +Brand#23 |MEDIUM BRUSHED NICKEL | 9| 4 +Brand#23 |MEDIUM BRUSHED STEEL | 9| 4 +Brand#23 |MEDIUM BRUSHED STEEL | 14| 4 +Brand#23 |MEDIUM BRUSHED STEEL | 19| 4 +Brand#23 |MEDIUM BRUSHED STEEL | 23| 4 +Brand#23 |MEDIUM BRUSHED STEEL | 49| 4 +Brand#23 |MEDIUM BRUSHED TIN | 3| 4 +Brand#23 |MEDIUM BRUSHED TIN | 9| 4 +Brand#23 |MEDIUM BRUSHED TIN | 19| 4 +Brand#23 |MEDIUM BRUSHED TIN | 36| 4 +Brand#23 |MEDIUM BURNISHED BRASS | 19| 4 +Brand#23 |MEDIUM BURNISHED BRASS | 23| 4 +Brand#23 |MEDIUM BURNISHED BRASS | 45| 4 +Brand#23 |MEDIUM BURNISHED BRASS | 49| 4 +Brand#23 |MEDIUM BURNISHED COPPER | 49| 4 +Brand#23 |MEDIUM BURNISHED NICKEL | 14| 4 +Brand#23 |MEDIUM BURNISHED NICKEL | 23| 4 +Brand#23 |MEDIUM BURNISHED NICKEL | 36| 4 +Brand#23 |MEDIUM BURNISHED STEEL | 19| 4 +Brand#23 |MEDIUM BURNISHED STEEL | 36| 4 +Brand#23 |MEDIUM BURNISHED STEEL | 49| 4 +Brand#23 |MEDIUM BURNISHED TIN | 3| 4 +Brand#23 |MEDIUM BURNISHED TIN | 19| 4 +Brand#23 |MEDIUM BURNISHED TIN | 23| 4 +Brand#23 |MEDIUM BURNISHED TIN | 49| 4 +Brand#23 |MEDIUM PLATED BRASS | 3| 4 +Brand#23 |MEDIUM PLATED BRASS | 23| 4 +Brand#23 |MEDIUM PLATED BRASS | 36| 4 +Brand#23 |MEDIUM PLATED BRASS | 49| 4 +Brand#23 |MEDIUM PLATED COPPER | 3| 4 +Brand#23 |MEDIUM PLATED COPPER | 14| 4 +Brand#23 |MEDIUM PLATED COPPER | 36| 4 +Brand#23 |MEDIUM PLATED COPPER | 45| 4 +Brand#23 |MEDIUM PLATED COPPER | 49| 4 +Brand#23 |MEDIUM PLATED NICKEL | 14| 4 +Brand#23 |MEDIUM PLATED NICKEL | 45| 4 +Brand#23 |MEDIUM PLATED STEEL | 3| 4 +Brand#23 |MEDIUM PLATED STEEL | 9| 4 +Brand#23 |MEDIUM PLATED STEEL | 45| 4 +Brand#23 |MEDIUM PLATED STEEL | 49| 4 +Brand#23 |MEDIUM PLATED TIN | 9| 4 +Brand#23 |MEDIUM PLATED TIN | 14| 4 +Brand#23 |MEDIUM PLATED TIN | 36| 4 +Brand#23 |PROMO ANODIZED BRASS | 14| 4 +Brand#23 |PROMO ANODIZED BRASS | 36| 4 +Brand#23 |PROMO ANODIZED BRASS | 45| 4 +Brand#23 |PROMO ANODIZED BRASS | 49| 4 +Brand#23 |PROMO ANODIZED COPPER | 9| 4 +Brand#23 |PROMO ANODIZED COPPER | 14| 4 +Brand#23 |PROMO ANODIZED NICKEL | 9| 4 +Brand#23 |PROMO ANODIZED NICKEL | 19| 4 +Brand#23 |PROMO ANODIZED NICKEL | 49| 4 +Brand#23 |PROMO ANODIZED STEEL | 14| 4 +Brand#23 |PROMO ANODIZED STEEL | 45| 4 +Brand#23 |PROMO ANODIZED STEEL | 49| 4 +Brand#23 |PROMO ANODIZED TIN | 36| 4 +Brand#23 |PROMO ANODIZED TIN | 45| 4 +Brand#23 |PROMO BRUSHED BRASS | 3| 4 +Brand#23 |PROMO BRUSHED BRASS | 9| 4 +Brand#23 |PROMO BRUSHED BRASS | 14| 4 +Brand#23 |PROMO BRUSHED BRASS | 45| 4 +Brand#23 |PROMO BRUSHED BRASS | 49| 4 +Brand#23 |PROMO BRUSHED COPPER | 3| 4 +Brand#23 |PROMO BRUSHED COPPER | 9| 4 +Brand#23 |PROMO BRUSHED COPPER | 49| 4 +Brand#23 |PROMO BRUSHED NICKEL | 9| 4 +Brand#23 |PROMO BRUSHED NICKEL | 36| 4 +Brand#23 |PROMO BRUSHED STEEL | 14| 4 +Brand#23 |PROMO BRUSHED STEEL | 19| 4 +Brand#23 |PROMO BRUSHED STEEL | 23| 4 +Brand#23 |PROMO BRUSHED STEEL | 36| 4 +Brand#23 |PROMO BRUSHED STEEL | 45| 4 +Brand#23 |PROMO BRUSHED STEEL | 49| 4 +Brand#23 |PROMO BRUSHED TIN | 14| 4 +Brand#23 |PROMO BRUSHED TIN | 36| 4 +Brand#23 |PROMO BURNISHED BRASS | 3| 4 +Brand#23 |PROMO BURNISHED BRASS | 19| 4 +Brand#23 |PROMO BURNISHED BRASS | 23| 4 +Brand#23 |PROMO BURNISHED BRASS | 36| 4 +Brand#23 |PROMO BURNISHED COPPER | 45| 4 +Brand#23 |PROMO BURNISHED NICKEL | 3| 4 +Brand#23 |PROMO BURNISHED NICKEL | 14| 4 +Brand#23 |PROMO BURNISHED NICKEL | 36| 4 +Brand#23 |PROMO BURNISHED NICKEL | 45| 4 +Brand#23 |PROMO BURNISHED STEEL | 19| 4 +Brand#23 |PROMO BURNISHED STEEL | 36| 4 +Brand#23 |PROMO BURNISHED STEEL | 49| 4 +Brand#23 |PROMO BURNISHED TIN | 19| 4 +Brand#23 |PROMO BURNISHED TIN | 23| 4 +Brand#23 |PROMO PLATED BRASS | 9| 4 +Brand#23 |PROMO PLATED BRASS | 36| 4 +Brand#23 |PROMO PLATED BRASS | 45| 4 +Brand#23 |PROMO PLATED COPPER | 3| 4 +Brand#23 |PROMO PLATED COPPER | 9| 4 +Brand#23 |PROMO PLATED COPPER | 19| 4 +Brand#23 |PROMO PLATED COPPER | 49| 4 +Brand#23 |PROMO PLATED NICKEL | 14| 4 +Brand#23 |PROMO PLATED NICKEL | 19| 4 +Brand#23 |PROMO PLATED NICKEL | 49| 4 +Brand#23 |PROMO PLATED STEEL | 36| 4 +Brand#23 |PROMO PLATED TIN | 49| 4 +Brand#23 |PROMO POLISHED BRASS | 3| 4 +Brand#23 |PROMO POLISHED BRASS | 23| 4 +Brand#23 |PROMO POLISHED BRASS | 36| 4 +Brand#23 |PROMO POLISHED BRASS | 49| 4 +Brand#23 |PROMO POLISHED COPPER | 3| 4 +Brand#23 |PROMO POLISHED COPPER | 14| 4 +Brand#23 |PROMO POLISHED COPPER | 19| 4 +Brand#23 |PROMO POLISHED COPPER | 49| 4 +Brand#23 |PROMO POLISHED NICKEL | 14| 4 +Brand#23 |PROMO POLISHED NICKEL | 49| 4 +Brand#23 |PROMO POLISHED STEEL | 9| 4 +Brand#23 |PROMO POLISHED STEEL | 36| 4 +Brand#23 |PROMO POLISHED STEEL | 45| 4 +Brand#23 |PROMO POLISHED TIN | 3| 4 +Brand#23 |PROMO POLISHED TIN | 9| 4 +Brand#23 |PROMO POLISHED TIN | 19| 4 +Brand#23 |SMALL ANODIZED BRASS | 3| 4 +Brand#23 |SMALL ANODIZED BRASS | 9| 4 +Brand#23 |SMALL ANODIZED COPPER | 3| 4 +Brand#23 |SMALL ANODIZED COPPER | 9| 4 +Brand#23 |SMALL ANODIZED COPPER | 23| 4 +Brand#23 |SMALL ANODIZED COPPER | 49| 4 +Brand#23 |SMALL ANODIZED NICKEL | 3| 4 +Brand#23 |SMALL ANODIZED NICKEL | 9| 4 +Brand#23 |SMALL ANODIZED NICKEL | 19| 4 +Brand#23 |SMALL ANODIZED STEEL | 9| 4 +Brand#23 |SMALL ANODIZED STEEL | 19| 4 +Brand#23 |SMALL ANODIZED STEEL | 36| 4 +Brand#23 |SMALL ANODIZED TIN | 14| 4 +Brand#23 |SMALL ANODIZED TIN | 19| 4 +Brand#23 |SMALL ANODIZED TIN | 23| 4 +Brand#23 |SMALL ANODIZED TIN | 49| 4 +Brand#23 |SMALL BRUSHED BRASS | 3| 4 +Brand#23 |SMALL BRUSHED BRASS | 14| 4 +Brand#23 |SMALL BRUSHED BRASS | 36| 4 +Brand#23 |SMALL BRUSHED COPPER | 3| 4 +Brand#23 |SMALL BRUSHED COPPER | 14| 4 +Brand#23 |SMALL BRUSHED COPPER | 36| 4 +Brand#23 |SMALL BRUSHED COPPER | 49| 4 +Brand#23 |SMALL BRUSHED NICKEL | 19| 4 +Brand#23 |SMALL BRUSHED NICKEL | 36| 4 +Brand#23 |SMALL BRUSHED NICKEL | 45| 4 +Brand#23 |SMALL BRUSHED STEEL | 9| 4 +Brand#23 |SMALL BRUSHED STEEL | 14| 4 +Brand#23 |SMALL BRUSHED STEEL | 19| 4 +Brand#23 |SMALL BRUSHED TIN | 9| 4 +Brand#23 |SMALL BRUSHED TIN | 19| 4 +Brand#23 |SMALL BRUSHED TIN | 23| 4 +Brand#23 |SMALL BRUSHED TIN | 36| 4 +Brand#23 |SMALL BRUSHED TIN | 49| 4 +Brand#23 |SMALL BURNISHED BRASS | 36| 4 +Brand#23 |SMALL BURNISHED COPPER | 3| 4 +Brand#23 |SMALL BURNISHED COPPER | 9| 4 +Brand#23 |SMALL BURNISHED COPPER | 19| 4 +Brand#23 |SMALL BURNISHED COPPER | 49| 4 +Brand#23 |SMALL BURNISHED NICKEL | 19| 4 +Brand#23 |SMALL BURNISHED NICKEL | 23| 4 +Brand#23 |SMALL BURNISHED STEEL | 3| 4 +Brand#23 |SMALL BURNISHED STEEL | 36| 4 +Brand#23 |SMALL BURNISHED TIN | 9| 4 +Brand#23 |SMALL BURNISHED TIN | 19| 4 +Brand#23 |SMALL BURNISHED TIN | 23| 4 +Brand#23 |SMALL BURNISHED TIN | 49| 4 +Brand#23 |SMALL PLATED BRASS | 14| 4 +Brand#23 |SMALL PLATED BRASS | 19| 4 +Brand#23 |SMALL PLATED BRASS | 23| 4 +Brand#23 |SMALL PLATED BRASS | 36| 4 +Brand#23 |SMALL PLATED COPPER | 9| 4 +Brand#23 |SMALL PLATED COPPER | 19| 4 +Brand#23 |SMALL PLATED COPPER | 23| 4 +Brand#23 |SMALL PLATED NICKEL | 14| 4 +Brand#23 |SMALL PLATED NICKEL | 19| 4 +Brand#23 |SMALL PLATED NICKEL | 49| 4 +Brand#23 |SMALL PLATED STEEL | 3| 4 +Brand#23 |SMALL PLATED STEEL | 45| 4 +Brand#23 |SMALL PLATED TIN | 36| 4 +Brand#23 |SMALL POLISHED BRASS | 9| 4 +Brand#23 |SMALL POLISHED BRASS | 14| 4 +Brand#23 |SMALL POLISHED BRASS | 23| 4 +Brand#23 |SMALL POLISHED COPPER | 14| 4 +Brand#23 |SMALL POLISHED COPPER | 23| 4 +Brand#23 |SMALL POLISHED COPPER | 36| 4 +Brand#23 |SMALL POLISHED COPPER | 45| 4 +Brand#23 |SMALL POLISHED STEEL | 3| 4 +Brand#23 |SMALL POLISHED STEEL | 9| 4 +Brand#23 |SMALL POLISHED STEEL | 14| 4 +Brand#23 |SMALL POLISHED STEEL | 45| 4 +Brand#23 |SMALL POLISHED STEEL | 49| 4 +Brand#23 |SMALL POLISHED TIN | 9| 4 +Brand#23 |SMALL POLISHED TIN | 14| 4 +Brand#23 |SMALL POLISHED TIN | 36| 4 +Brand#23 |SMALL POLISHED TIN | 45| 4 +Brand#23 |STANDARD ANODIZED BRASS | 3| 4 +Brand#23 |STANDARD ANODIZED BRASS | 9| 4 +Brand#23 |STANDARD ANODIZED BRASS | 14| 4 +Brand#23 |STANDARD ANODIZED BRASS | 45| 4 +Brand#23 |STANDARD ANODIZED COPPER | 9| 4 +Brand#23 |STANDARD ANODIZED COPPER | 49| 4 +Brand#23 |STANDARD ANODIZED NICKEL | 3| 4 +Brand#23 |STANDARD ANODIZED NICKEL | 36| 4 +Brand#23 |STANDARD ANODIZED NICKEL | 45| 4 +Brand#23 |STANDARD ANODIZED NICKEL | 49| 4 +Brand#23 |STANDARD ANODIZED STEEL | 3| 4 +Brand#23 |STANDARD ANODIZED STEEL | 36| 4 +Brand#23 |STANDARD ANODIZED TIN | 36| 4 +Brand#23 |STANDARD BRUSHED BRASS | 14| 4 +Brand#23 |STANDARD BRUSHED BRASS | 23| 4 +Brand#23 |STANDARD BRUSHED BRASS | 45| 4 +Brand#23 |STANDARD BRUSHED BRASS | 49| 4 +Brand#23 |STANDARD BRUSHED COPPER | 3| 4 +Brand#23 |STANDARD BRUSHED COPPER | 19| 4 +Brand#23 |STANDARD BRUSHED COPPER | 23| 4 +Brand#23 |STANDARD BRUSHED COPPER | 45| 4 +Brand#23 |STANDARD BRUSHED STEEL | 3| 4 +Brand#23 |STANDARD BRUSHED STEEL | 23| 4 +Brand#23 |STANDARD BRUSHED TIN | 9| 4 +Brand#23 |STANDARD BRUSHED TIN | 23| 4 +Brand#23 |STANDARD BURNISHED BRASS | 14| 4 +Brand#23 |STANDARD BURNISHED BRASS | 19| 4 +Brand#23 |STANDARD BURNISHED BRASS | 23| 4 +Brand#23 |STANDARD BURNISHED BRASS | 49| 4 +Brand#23 |STANDARD BURNISHED COPPER| 9| 4 +Brand#23 |STANDARD BURNISHED COPPER| 14| 4 +Brand#23 |STANDARD BURNISHED COPPER| 23| 4 +Brand#23 |STANDARD BURNISHED NICKEL| 3| 4 +Brand#23 |STANDARD BURNISHED NICKEL| 14| 4 +Brand#23 |STANDARD BURNISHED NICKEL| 19| 4 +Brand#23 |STANDARD BURNISHED STEEL | 3| 4 +Brand#23 |STANDARD BURNISHED STEEL | 14| 4 +Brand#23 |STANDARD BURNISHED STEEL | 19| 4 +Brand#23 |STANDARD BURNISHED TIN | 3| 4 +Brand#23 |STANDARD BURNISHED TIN | 23| 4 +Brand#23 |STANDARD PLATED BRASS | 14| 4 +Brand#23 |STANDARD PLATED BRASS | 45| 4 +Brand#23 |STANDARD PLATED COPPER | 9| 4 +Brand#23 |STANDARD PLATED COPPER | 19| 4 +Brand#23 |STANDARD PLATED NICKEL | 9| 4 +Brand#23 |STANDARD PLATED NICKEL | 45| 4 +Brand#23 |STANDARD PLATED STEEL | 23| 4 +Brand#23 |STANDARD PLATED TIN | 49| 4 +Brand#23 |STANDARD POLISHED BRASS | 3| 4 +Brand#23 |STANDARD POLISHED BRASS | 14| 4 +Brand#23 |STANDARD POLISHED BRASS | 23| 4 +Brand#23 |STANDARD POLISHED COPPER | 3| 4 +Brand#23 |STANDARD POLISHED COPPER | 9| 4 +Brand#23 |STANDARD POLISHED COPPER | 49| 4 +Brand#23 |STANDARD POLISHED NICKEL | 19| 4 +Brand#23 |STANDARD POLISHED NICKEL | 23| 4 +Brand#23 |STANDARD POLISHED NICKEL | 45| 4 +Brand#23 |STANDARD POLISHED NICKEL | 49| 4 +Brand#23 |STANDARD POLISHED STEEL | 3| 4 +Brand#23 |STANDARD POLISHED STEEL | 9| 4 +Brand#23 |STANDARD POLISHED STEEL | 19| 4 +Brand#23 |STANDARD POLISHED STEEL | 36| 4 +Brand#23 |STANDARD POLISHED STEEL | 45| 4 +Brand#23 |STANDARD POLISHED STEEL | 49| 4 +Brand#23 |STANDARD POLISHED TIN | 9| 4 +Brand#23 |STANDARD POLISHED TIN | 14| 4 +Brand#23 |STANDARD POLISHED TIN | 49| 4 +Brand#24 |ECONOMY ANODIZED BRASS | 9| 4 +Brand#24 |ECONOMY ANODIZED BRASS | 14| 4 +Brand#24 |ECONOMY ANODIZED BRASS | 36| 4 +Brand#24 |ECONOMY ANODIZED BRASS | 45| 4 +Brand#24 |ECONOMY ANODIZED BRASS | 49| 4 +Brand#24 |ECONOMY ANODIZED COPPER | 19| 4 +Brand#24 |ECONOMY ANODIZED COPPER | 45| 4 +Brand#24 |ECONOMY ANODIZED NICKEL | 23| 4 +Brand#24 |ECONOMY ANODIZED NICKEL | 45| 4 +Brand#24 |ECONOMY ANODIZED NICKEL | 49| 4 +Brand#24 |ECONOMY ANODIZED STEEL | 9| 4 +Brand#24 |ECONOMY ANODIZED TIN | 9| 4 +Brand#24 |ECONOMY ANODIZED TIN | 49| 4 +Brand#24 |ECONOMY BRUSHED BRASS | 36| 4 +Brand#24 |ECONOMY BRUSHED BRASS | 45| 4 +Brand#24 |ECONOMY BRUSHED BRASS | 49| 4 +Brand#24 |ECONOMY BRUSHED COPPER | 9| 4 +Brand#24 |ECONOMY BRUSHED COPPER | 19| 4 +Brand#24 |ECONOMY BRUSHED COPPER | 45| 4 +Brand#24 |ECONOMY BRUSHED COPPER | 49| 4 +Brand#24 |ECONOMY BRUSHED NICKEL | 14| 4 +Brand#24 |ECONOMY BRUSHED NICKEL | 19| 4 +Brand#24 |ECONOMY BRUSHED STEEL | 3| 4 +Brand#24 |ECONOMY BRUSHED STEEL | 19| 4 +Brand#24 |ECONOMY BRUSHED STEEL | 45| 4 +Brand#24 |ECONOMY BRUSHED TIN | 3| 4 +Brand#24 |ECONOMY BRUSHED TIN | 19| 4 +Brand#24 |ECONOMY BRUSHED TIN | 23| 4 +Brand#24 |ECONOMY BRUSHED TIN | 45| 4 +Brand#24 |ECONOMY BURNISHED BRASS | 3| 4 +Brand#24 |ECONOMY BURNISHED BRASS | 9| 4 +Brand#24 |ECONOMY BURNISHED BRASS | 36| 4 +Brand#24 |ECONOMY BURNISHED BRASS | 45| 4 +Brand#24 |ECONOMY BURNISHED COPPER | 9| 4 +Brand#24 |ECONOMY BURNISHED COPPER | 36| 4 +Brand#24 |ECONOMY BURNISHED NICKEL | 23| 4 +Brand#24 |ECONOMY BURNISHED NICKEL | 36| 4 +Brand#24 |ECONOMY BURNISHED NICKEL | 45| 4 +Brand#24 |ECONOMY BURNISHED NICKEL | 49| 4 +Brand#24 |ECONOMY BURNISHED STEEL | 14| 4 +Brand#24 |ECONOMY BURNISHED STEEL | 23| 4 +Brand#24 |ECONOMY BURNISHED TIN | 3| 4 +Brand#24 |ECONOMY BURNISHED TIN | 9| 4 +Brand#24 |ECONOMY BURNISHED TIN | 19| 4 +Brand#24 |ECONOMY BURNISHED TIN | 45| 4 +Brand#24 |ECONOMY PLATED BRASS | 3| 4 +Brand#24 |ECONOMY PLATED BRASS | 9| 4 +Brand#24 |ECONOMY PLATED BRASS | 23| 4 +Brand#24 |ECONOMY PLATED BRASS | 45| 4 +Brand#24 |ECONOMY PLATED COPPER | 3| 4 +Brand#24 |ECONOMY PLATED COPPER | 14| 4 +Brand#24 |ECONOMY PLATED COPPER | 23| 4 +Brand#24 |ECONOMY PLATED NICKEL | 45| 4 +Brand#24 |ECONOMY PLATED NICKEL | 49| 4 +Brand#24 |ECONOMY PLATED STEEL | 3| 4 +Brand#24 |ECONOMY PLATED STEEL | 23| 4 +Brand#24 |ECONOMY PLATED TIN | 14| 4 +Brand#24 |ECONOMY PLATED TIN | 19| 4 +Brand#24 |ECONOMY PLATED TIN | 23| 4 +Brand#24 |ECONOMY PLATED TIN | 45| 4 +Brand#24 |ECONOMY POLISHED BRASS | 19| 4 +Brand#24 |ECONOMY POLISHED BRASS | 49| 4 +Brand#24 |ECONOMY POLISHED COPPER | 9| 4 +Brand#24 |ECONOMY POLISHED COPPER | 14| 4 +Brand#24 |ECONOMY POLISHED COPPER | 45| 4 +Brand#24 |ECONOMY POLISHED NICKEL | 9| 4 +Brand#24 |ECONOMY POLISHED NICKEL | 19| 4 +Brand#24 |ECONOMY POLISHED NICKEL | 45| 4 +Brand#24 |ECONOMY POLISHED NICKEL | 49| 4 +Brand#24 |ECONOMY POLISHED STEEL | 19| 4 +Brand#24 |ECONOMY POLISHED STEEL | 45| 4 +Brand#24 |ECONOMY POLISHED STEEL | 49| 4 +Brand#24 |ECONOMY POLISHED TIN | 3| 4 +Brand#24 |LARGE ANODIZED BRASS | 14| 4 +Brand#24 |LARGE ANODIZED BRASS | 19| 4 +Brand#24 |LARGE ANODIZED BRASS | 49| 4 +Brand#24 |LARGE ANODIZED COPPER | 3| 4 +Brand#24 |LARGE ANODIZED COPPER | 9| 4 +Brand#24 |LARGE ANODIZED COPPER | 36| 4 +Brand#24 |LARGE ANODIZED COPPER | 49| 4 +Brand#24 |LARGE ANODIZED NICKEL | 9| 4 +Brand#24 |LARGE ANODIZED NICKEL | 19| 4 +Brand#24 |LARGE ANODIZED NICKEL | 36| 4 +Brand#24 |LARGE ANODIZED NICKEL | 45| 4 +Brand#24 |LARGE ANODIZED STEEL | 9| 4 +Brand#24 |LARGE ANODIZED STEEL | 36| 4 +Brand#24 |LARGE ANODIZED TIN | 14| 4 +Brand#24 |LARGE ANODIZED TIN | 36| 4 +Brand#24 |LARGE ANODIZED TIN | 45| 4 +Brand#24 |LARGE BRUSHED BRASS | 3| 4 +Brand#24 |LARGE BRUSHED BRASS | 23| 4 +Brand#24 |LARGE BRUSHED COPPER | 23| 4 +Brand#24 |LARGE BRUSHED COPPER | 36| 4 +Brand#24 |LARGE BRUSHED COPPER | 45| 4 +Brand#24 |LARGE BRUSHED NICKEL | 9| 4 +Brand#24 |LARGE BRUSHED NICKEL | 19| 4 +Brand#24 |LARGE BRUSHED NICKEL | 23| 4 +Brand#24 |LARGE BRUSHED STEEL | 14| 4 +Brand#24 |LARGE BRUSHED STEEL | 36| 4 +Brand#24 |LARGE BRUSHED TIN | 3| 4 +Brand#24 |LARGE BRUSHED TIN | 14| 4 +Brand#24 |LARGE BRUSHED TIN | 19| 4 +Brand#24 |LARGE BURNISHED BRASS | 19| 4 +Brand#24 |LARGE BURNISHED BRASS | 49| 4 +Brand#24 |LARGE BURNISHED COPPER | 9| 4 +Brand#24 |LARGE BURNISHED COPPER | 14| 4 +Brand#24 |LARGE BURNISHED COPPER | 19| 4 +Brand#24 |LARGE BURNISHED COPPER | 23| 4 +Brand#24 |LARGE BURNISHED COPPER | 45| 4 +Brand#24 |LARGE BURNISHED NICKEL | 3| 4 +Brand#24 |LARGE BURNISHED NICKEL | 9| 4 +Brand#24 |LARGE BURNISHED NICKEL | 23| 4 +Brand#24 |LARGE BURNISHED NICKEL | 45| 4 +Brand#24 |LARGE BURNISHED STEEL | 9| 4 +Brand#24 |LARGE BURNISHED STEEL | 49| 4 +Brand#24 |LARGE BURNISHED TIN | 3| 4 +Brand#24 |LARGE BURNISHED TIN | 19| 4 +Brand#24 |LARGE BURNISHED TIN | 36| 4 +Brand#24 |LARGE PLATED BRASS | 3| 4 +Brand#24 |LARGE PLATED BRASS | 14| 4 +Brand#24 |LARGE PLATED BRASS | 36| 4 +Brand#24 |LARGE PLATED BRASS | 45| 4 +Brand#24 |LARGE PLATED COPPER | 36| 4 +Brand#24 |LARGE PLATED NICKEL | 3| 4 +Brand#24 |LARGE PLATED NICKEL | 9| 4 +Brand#24 |LARGE PLATED NICKEL | 23| 4 +Brand#24 |LARGE PLATED NICKEL | 36| 4 +Brand#24 |LARGE PLATED NICKEL | 45| 4 +Brand#24 |LARGE PLATED STEEL | 9| 4 +Brand#24 |LARGE PLATED STEEL | 14| 4 +Brand#24 |LARGE PLATED STEEL | 23| 4 +Brand#24 |LARGE PLATED STEEL | 49| 4 +Brand#24 |LARGE PLATED TIN | 36| 4 +Brand#24 |LARGE PLATED TIN | 49| 4 +Brand#24 |LARGE POLISHED BRASS | 9| 4 +Brand#24 |LARGE POLISHED BRASS | 19| 4 +Brand#24 |LARGE POLISHED BRASS | 23| 4 +Brand#24 |LARGE POLISHED BRASS | 49| 4 +Brand#24 |LARGE POLISHED COPPER | 3| 4 +Brand#24 |LARGE POLISHED COPPER | 19| 4 +Brand#24 |LARGE POLISHED COPPER | 36| 4 +Brand#24 |LARGE POLISHED COPPER | 49| 4 +Brand#24 |LARGE POLISHED NICKEL | 3| 4 +Brand#24 |LARGE POLISHED NICKEL | 14| 4 +Brand#24 |LARGE POLISHED STEEL | 14| 4 +Brand#24 |LARGE POLISHED TIN | 3| 4 +Brand#24 |LARGE POLISHED TIN | 9| 4 +Brand#24 |LARGE POLISHED TIN | 19| 4 +Brand#24 |LARGE POLISHED TIN | 36| 4 +Brand#24 |LARGE POLISHED TIN | 45| 4 +Brand#24 |MEDIUM ANODIZED BRASS | 3| 4 +Brand#24 |MEDIUM ANODIZED BRASS | 9| 4 +Brand#24 |MEDIUM ANODIZED BRASS | 19| 4 +Brand#24 |MEDIUM ANODIZED BRASS | 23| 4 +Brand#24 |MEDIUM ANODIZED BRASS | 36| 4 +Brand#24 |MEDIUM ANODIZED COPPER | 36| 4 +Brand#24 |MEDIUM ANODIZED NICKEL | 19| 4 +Brand#24 |MEDIUM ANODIZED NICKEL | 45| 4 +Brand#24 |MEDIUM ANODIZED NICKEL | 49| 4 +Brand#24 |MEDIUM ANODIZED STEEL | 3| 4 +Brand#24 |MEDIUM ANODIZED STEEL | 14| 4 +Brand#24 |MEDIUM ANODIZED STEEL | 36| 4 +Brand#24 |MEDIUM ANODIZED STEEL | 45| 4 +Brand#24 |MEDIUM ANODIZED TIN | 9| 4 +Brand#24 |MEDIUM ANODIZED TIN | 19| 4 +Brand#24 |MEDIUM ANODIZED TIN | 23| 4 +Brand#24 |MEDIUM ANODIZED TIN | 36| 4 +Brand#24 |MEDIUM ANODIZED TIN | 45| 4 +Brand#24 |MEDIUM ANODIZED TIN | 49| 4 +Brand#24 |MEDIUM BRUSHED BRASS | 9| 4 +Brand#24 |MEDIUM BRUSHED BRASS | 14| 4 +Brand#24 |MEDIUM BRUSHED BRASS | 23| 4 +Brand#24 |MEDIUM BRUSHED BRASS | 36| 4 +Brand#24 |MEDIUM BRUSHED COPPER | 9| 4 +Brand#24 |MEDIUM BRUSHED COPPER | 45| 4 +Brand#24 |MEDIUM BRUSHED NICKEL | 3| 4 +Brand#24 |MEDIUM BRUSHED NICKEL | 23| 4 +Brand#24 |MEDIUM BRUSHED STEEL | 3| 4 +Brand#24 |MEDIUM BRUSHED STEEL | 9| 4 +Brand#24 |MEDIUM BRUSHED STEEL | 14| 4 +Brand#24 |MEDIUM BRUSHED STEEL | 45| 4 +Brand#24 |MEDIUM BRUSHED TIN | 19| 4 +Brand#24 |MEDIUM BRUSHED TIN | 36| 4 +Brand#24 |MEDIUM BRUSHED TIN | 45| 4 +Brand#24 |MEDIUM BURNISHED BRASS | 3| 4 +Brand#24 |MEDIUM BURNISHED BRASS | 14| 4 +Brand#24 |MEDIUM BURNISHED BRASS | 19| 4 +Brand#24 |MEDIUM BURNISHED BRASS | 45| 4 +Brand#24 |MEDIUM BURNISHED COPPER | 36| 4 +Brand#24 |MEDIUM BURNISHED COPPER | 45| 4 +Brand#24 |MEDIUM BURNISHED NICKEL | 3| 4 +Brand#24 |MEDIUM BURNISHED NICKEL | 9| 4 +Brand#24 |MEDIUM BURNISHED NICKEL | 14| 4 +Brand#24 |MEDIUM BURNISHED NICKEL | 19| 4 +Brand#24 |MEDIUM BURNISHED STEEL | 9| 4 +Brand#24 |MEDIUM BURNISHED STEEL | 14| 4 +Brand#24 |MEDIUM BURNISHED STEEL | 45| 4 +Brand#24 |MEDIUM BURNISHED TIN | 3| 4 +Brand#24 |MEDIUM BURNISHED TIN | 19| 4 +Brand#24 |MEDIUM BURNISHED TIN | 45| 4 +Brand#24 |MEDIUM BURNISHED TIN | 49| 4 +Brand#24 |MEDIUM PLATED BRASS | 9| 4 +Brand#24 |MEDIUM PLATED BRASS | 14| 4 +Brand#24 |MEDIUM PLATED COPPER | 14| 4 +Brand#24 |MEDIUM PLATED COPPER | 36| 4 +Brand#24 |MEDIUM PLATED NICKEL | 14| 4 +Brand#24 |MEDIUM PLATED NICKEL | 23| 4 +Brand#24 |MEDIUM PLATED NICKEL | 49| 4 +Brand#24 |MEDIUM PLATED STEEL | 3| 4 +Brand#24 |MEDIUM PLATED STEEL | 23| 4 +Brand#24 |MEDIUM PLATED TIN | 3| 4 +Brand#24 |MEDIUM PLATED TIN | 9| 4 +Brand#24 |MEDIUM PLATED TIN | 14| 4 +Brand#24 |MEDIUM PLATED TIN | 19| 4 +Brand#24 |MEDIUM PLATED TIN | 23| 4 +Brand#24 |MEDIUM PLATED TIN | 36| 4 +Brand#24 |MEDIUM PLATED TIN | 45| 4 +Brand#24 |MEDIUM PLATED TIN | 49| 4 +Brand#24 |PROMO ANODIZED BRASS | 9| 4 +Brand#24 |PROMO ANODIZED BRASS | 14| 4 +Brand#24 |PROMO ANODIZED BRASS | 19| 4 +Brand#24 |PROMO ANODIZED BRASS | 23| 4 +Brand#24 |PROMO ANODIZED BRASS | 36| 4 +Brand#24 |PROMO ANODIZED BRASS | 45| 4 +Brand#24 |PROMO ANODIZED BRASS | 49| 4 +Brand#24 |PROMO ANODIZED COPPER | 14| 4 +Brand#24 |PROMO ANODIZED COPPER | 23| 4 +Brand#24 |PROMO ANODIZED COPPER | 49| 4 +Brand#24 |PROMO ANODIZED NICKEL | 9| 4 +Brand#24 |PROMO ANODIZED NICKEL | 23| 4 +Brand#24 |PROMO ANODIZED NICKEL | 49| 4 +Brand#24 |PROMO ANODIZED STEEL | 3| 4 +Brand#24 |PROMO ANODIZED STEEL | 14| 4 +Brand#24 |PROMO ANODIZED STEEL | 49| 4 +Brand#24 |PROMO ANODIZED TIN | 36| 4 +Brand#24 |PROMO ANODIZED TIN | 45| 4 +Brand#24 |PROMO BRUSHED BRASS | 3| 4 +Brand#24 |PROMO BRUSHED BRASS | 9| 4 +Brand#24 |PROMO BRUSHED BRASS | 36| 4 +Brand#24 |PROMO BRUSHED BRASS | 45| 4 +Brand#24 |PROMO BRUSHED BRASS | 49| 4 +Brand#24 |PROMO BRUSHED COPPER | 9| 4 +Brand#24 |PROMO BRUSHED COPPER | 36| 4 +Brand#24 |PROMO BRUSHED NICKEL | 23| 4 +Brand#24 |PROMO BRUSHED STEEL | 9| 4 +Brand#24 |PROMO BRUSHED STEEL | 14| 4 +Brand#24 |PROMO BRUSHED STEEL | 36| 4 +Brand#24 |PROMO BRUSHED STEEL | 45| 4 +Brand#24 |PROMO BRUSHED STEEL | 49| 4 +Brand#24 |PROMO BRUSHED TIN | 19| 4 +Brand#24 |PROMO BRUSHED TIN | 23| 4 +Brand#24 |PROMO BRUSHED TIN | 45| 4 +Brand#24 |PROMO BRUSHED TIN | 49| 4 +Brand#24 |PROMO BURNISHED BRASS | 3| 4 +Brand#24 |PROMO BURNISHED BRASS | 9| 4 +Brand#24 |PROMO BURNISHED BRASS | 19| 4 +Brand#24 |PROMO BURNISHED BRASS | 45| 4 +Brand#24 |PROMO BURNISHED COPPER | 3| 4 +Brand#24 |PROMO BURNISHED COPPER | 9| 4 +Brand#24 |PROMO BURNISHED COPPER | 14| 4 +Brand#24 |PROMO BURNISHED COPPER | 19| 4 +Brand#24 |PROMO BURNISHED COPPER | 23| 4 +Brand#24 |PROMO BURNISHED COPPER | 36| 4 +Brand#24 |PROMO BURNISHED NICKEL | 9| 4 +Brand#24 |PROMO BURNISHED NICKEL | 49| 4 +Brand#24 |PROMO BURNISHED TIN | 3| 4 +Brand#24 |PROMO BURNISHED TIN | 9| 4 +Brand#24 |PROMO BURNISHED TIN | 36| 4 +Brand#24 |PROMO PLATED BRASS | 14| 4 +Brand#24 |PROMO PLATED COPPER | 19| 4 +Brand#24 |PROMO PLATED COPPER | 23| 4 +Brand#24 |PROMO PLATED NICKEL | 3| 4 +Brand#24 |PROMO PLATED NICKEL | 19| 4 +Brand#24 |PROMO PLATED NICKEL | 45| 4 +Brand#24 |PROMO PLATED NICKEL | 49| 4 +Brand#24 |PROMO PLATED STEEL | 19| 4 +Brand#24 |PROMO PLATED STEEL | 45| 4 +Brand#24 |PROMO PLATED TIN | 3| 4 +Brand#24 |PROMO PLATED TIN | 9| 4 +Brand#24 |PROMO PLATED TIN | 45| 4 +Brand#24 |PROMO POLISHED BRASS | 23| 4 +Brand#24 |PROMO POLISHED BRASS | 49| 4 +Brand#24 |PROMO POLISHED COPPER | 36| 4 +Brand#24 |PROMO POLISHED NICKEL | 3| 4 +Brand#24 |PROMO POLISHED NICKEL | 14| 4 +Brand#24 |PROMO POLISHED NICKEL | 19| 4 +Brand#24 |PROMO POLISHED NICKEL | 23| 4 +Brand#24 |PROMO POLISHED STEEL | 3| 4 +Brand#24 |PROMO POLISHED STEEL | 19| 4 +Brand#24 |PROMO POLISHED STEEL | 45| 4 +Brand#24 |PROMO POLISHED STEEL | 49| 4 +Brand#24 |PROMO POLISHED TIN | 19| 4 +Brand#24 |PROMO POLISHED TIN | 23| 4 +Brand#24 |PROMO POLISHED TIN | 36| 4 +Brand#24 |PROMO POLISHED TIN | 49| 4 +Brand#24 |SMALL ANODIZED BRASS | 3| 4 +Brand#24 |SMALL ANODIZED BRASS | 9| 4 +Brand#24 |SMALL ANODIZED BRASS | 36| 4 +Brand#24 |SMALL ANODIZED BRASS | 45| 4 +Brand#24 |SMALL ANODIZED BRASS | 49| 4 +Brand#24 |SMALL ANODIZED COPPER | 14| 4 +Brand#24 |SMALL ANODIZED COPPER | 23| 4 +Brand#24 |SMALL ANODIZED COPPER | 49| 4 +Brand#24 |SMALL ANODIZED NICKEL | 3| 4 +Brand#24 |SMALL ANODIZED NICKEL | 14| 4 +Brand#24 |SMALL ANODIZED NICKEL | 36| 4 +Brand#24 |SMALL ANODIZED STEEL | 14| 4 +Brand#24 |SMALL ANODIZED STEEL | 36| 4 +Brand#24 |SMALL ANODIZED TIN | 3| 4 +Brand#24 |SMALL ANODIZED TIN | 19| 4 +Brand#24 |SMALL ANODIZED TIN | 49| 4 +Brand#24 |SMALL BRUSHED BRASS | 14| 4 +Brand#24 |SMALL BRUSHED BRASS | 49| 4 +Brand#24 |SMALL BRUSHED COPPER | 36| 4 +Brand#24 |SMALL BRUSHED COPPER | 45| 4 +Brand#24 |SMALL BRUSHED COPPER | 49| 4 +Brand#24 |SMALL BRUSHED NICKEL | 3| 4 +Brand#24 |SMALL BRUSHED NICKEL | 9| 4 +Brand#24 |SMALL BRUSHED NICKEL | 14| 4 +Brand#24 |SMALL BRUSHED NICKEL | 23| 4 +Brand#24 |SMALL BRUSHED NICKEL | 45| 4 +Brand#24 |SMALL BRUSHED STEEL | 3| 4 +Brand#24 |SMALL BRUSHED STEEL | 49| 4 +Brand#24 |SMALL BRUSHED TIN | 23| 4 +Brand#24 |SMALL BRUSHED TIN | 45| 4 +Brand#24 |SMALL BURNISHED BRASS | 9| 4 +Brand#24 |SMALL BURNISHED BRASS | 23| 4 +Brand#24 |SMALL BURNISHED BRASS | 45| 4 +Brand#24 |SMALL BURNISHED COPPER | 3| 4 +Brand#24 |SMALL BURNISHED COPPER | 9| 4 +Brand#24 |SMALL BURNISHED COPPER | 14| 4 +Brand#24 |SMALL BURNISHED NICKEL | 49| 4 +Brand#24 |SMALL BURNISHED STEEL | 3| 4 +Brand#24 |SMALL BURNISHED STEEL | 9| 4 +Brand#24 |SMALL BURNISHED STEEL | 14| 4 +Brand#24 |SMALL BURNISHED STEEL | 19| 4 +Brand#24 |SMALL BURNISHED STEEL | 45| 4 +Brand#24 |SMALL BURNISHED TIN | 3| 4 +Brand#24 |SMALL BURNISHED TIN | 19| 4 +Brand#24 |SMALL BURNISHED TIN | 36| 4 +Brand#24 |SMALL BURNISHED TIN | 49| 4 +Brand#24 |SMALL PLATED BRASS | 49| 4 +Brand#24 |SMALL PLATED COPPER | 9| 4 +Brand#24 |SMALL PLATED COPPER | 14| 4 +Brand#24 |SMALL PLATED COPPER | 36| 4 +Brand#24 |SMALL PLATED COPPER | 45| 4 +Brand#24 |SMALL PLATED COPPER | 49| 4 +Brand#24 |SMALL PLATED NICKEL | 9| 4 +Brand#24 |SMALL PLATED NICKEL | 19| 4 +Brand#24 |SMALL PLATED NICKEL | 23| 4 +Brand#24 |SMALL PLATED NICKEL | 36| 4 +Brand#24 |SMALL PLATED NICKEL | 45| 4 +Brand#24 |SMALL PLATED STEEL | 9| 4 +Brand#24 |SMALL PLATED STEEL | 45| 4 +Brand#24 |SMALL PLATED TIN | 19| 4 +Brand#24 |SMALL PLATED TIN | 36| 4 +Brand#24 |SMALL PLATED TIN | 49| 4 +Brand#24 |SMALL POLISHED BRASS | 19| 4 +Brand#24 |SMALL POLISHED BRASS | 36| 4 +Brand#24 |SMALL POLISHED BRASS | 45| 4 +Brand#24 |SMALL POLISHED BRASS | 49| 4 +Brand#24 |SMALL POLISHED COPPER | 9| 4 +Brand#24 |SMALL POLISHED COPPER | 14| 4 +Brand#24 |SMALL POLISHED COPPER | 19| 4 +Brand#24 |SMALL POLISHED COPPER | 49| 4 +Brand#24 |SMALL POLISHED NICKEL | 14| 4 +Brand#24 |SMALL POLISHED NICKEL | 23| 4 +Brand#24 |SMALL POLISHED STEEL | 23| 4 +Brand#24 |SMALL POLISHED STEEL | 36| 4 +Brand#24 |SMALL POLISHED TIN | 14| 4 +Brand#24 |SMALL POLISHED TIN | 23| 4 +Brand#24 |STANDARD ANODIZED BRASS | 9| 4 +Brand#24 |STANDARD ANODIZED BRASS | 19| 4 +Brand#24 |STANDARD ANODIZED BRASS | 45| 4 +Brand#24 |STANDARD ANODIZED COPPER | 3| 4 +Brand#24 |STANDARD ANODIZED COPPER | 9| 4 +Brand#24 |STANDARD ANODIZED COPPER | 23| 4 +Brand#24 |STANDARD ANODIZED COPPER | 36| 4 +Brand#24 |STANDARD ANODIZED COPPER | 45| 4 +Brand#24 |STANDARD ANODIZED COPPER | 49| 4 +Brand#24 |STANDARD ANODIZED NICKEL | 19| 4 +Brand#24 |STANDARD ANODIZED NICKEL | 23| 4 +Brand#24 |STANDARD ANODIZED NICKEL | 45| 4 +Brand#24 |STANDARD ANODIZED STEEL | 9| 4 +Brand#24 |STANDARD ANODIZED STEEL | 19| 4 +Brand#24 |STANDARD ANODIZED STEEL | 45| 4 +Brand#24 |STANDARD ANODIZED STEEL | 49| 4 +Brand#24 |STANDARD ANODIZED TIN | 9| 4 +Brand#24 |STANDARD ANODIZED TIN | 23| 4 +Brand#24 |STANDARD BRUSHED BRASS | 45| 4 +Brand#24 |STANDARD BRUSHED COPPER | 3| 4 +Brand#24 |STANDARD BRUSHED NICKEL | 9| 4 +Brand#24 |STANDARD BRUSHED NICKEL | 36| 4 +Brand#24 |STANDARD BRUSHED STEEL | 3| 4 +Brand#24 |STANDARD BRUSHED STEEL | 9| 4 +Brand#24 |STANDARD BRUSHED STEEL | 14| 4 +Brand#24 |STANDARD BRUSHED STEEL | 36| 4 +Brand#24 |STANDARD BRUSHED STEEL | 49| 4 +Brand#24 |STANDARD BRUSHED TIN | 9| 4 +Brand#24 |STANDARD BRUSHED TIN | 19| 4 +Brand#24 |STANDARD BRUSHED TIN | 45| 4 +Brand#24 |STANDARD BURNISHED BRASS | 3| 4 +Brand#24 |STANDARD BURNISHED BRASS | 9| 4 +Brand#24 |STANDARD BURNISHED BRASS | 19| 4 +Brand#24 |STANDARD BURNISHED BRASS | 23| 4 +Brand#24 |STANDARD BURNISHED BRASS | 49| 4 +Brand#24 |STANDARD BURNISHED COPPER| 9| 4 +Brand#24 |STANDARD BURNISHED COPPER| 14| 4 +Brand#24 |STANDARD BURNISHED COPPER| 36| 4 +Brand#24 |STANDARD BURNISHED NICKEL| 14| 4 +Brand#24 |STANDARD BURNISHED NICKEL| 45| 4 +Brand#24 |STANDARD BURNISHED NICKEL| 49| 4 +Brand#24 |STANDARD BURNISHED STEEL | 3| 4 +Brand#24 |STANDARD BURNISHED STEEL | 14| 4 +Brand#24 |STANDARD BURNISHED STEEL | 19| 4 +Brand#24 |STANDARD BURNISHED STEEL | 23| 4 +Brand#24 |STANDARD BURNISHED STEEL | 49| 4 +Brand#24 |STANDARD BURNISHED TIN | 9| 4 +Brand#24 |STANDARD BURNISHED TIN | 19| 4 +Brand#24 |STANDARD BURNISHED TIN | 36| 4 +Brand#24 |STANDARD BURNISHED TIN | 49| 4 +Brand#24 |STANDARD PLATED BRASS | 3| 4 +Brand#24 |STANDARD PLATED BRASS | 19| 4 +Brand#24 |STANDARD PLATED BRASS | 45| 4 +Brand#24 |STANDARD PLATED BRASS | 49| 4 +Brand#24 |STANDARD PLATED COPPER | 19| 4 +Brand#24 |STANDARD PLATED COPPER | 45| 4 +Brand#24 |STANDARD PLATED NICKEL | 49| 4 +Brand#24 |STANDARD PLATED STEEL | 23| 4 +Brand#24 |STANDARD PLATED STEEL | 36| 4 +Brand#24 |STANDARD PLATED TIN | 3| 4 +Brand#24 |STANDARD PLATED TIN | 14| 4 +Brand#24 |STANDARD PLATED TIN | 19| 4 +Brand#24 |STANDARD PLATED TIN | 23| 4 +Brand#24 |STANDARD POLISHED BRASS | 3| 4 +Brand#24 |STANDARD POLISHED BRASS | 19| 4 +Brand#24 |STANDARD POLISHED BRASS | 36| 4 +Brand#24 |STANDARD POLISHED COPPER | 19| 4 +Brand#24 |STANDARD POLISHED NICKEL | 19| 4 +Brand#24 |STANDARD POLISHED NICKEL | 36| 4 +Brand#24 |STANDARD POLISHED STEEL | 36| 4 +Brand#24 |STANDARD POLISHED STEEL | 45| 4 +Brand#24 |STANDARD POLISHED STEEL | 49| 4 +Brand#24 |STANDARD POLISHED TIN | 3| 4 +Brand#24 |STANDARD POLISHED TIN | 9| 4 +Brand#24 |STANDARD POLISHED TIN | 14| 4 +Brand#24 |STANDARD POLISHED TIN | 19| 4 +Brand#24 |STANDARD POLISHED TIN | 36| 4 +Brand#24 |STANDARD POLISHED TIN | 49| 4 +Brand#25 |ECONOMY ANODIZED BRASS | 9| 4 +Brand#25 |ECONOMY ANODIZED BRASS | 14| 4 +Brand#25 |ECONOMY ANODIZED BRASS | 23| 4 +Brand#25 |ECONOMY ANODIZED BRASS | 45| 4 +Brand#25 |ECONOMY ANODIZED COPPER | 3| 4 +Brand#25 |ECONOMY ANODIZED COPPER | 36| 4 +Brand#25 |ECONOMY ANODIZED COPPER | 45| 4 +Brand#25 |ECONOMY ANODIZED COPPER | 49| 4 +Brand#25 |ECONOMY ANODIZED NICKEL | 23| 4 +Brand#25 |ECONOMY ANODIZED NICKEL | 36| 4 +Brand#25 |ECONOMY ANODIZED NICKEL | 49| 4 +Brand#25 |ECONOMY ANODIZED STEEL | 9| 4 +Brand#25 |ECONOMY ANODIZED STEEL | 23| 4 +Brand#25 |ECONOMY ANODIZED TIN | 3| 4 +Brand#25 |ECONOMY ANODIZED TIN | 9| 4 +Brand#25 |ECONOMY ANODIZED TIN | 14| 4 +Brand#25 |ECONOMY ANODIZED TIN | 19| 4 +Brand#25 |ECONOMY ANODIZED TIN | 23| 4 +Brand#25 |ECONOMY ANODIZED TIN | 45| 4 +Brand#25 |ECONOMY BRUSHED BRASS | 9| 4 +Brand#25 |ECONOMY BRUSHED BRASS | 23| 4 +Brand#25 |ECONOMY BRUSHED BRASS | 49| 4 +Brand#25 |ECONOMY BRUSHED COPPER | 19| 4 +Brand#25 |ECONOMY BRUSHED COPPER | 23| 4 +Brand#25 |ECONOMY BRUSHED COPPER | 36| 4 +Brand#25 |ECONOMY BRUSHED COPPER | 49| 4 +Brand#25 |ECONOMY BRUSHED NICKEL | 19| 4 +Brand#25 |ECONOMY BRUSHED STEEL | 14| 4 +Brand#25 |ECONOMY BRUSHED STEEL | 23| 4 +Brand#25 |ECONOMY BRUSHED TIN | 19| 4 +Brand#25 |ECONOMY BRUSHED TIN | 36| 4 +Brand#25 |ECONOMY BURNISHED BRASS | 3| 4 +Brand#25 |ECONOMY BURNISHED BRASS | 23| 4 +Brand#25 |ECONOMY BURNISHED BRASS | 36| 4 +Brand#25 |ECONOMY BURNISHED BRASS | 45| 4 +Brand#25 |ECONOMY BURNISHED BRASS | 49| 4 +Brand#25 |ECONOMY BURNISHED COPPER | 3| 4 +Brand#25 |ECONOMY BURNISHED COPPER | 36| 4 +Brand#25 |ECONOMY BURNISHED NICKEL | 19| 4 +Brand#25 |ECONOMY BURNISHED NICKEL | 49| 4 +Brand#25 |ECONOMY BURNISHED STEEL | 14| 4 +Brand#25 |ECONOMY BURNISHED STEEL | 19| 4 +Brand#25 |ECONOMY BURNISHED STEEL | 23| 4 +Brand#25 |ECONOMY BURNISHED STEEL | 45| 4 +Brand#25 |ECONOMY BURNISHED TIN | 3| 4 +Brand#25 |ECONOMY BURNISHED TIN | 9| 4 +Brand#25 |ECONOMY BURNISHED TIN | 19| 4 +Brand#25 |ECONOMY BURNISHED TIN | 49| 4 +Brand#25 |ECONOMY PLATED BRASS | 9| 4 +Brand#25 |ECONOMY PLATED BRASS | 19| 4 +Brand#25 |ECONOMY PLATED BRASS | 36| 4 +Brand#25 |ECONOMY PLATED BRASS | 45| 4 +Brand#25 |ECONOMY PLATED BRASS | 49| 4 +Brand#25 |ECONOMY PLATED COPPER | 14| 4 +Brand#25 |ECONOMY PLATED COPPER | 23| 4 +Brand#25 |ECONOMY PLATED COPPER | 36| 4 +Brand#25 |ECONOMY PLATED COPPER | 49| 4 +Brand#25 |ECONOMY PLATED NICKEL | 3| 4 +Brand#25 |ECONOMY PLATED NICKEL | 9| 4 +Brand#25 |ECONOMY PLATED NICKEL | 23| 4 +Brand#25 |ECONOMY PLATED NICKEL | 49| 4 +Brand#25 |ECONOMY PLATED STEEL | 3| 4 +Brand#25 |ECONOMY PLATED STEEL | 14| 4 +Brand#25 |ECONOMY PLATED STEEL | 36| 4 +Brand#25 |ECONOMY PLATED STEEL | 45| 4 +Brand#25 |ECONOMY PLATED TIN | 9| 4 +Brand#25 |ECONOMY PLATED TIN | 23| 4 +Brand#25 |ECONOMY PLATED TIN | 45| 4 +Brand#25 |ECONOMY PLATED TIN | 49| 4 +Brand#25 |ECONOMY POLISHED BRASS | 14| 4 +Brand#25 |ECONOMY POLISHED BRASS | 23| 4 +Brand#25 |ECONOMY POLISHED BRASS | 49| 4 +Brand#25 |ECONOMY POLISHED COPPER | 19| 4 +Brand#25 |ECONOMY POLISHED COPPER | 45| 4 +Brand#25 |ECONOMY POLISHED COPPER | 49| 4 +Brand#25 |ECONOMY POLISHED NICKEL | 19| 4 +Brand#25 |ECONOMY POLISHED NICKEL | 36| 4 +Brand#25 |ECONOMY POLISHED NICKEL | 49| 4 +Brand#25 |ECONOMY POLISHED STEEL | 3| 4 +Brand#25 |ECONOMY POLISHED STEEL | 19| 4 +Brand#25 |ECONOMY POLISHED STEEL | 23| 4 +Brand#25 |ECONOMY POLISHED STEEL | 45| 4 +Brand#25 |ECONOMY POLISHED STEEL | 49| 4 +Brand#25 |ECONOMY POLISHED TIN | 3| 4 +Brand#25 |ECONOMY POLISHED TIN | 9| 4 +Brand#25 |ECONOMY POLISHED TIN | 14| 4 +Brand#25 |LARGE ANODIZED BRASS | 9| 4 +Brand#25 |LARGE ANODIZED BRASS | 19| 4 +Brand#25 |LARGE ANODIZED BRASS | 36| 4 +Brand#25 |LARGE ANODIZED BRASS | 49| 4 +Brand#25 |LARGE ANODIZED COPPER | 49| 4 +Brand#25 |LARGE ANODIZED NICKEL | 9| 4 +Brand#25 |LARGE ANODIZED NICKEL | 19| 4 +Brand#25 |LARGE ANODIZED NICKEL | 23| 4 +Brand#25 |LARGE ANODIZED NICKEL | 49| 4 +Brand#25 |LARGE ANODIZED STEEL | 19| 4 +Brand#25 |LARGE ANODIZED STEEL | 23| 4 +Brand#25 |LARGE ANODIZED STEEL | 36| 4 +Brand#25 |LARGE ANODIZED STEEL | 49| 4 +Brand#25 |LARGE ANODIZED TIN | 14| 4 +Brand#25 |LARGE ANODIZED TIN | 49| 4 +Brand#25 |LARGE BRUSHED BRASS | 14| 4 +Brand#25 |LARGE BRUSHED BRASS | 36| 4 +Brand#25 |LARGE BRUSHED BRASS | 45| 4 +Brand#25 |LARGE BRUSHED COPPER | 3| 4 +Brand#25 |LARGE BRUSHED COPPER | 9| 4 +Brand#25 |LARGE BRUSHED COPPER | 19| 4 +Brand#25 |LARGE BRUSHED COPPER | 23| 4 +Brand#25 |LARGE BRUSHED COPPER | 45| 4 +Brand#25 |LARGE BRUSHED COPPER | 49| 4 +Brand#25 |LARGE BRUSHED NICKEL | 3| 4 +Brand#25 |LARGE BRUSHED NICKEL | 23| 4 +Brand#25 |LARGE BRUSHED NICKEL | 45| 4 +Brand#25 |LARGE BRUSHED STEEL | 3| 4 +Brand#25 |LARGE BRUSHED STEEL | 9| 4 +Brand#25 |LARGE BRUSHED STEEL | 14| 4 +Brand#25 |LARGE BRUSHED TIN | 14| 4 +Brand#25 |LARGE BRUSHED TIN | 19| 4 +Brand#25 |LARGE BRUSHED TIN | 23| 4 +Brand#25 |LARGE BRUSHED TIN | 36| 4 +Brand#25 |LARGE BRUSHED TIN | 45| 4 +Brand#25 |LARGE BURNISHED BRASS | 19| 4 +Brand#25 |LARGE BURNISHED COPPER | 9| 4 +Brand#25 |LARGE BURNISHED COPPER | 49| 4 +Brand#25 |LARGE BURNISHED NICKEL | 3| 4 +Brand#25 |LARGE BURNISHED STEEL | 3| 4 +Brand#25 |LARGE BURNISHED STEEL | 9| 4 +Brand#25 |LARGE BURNISHED STEEL | 19| 4 +Brand#25 |LARGE BURNISHED STEEL | 49| 4 +Brand#25 |LARGE BURNISHED TIN | 19| 4 +Brand#25 |LARGE BURNISHED TIN | 45| 4 +Brand#25 |LARGE BURNISHED TIN | 49| 4 +Brand#25 |LARGE PLATED BRASS | 14| 4 +Brand#25 |LARGE PLATED BRASS | 45| 4 +Brand#25 |LARGE PLATED COPPER | 19| 4 +Brand#25 |LARGE PLATED COPPER | 23| 4 +Brand#25 |LARGE PLATED NICKEL | 3| 4 +Brand#25 |LARGE PLATED NICKEL | 9| 4 +Brand#25 |LARGE PLATED NICKEL | 14| 4 +Brand#25 |LARGE PLATED NICKEL | 19| 4 +Brand#25 |LARGE PLATED NICKEL | 23| 4 +Brand#25 |LARGE PLATED STEEL | 14| 4 +Brand#25 |LARGE PLATED STEEL | 36| 4 +Brand#25 |LARGE PLATED TIN | 14| 4 +Brand#25 |LARGE POLISHED BRASS | 3| 4 +Brand#25 |LARGE POLISHED BRASS | 45| 4 +Brand#25 |LARGE POLISHED BRASS | 49| 4 +Brand#25 |LARGE POLISHED COPPER | 3| 4 +Brand#25 |LARGE POLISHED COPPER | 9| 4 +Brand#25 |LARGE POLISHED COPPER | 19| 4 +Brand#25 |LARGE POLISHED COPPER | 49| 4 +Brand#25 |LARGE POLISHED NICKEL | 3| 4 +Brand#25 |LARGE POLISHED NICKEL | 9| 4 +Brand#25 |LARGE POLISHED NICKEL | 23| 4 +Brand#25 |LARGE POLISHED STEEL | 3| 4 +Brand#25 |LARGE POLISHED STEEL | 14| 4 +Brand#25 |LARGE POLISHED TIN | 9| 4 +Brand#25 |LARGE POLISHED TIN | 19| 4 +Brand#25 |LARGE POLISHED TIN | 36| 4 +Brand#25 |MEDIUM ANODIZED BRASS | 23| 4 +Brand#25 |MEDIUM ANODIZED BRASS | 45| 4 +Brand#25 |MEDIUM ANODIZED COPPER | 3| 4 +Brand#25 |MEDIUM ANODIZED COPPER | 14| 4 +Brand#25 |MEDIUM ANODIZED COPPER | 19| 4 +Brand#25 |MEDIUM ANODIZED COPPER | 23| 4 +Brand#25 |MEDIUM ANODIZED NICKEL | 14| 4 +Brand#25 |MEDIUM ANODIZED NICKEL | 19| 4 +Brand#25 |MEDIUM ANODIZED STEEL | 9| 4 +Brand#25 |MEDIUM ANODIZED STEEL | 45| 4 +Brand#25 |MEDIUM ANODIZED STEEL | 49| 4 +Brand#25 |MEDIUM ANODIZED TIN | 14| 4 +Brand#25 |MEDIUM ANODIZED TIN | 19| 4 +Brand#25 |MEDIUM ANODIZED TIN | 23| 4 +Brand#25 |MEDIUM ANODIZED TIN | 36| 4 +Brand#25 |MEDIUM BRUSHED BRASS | 19| 4 +Brand#25 |MEDIUM BRUSHED BRASS | 23| 4 +Brand#25 |MEDIUM BRUSHED BRASS | 45| 4 +Brand#25 |MEDIUM BRUSHED COPPER | 19| 4 +Brand#25 |MEDIUM BRUSHED COPPER | 36| 4 +Brand#25 |MEDIUM BRUSHED NICKEL | 9| 4 +Brand#25 |MEDIUM BRUSHED NICKEL | 19| 4 +Brand#25 |MEDIUM BRUSHED NICKEL | 45| 4 +Brand#25 |MEDIUM BRUSHED STEEL | 14| 4 +Brand#25 |MEDIUM BRUSHED STEEL | 19| 4 +Brand#25 |MEDIUM BRUSHED STEEL | 23| 4 +Brand#25 |MEDIUM BRUSHED STEEL | 36| 4 +Brand#25 |MEDIUM BRUSHED STEEL | 49| 4 +Brand#25 |MEDIUM BRUSHED TIN | 3| 4 +Brand#25 |MEDIUM BRUSHED TIN | 36| 4 +Brand#25 |MEDIUM BRUSHED TIN | 45| 4 +Brand#25 |MEDIUM BURNISHED BRASS | 9| 4 +Brand#25 |MEDIUM BURNISHED BRASS | 14| 4 +Brand#25 |MEDIUM BURNISHED BRASS | 23| 4 +Brand#25 |MEDIUM BURNISHED COPPER | 9| 4 +Brand#25 |MEDIUM BURNISHED COPPER | 23| 4 +Brand#25 |MEDIUM BURNISHED NICKEL | 23| 4 +Brand#25 |MEDIUM BURNISHED NICKEL | 36| 4 +Brand#25 |MEDIUM BURNISHED NICKEL | 45| 4 +Brand#25 |MEDIUM BURNISHED NICKEL | 49| 4 +Brand#25 |MEDIUM BURNISHED STEEL | 9| 4 +Brand#25 |MEDIUM BURNISHED STEEL | 14| 4 +Brand#25 |MEDIUM BURNISHED STEEL | 23| 4 +Brand#25 |MEDIUM BURNISHED TIN | 23| 4 +Brand#25 |MEDIUM BURNISHED TIN | 36| 4 +Brand#25 |MEDIUM BURNISHED TIN | 45| 4 +Brand#25 |MEDIUM PLATED BRASS | 3| 4 +Brand#25 |MEDIUM PLATED BRASS | 9| 4 +Brand#25 |MEDIUM PLATED BRASS | 19| 4 +Brand#25 |MEDIUM PLATED BRASS | 23| 4 +Brand#25 |MEDIUM PLATED BRASS | 36| 4 +Brand#25 |MEDIUM PLATED COPPER | 3| 4 +Brand#25 |MEDIUM PLATED COPPER | 19| 4 +Brand#25 |MEDIUM PLATED COPPER | 36| 4 +Brand#25 |MEDIUM PLATED NICKEL | 3| 4 +Brand#25 |MEDIUM PLATED NICKEL | 14| 4 +Brand#25 |MEDIUM PLATED STEEL | 14| 4 +Brand#25 |MEDIUM PLATED STEEL | 19| 4 +Brand#25 |MEDIUM PLATED STEEL | 49| 4 +Brand#25 |MEDIUM PLATED TIN | 9| 4 +Brand#25 |MEDIUM PLATED TIN | 19| 4 +Brand#25 |MEDIUM PLATED TIN | 23| 4 +Brand#25 |PROMO ANODIZED BRASS | 3| 4 +Brand#25 |PROMO ANODIZED BRASS | 19| 4 +Brand#25 |PROMO ANODIZED COPPER | 9| 4 +Brand#25 |PROMO ANODIZED COPPER | 14| 4 +Brand#25 |PROMO ANODIZED NICKEL | 9| 4 +Brand#25 |PROMO ANODIZED NICKEL | 19| 4 +Brand#25 |PROMO ANODIZED STEEL | 3| 4 +Brand#25 |PROMO ANODIZED STEEL | 14| 4 +Brand#25 |PROMO ANODIZED STEEL | 36| 4 +Brand#25 |PROMO ANODIZED TIN | 45| 4 +Brand#25 |PROMO BRUSHED BRASS | 3| 4 +Brand#25 |PROMO BRUSHED BRASS | 9| 4 +Brand#25 |PROMO BRUSHED COPPER | 3| 4 +Brand#25 |PROMO BRUSHED COPPER | 36| 4 +Brand#25 |PROMO BRUSHED NICKEL | 23| 4 +Brand#25 |PROMO BRUSHED NICKEL | 49| 4 +Brand#25 |PROMO BRUSHED STEEL | 19| 4 +Brand#25 |PROMO BRUSHED STEEL | 36| 4 +Brand#25 |PROMO BRUSHED TIN | 3| 4 +Brand#25 |PROMO BRUSHED TIN | 23| 4 +Brand#25 |PROMO BRUSHED TIN | 36| 4 +Brand#25 |PROMO BURNISHED BRASS | 9| 4 +Brand#25 |PROMO BURNISHED COPPER | 3| 4 +Brand#25 |PROMO BURNISHED COPPER | 9| 4 +Brand#25 |PROMO BURNISHED NICKEL | 14| 4 +Brand#25 |PROMO BURNISHED NICKEL | 19| 4 +Brand#25 |PROMO BURNISHED NICKEL | 23| 4 +Brand#25 |PROMO BURNISHED STEEL | 3| 4 +Brand#25 |PROMO BURNISHED STEEL | 49| 4 +Brand#25 |PROMO BURNISHED TIN | 9| 4 +Brand#25 |PROMO BURNISHED TIN | 23| 4 +Brand#25 |PROMO BURNISHED TIN | 45| 4 +Brand#25 |PROMO BURNISHED TIN | 49| 4 +Brand#25 |PROMO PLATED BRASS | 36| 4 +Brand#25 |PROMO PLATED BRASS | 45| 4 +Brand#25 |PROMO PLATED COPPER | 3| 4 +Brand#25 |PROMO PLATED COPPER | 14| 4 +Brand#25 |PROMO PLATED COPPER | 19| 4 +Brand#25 |PROMO PLATED COPPER | 45| 4 +Brand#25 |PROMO PLATED NICKEL | 14| 4 +Brand#25 |PROMO PLATED NICKEL | 19| 4 +Brand#25 |PROMO PLATED NICKEL | 23| 4 +Brand#25 |PROMO PLATED NICKEL | 45| 4 +Brand#25 |PROMO PLATED STEEL | 14| 4 +Brand#25 |PROMO PLATED STEEL | 19| 4 +Brand#25 |PROMO PLATED TIN | 3| 4 +Brand#25 |PROMO PLATED TIN | 19| 4 +Brand#25 |PROMO PLATED TIN | 23| 4 +Brand#25 |PROMO PLATED TIN | 36| 4 +Brand#25 |PROMO PLATED TIN | 49| 4 +Brand#25 |PROMO POLISHED BRASS | 9| 4 +Brand#25 |PROMO POLISHED BRASS | 23| 4 +Brand#25 |PROMO POLISHED BRASS | 45| 4 +Brand#25 |PROMO POLISHED COPPER | 3| 4 +Brand#25 |PROMO POLISHED COPPER | 45| 4 +Brand#25 |PROMO POLISHED NICKEL | 3| 4 +Brand#25 |PROMO POLISHED NICKEL | 9| 4 +Brand#25 |PROMO POLISHED STEEL | 19| 4 +Brand#25 |PROMO POLISHED TIN | 3| 4 +Brand#25 |PROMO POLISHED TIN | 23| 4 +Brand#25 |PROMO POLISHED TIN | 45| 4 +Brand#25 |PROMO POLISHED TIN | 49| 4 +Brand#25 |SMALL ANODIZED BRASS | 45| 4 +Brand#25 |SMALL ANODIZED COPPER | 3| 4 +Brand#25 |SMALL ANODIZED COPPER | 9| 4 +Brand#25 |SMALL ANODIZED COPPER | 14| 4 +Brand#25 |SMALL ANODIZED COPPER | 19| 4 +Brand#25 |SMALL ANODIZED COPPER | 49| 4 +Brand#25 |SMALL ANODIZED NICKEL | 3| 4 +Brand#25 |SMALL ANODIZED NICKEL | 9| 4 +Brand#25 |SMALL ANODIZED NICKEL | 23| 4 +Brand#25 |SMALL ANODIZED NICKEL | 45| 4 +Brand#25 |SMALL ANODIZED STEEL | 3| 4 +Brand#25 |SMALL ANODIZED STEEL | 9| 4 +Brand#25 |SMALL ANODIZED STEEL | 14| 4 +Brand#25 |SMALL ANODIZED STEEL | 19| 4 +Brand#25 |SMALL ANODIZED STEEL | 45| 4 +Brand#25 |SMALL ANODIZED STEEL | 49| 4 +Brand#25 |SMALL ANODIZED TIN | 9| 4 +Brand#25 |SMALL ANODIZED TIN | 19| 4 +Brand#25 |SMALL BRUSHED BRASS | 9| 4 +Brand#25 |SMALL BRUSHED BRASS | 14| 4 +Brand#25 |SMALL BRUSHED BRASS | 19| 4 +Brand#25 |SMALL BRUSHED BRASS | 45| 4 +Brand#25 |SMALL BRUSHED COPPER | 3| 4 +Brand#25 |SMALL BRUSHED COPPER | 9| 4 +Brand#25 |SMALL BRUSHED COPPER | 45| 4 +Brand#25 |SMALL BRUSHED COPPER | 49| 4 +Brand#25 |SMALL BRUSHED NICKEL | 19| 4 +Brand#25 |SMALL BRUSHED NICKEL | 23| 4 +Brand#25 |SMALL BRUSHED NICKEL | 36| 4 +Brand#25 |SMALL BRUSHED NICKEL | 45| 4 +Brand#25 |SMALL BRUSHED STEEL | 19| 4 +Brand#25 |SMALL BRUSHED STEEL | 36| 4 +Brand#25 |SMALL BRUSHED STEEL | 45| 4 +Brand#25 |SMALL BRUSHED STEEL | 49| 4 +Brand#25 |SMALL BRUSHED TIN | 9| 4 +Brand#25 |SMALL BRUSHED TIN | 14| 4 +Brand#25 |SMALL BRUSHED TIN | 19| 4 +Brand#25 |SMALL BURNISHED BRASS | 14| 4 +Brand#25 |SMALL BURNISHED BRASS | 19| 4 +Brand#25 |SMALL BURNISHED BRASS | 45| 4 +Brand#25 |SMALL BURNISHED BRASS | 49| 4 +Brand#25 |SMALL BURNISHED COPPER | 3| 4 +Brand#25 |SMALL BURNISHED COPPER | 14| 4 +Brand#25 |SMALL BURNISHED COPPER | 19| 4 +Brand#25 |SMALL BURNISHED COPPER | 23| 4 +Brand#25 |SMALL BURNISHED NICKEL | 14| 4 +Brand#25 |SMALL BURNISHED NICKEL | 19| 4 +Brand#25 |SMALL BURNISHED STEEL | 9| 4 +Brand#25 |SMALL BURNISHED STEEL | 19| 4 +Brand#25 |SMALL BURNISHED STEEL | 23| 4 +Brand#25 |SMALL BURNISHED STEEL | 36| 4 +Brand#25 |SMALL BURNISHED TIN | 9| 4 +Brand#25 |SMALL BURNISHED TIN | 14| 4 +Brand#25 |SMALL BURNISHED TIN | 23| 4 +Brand#25 |SMALL BURNISHED TIN | 36| 4 +Brand#25 |SMALL BURNISHED TIN | 49| 4 +Brand#25 |SMALL PLATED BRASS | 3| 4 +Brand#25 |SMALL PLATED BRASS | 23| 4 +Brand#25 |SMALL PLATED BRASS | 45| 4 +Brand#25 |SMALL PLATED COPPER | 3| 4 +Brand#25 |SMALL PLATED COPPER | 14| 4 +Brand#25 |SMALL PLATED NICKEL | 3| 4 +Brand#25 |SMALL PLATED NICKEL | 19| 4 +Brand#25 |SMALL PLATED NICKEL | 23| 4 +Brand#25 |SMALL PLATED NICKEL | 49| 4 +Brand#25 |SMALL PLATED STEEL | 3| 4 +Brand#25 |SMALL PLATED STEEL | 14| 4 +Brand#25 |SMALL PLATED TIN | 9| 4 +Brand#25 |SMALL PLATED TIN | 14| 4 +Brand#25 |SMALL PLATED TIN | 19| 4 +Brand#25 |SMALL PLATED TIN | 36| 4 +Brand#25 |SMALL PLATED TIN | 45| 4 +Brand#25 |SMALL POLISHED BRASS | 14| 4 +Brand#25 |SMALL POLISHED BRASS | 36| 4 +Brand#25 |SMALL POLISHED NICKEL | 36| 4 +Brand#25 |SMALL POLISHED NICKEL | 49| 4 +Brand#25 |SMALL POLISHED STEEL | 9| 4 +Brand#25 |SMALL POLISHED STEEL | 49| 4 +Brand#25 |SMALL POLISHED TIN | 14| 4 +Brand#25 |STANDARD ANODIZED BRASS | 14| 4 +Brand#25 |STANDARD ANODIZED BRASS | 23| 4 +Brand#25 |STANDARD ANODIZED BRASS | 36| 4 +Brand#25 |STANDARD ANODIZED COPPER | 9| 4 +Brand#25 |STANDARD ANODIZED COPPER | 14| 4 +Brand#25 |STANDARD ANODIZED COPPER | 19| 4 +Brand#25 |STANDARD ANODIZED COPPER | 36| 4 +Brand#25 |STANDARD ANODIZED COPPER | 49| 4 +Brand#25 |STANDARD ANODIZED NICKEL | 9| 4 +Brand#25 |STANDARD ANODIZED NICKEL | 19| 4 +Brand#25 |STANDARD ANODIZED NICKEL | 36| 4 +Brand#25 |STANDARD ANODIZED STEEL | 19| 4 +Brand#25 |STANDARD ANODIZED STEEL | 36| 4 +Brand#25 |STANDARD ANODIZED STEEL | 45| 4 +Brand#25 |STANDARD ANODIZED STEEL | 49| 4 +Brand#25 |STANDARD ANODIZED TIN | 36| 4 +Brand#25 |STANDARD ANODIZED TIN | 45| 4 +Brand#25 |STANDARD BRUSHED BRASS | 14| 4 +Brand#25 |STANDARD BRUSHED BRASS | 19| 4 +Brand#25 |STANDARD BRUSHED BRASS | 23| 4 +Brand#25 |STANDARD BRUSHED COPPER | 45| 4 +Brand#25 |STANDARD BRUSHED NICKEL | 3| 4 +Brand#25 |STANDARD BRUSHED NICKEL | 9| 4 +Brand#25 |STANDARD BRUSHED NICKEL | 45| 4 +Brand#25 |STANDARD BRUSHED STEEL | 14| 4 +Brand#25 |STANDARD BRUSHED STEEL | 23| 4 +Brand#25 |STANDARD BRUSHED STEEL | 45| 4 +Brand#25 |STANDARD BRUSHED TIN | 3| 4 +Brand#25 |STANDARD BRUSHED TIN | 9| 4 +Brand#25 |STANDARD BRUSHED TIN | 14| 4 +Brand#25 |STANDARD BURNISHED BRASS | 19| 4 +Brand#25 |STANDARD BURNISHED BRASS | 36| 4 +Brand#25 |STANDARD BURNISHED BRASS | 45| 4 +Brand#25 |STANDARD BURNISHED BRASS | 49| 4 +Brand#25 |STANDARD BURNISHED COPPER| 3| 4 +Brand#25 |STANDARD BURNISHED COPPER| 14| 4 +Brand#25 |STANDARD BURNISHED COPPER| 36| 4 +Brand#25 |STANDARD BURNISHED COPPER| 45| 4 +Brand#25 |STANDARD BURNISHED COPPER| 49| 4 +Brand#25 |STANDARD BURNISHED NICKEL| 14| 4 +Brand#25 |STANDARD BURNISHED NICKEL| 45| 4 +Brand#25 |STANDARD BURNISHED NICKEL| 49| 4 +Brand#25 |STANDARD BURNISHED STEEL | 3| 4 +Brand#25 |STANDARD BURNISHED STEEL | 9| 4 +Brand#25 |STANDARD BURNISHED STEEL | 19| 4 +Brand#25 |STANDARD BURNISHED STEEL | 49| 4 +Brand#25 |STANDARD BURNISHED TIN | 9| 4 +Brand#25 |STANDARD BURNISHED TIN | 45| 4 +Brand#25 |STANDARD PLATED BRASS | 3| 4 +Brand#25 |STANDARD PLATED BRASS | 36| 4 +Brand#25 |STANDARD PLATED COPPER | 3| 4 +Brand#25 |STANDARD PLATED COPPER | 19| 4 +Brand#25 |STANDARD PLATED NICKEL | 9| 4 +Brand#25 |STANDARD PLATED NICKEL | 19| 4 +Brand#25 |STANDARD PLATED STEEL | 23| 4 +Brand#25 |STANDARD PLATED TIN | 3| 4 +Brand#25 |STANDARD PLATED TIN | 9| 4 +Brand#25 |STANDARD PLATED TIN | 14| 4 +Brand#25 |STANDARD PLATED TIN | 19| 4 +Brand#25 |STANDARD PLATED TIN | 45| 4 +Brand#25 |STANDARD POLISHED BRASS | 3| 4 +Brand#25 |STANDARD POLISHED BRASS | 14| 4 +Brand#25 |STANDARD POLISHED BRASS | 23| 4 +Brand#25 |STANDARD POLISHED BRASS | 45| 4 +Brand#25 |STANDARD POLISHED COPPER | 9| 4 +Brand#25 |STANDARD POLISHED COPPER | 19| 4 +Brand#25 |STANDARD POLISHED COPPER | 45| 4 +Brand#25 |STANDARD POLISHED COPPER | 49| 4 +Brand#25 |STANDARD POLISHED NICKEL | 14| 4 +Brand#25 |STANDARD POLISHED NICKEL | 23| 4 +Brand#25 |STANDARD POLISHED NICKEL | 49| 4 +Brand#25 |STANDARD POLISHED STEEL | 49| 4 +Brand#25 |STANDARD POLISHED TIN | 9| 4 +Brand#25 |STANDARD POLISHED TIN | 23| 4 +Brand#31 |ECONOMY ANODIZED BRASS | 3| 4 +Brand#31 |ECONOMY ANODIZED BRASS | 9| 4 +Brand#31 |ECONOMY ANODIZED BRASS | 23| 4 +Brand#31 |ECONOMY ANODIZED COPPER | 3| 4 +Brand#31 |ECONOMY ANODIZED COPPER | 9| 4 +Brand#31 |ECONOMY ANODIZED COPPER | 14| 4 +Brand#31 |ECONOMY ANODIZED COPPER | 36| 4 +Brand#31 |ECONOMY ANODIZED COPPER | 45| 4 +Brand#31 |ECONOMY ANODIZED NICKEL | 19| 4 +Brand#31 |ECONOMY ANODIZED NICKEL | 23| 4 +Brand#31 |ECONOMY ANODIZED NICKEL | 36| 4 +Brand#31 |ECONOMY ANODIZED STEEL | 9| 4 +Brand#31 |ECONOMY ANODIZED STEEL | 19| 4 +Brand#31 |ECONOMY ANODIZED STEEL | 23| 4 +Brand#31 |ECONOMY ANODIZED STEEL | 49| 4 +Brand#31 |ECONOMY ANODIZED TIN | 14| 4 +Brand#31 |ECONOMY ANODIZED TIN | 45| 4 +Brand#31 |ECONOMY BRUSHED BRASS | 14| 4 +Brand#31 |ECONOMY BRUSHED BRASS | 23| 4 +Brand#31 |ECONOMY BRUSHED BRASS | 45| 4 +Brand#31 |ECONOMY BRUSHED BRASS | 49| 4 +Brand#31 |ECONOMY BRUSHED COPPER | 19| 4 +Brand#31 |ECONOMY BRUSHED COPPER | 23| 4 +Brand#31 |ECONOMY BRUSHED COPPER | 45| 4 +Brand#31 |ECONOMY BRUSHED COPPER | 49| 4 +Brand#31 |ECONOMY BRUSHED NICKEL | 23| 4 +Brand#31 |ECONOMY BRUSHED NICKEL | 36| 4 +Brand#31 |ECONOMY BRUSHED NICKEL | 45| 4 +Brand#31 |ECONOMY BRUSHED NICKEL | 49| 4 +Brand#31 |ECONOMY BRUSHED STEEL | 45| 4 +Brand#31 |ECONOMY BRUSHED TIN | 3| 4 +Brand#31 |ECONOMY BRUSHED TIN | 9| 4 +Brand#31 |ECONOMY BRUSHED TIN | 45| 4 +Brand#31 |ECONOMY BURNISHED BRASS | 9| 4 +Brand#31 |ECONOMY BURNISHED BRASS | 19| 4 +Brand#31 |ECONOMY BURNISHED BRASS | 36| 4 +Brand#31 |ECONOMY BURNISHED BRASS | 49| 4 +Brand#31 |ECONOMY BURNISHED COPPER | 3| 4 +Brand#31 |ECONOMY BURNISHED COPPER | 23| 4 +Brand#31 |ECONOMY BURNISHED COPPER | 36| 4 +Brand#31 |ECONOMY BURNISHED NICKEL | 3| 4 +Brand#31 |ECONOMY BURNISHED NICKEL | 9| 4 +Brand#31 |ECONOMY BURNISHED NICKEL | 14| 4 +Brand#31 |ECONOMY BURNISHED NICKEL | 23| 4 +Brand#31 |ECONOMY BURNISHED NICKEL | 49| 4 +Brand#31 |ECONOMY BURNISHED STEEL | 9| 4 +Brand#31 |ECONOMY BURNISHED STEEL | 23| 4 +Brand#31 |ECONOMY BURNISHED STEEL | 36| 4 +Brand#31 |ECONOMY BURNISHED STEEL | 45| 4 +Brand#31 |ECONOMY BURNISHED TIN | 36| 4 +Brand#31 |ECONOMY PLATED BRASS | 3| 4 +Brand#31 |ECONOMY PLATED BRASS | 9| 4 +Brand#31 |ECONOMY PLATED BRASS | 14| 4 +Brand#31 |ECONOMY PLATED BRASS | 19| 4 +Brand#31 |ECONOMY PLATED BRASS | 49| 4 +Brand#31 |ECONOMY PLATED COPPER | 9| 4 +Brand#31 |ECONOMY PLATED COPPER | 14| 4 +Brand#31 |ECONOMY PLATED COPPER | 23| 4 +Brand#31 |ECONOMY PLATED COPPER | 36| 4 +Brand#31 |ECONOMY PLATED COPPER | 45| 4 +Brand#31 |ECONOMY PLATED NICKEL | 3| 4 +Brand#31 |ECONOMY PLATED NICKEL | 14| 4 +Brand#31 |ECONOMY PLATED NICKEL | 19| 4 +Brand#31 |ECONOMY PLATED NICKEL | 23| 4 +Brand#31 |ECONOMY PLATED NICKEL | 45| 4 +Brand#31 |ECONOMY PLATED NICKEL | 49| 4 +Brand#31 |ECONOMY PLATED STEEL | 9| 4 +Brand#31 |ECONOMY PLATED STEEL | 14| 4 +Brand#31 |ECONOMY PLATED STEEL | 19| 4 +Brand#31 |ECONOMY PLATED STEEL | 36| 4 +Brand#31 |ECONOMY PLATED TIN | 9| 4 +Brand#31 |ECONOMY PLATED TIN | 14| 4 +Brand#31 |ECONOMY PLATED TIN | 49| 4 +Brand#31 |ECONOMY POLISHED BRASS | 19| 4 +Brand#31 |ECONOMY POLISHED BRASS | 49| 4 +Brand#31 |ECONOMY POLISHED COPPER | 9| 4 +Brand#31 |ECONOMY POLISHED COPPER | 23| 4 +Brand#31 |ECONOMY POLISHED COPPER | 36| 4 +Brand#31 |ECONOMY POLISHED COPPER | 45| 4 +Brand#31 |ECONOMY POLISHED NICKEL | 19| 4 +Brand#31 |ECONOMY POLISHED NICKEL | 23| 4 +Brand#31 |ECONOMY POLISHED NICKEL | 49| 4 +Brand#31 |ECONOMY POLISHED STEEL | 14| 4 +Brand#31 |ECONOMY POLISHED STEEL | 19| 4 +Brand#31 |ECONOMY POLISHED STEEL | 23| 4 +Brand#31 |ECONOMY POLISHED STEEL | 36| 4 +Brand#31 |ECONOMY POLISHED TIN | 9| 4 +Brand#31 |ECONOMY POLISHED TIN | 14| 4 +Brand#31 |ECONOMY POLISHED TIN | 19| 4 +Brand#31 |ECONOMY POLISHED TIN | 23| 4 +Brand#31 |ECONOMY POLISHED TIN | 49| 4 +Brand#31 |LARGE ANODIZED BRASS | 9| 4 +Brand#31 |LARGE ANODIZED BRASS | 19| 4 +Brand#31 |LARGE ANODIZED BRASS | 23| 4 +Brand#31 |LARGE ANODIZED BRASS | 49| 4 +Brand#31 |LARGE ANODIZED COPPER | 9| 4 +Brand#31 |LARGE ANODIZED NICKEL | 3| 4 +Brand#31 |LARGE ANODIZED NICKEL | 9| 4 +Brand#31 |LARGE ANODIZED NICKEL | 23| 4 +Brand#31 |LARGE ANODIZED STEEL | 14| 4 +Brand#31 |LARGE ANODIZED STEEL | 19| 4 +Brand#31 |LARGE ANODIZED STEEL | 23| 4 +Brand#31 |LARGE ANODIZED TIN | 23| 4 +Brand#31 |LARGE BRUSHED BRASS | 3| 4 +Brand#31 |LARGE BRUSHED BRASS | 14| 4 +Brand#31 |LARGE BRUSHED BRASS | 19| 4 +Brand#31 |LARGE BRUSHED COPPER | 14| 4 +Brand#31 |LARGE BRUSHED COPPER | 23| 4 +Brand#31 |LARGE BRUSHED COPPER | 36| 4 +Brand#31 |LARGE BRUSHED COPPER | 49| 4 +Brand#31 |LARGE BRUSHED NICKEL | 9| 4 +Brand#31 |LARGE BRUSHED NICKEL | 49| 4 +Brand#31 |LARGE BRUSHED STEEL | 3| 4 +Brand#31 |LARGE BRUSHED STEEL | 9| 4 +Brand#31 |LARGE BRUSHED STEEL | 19| 4 +Brand#31 |LARGE BRUSHED STEEL | 49| 4 +Brand#31 |LARGE BRUSHED TIN | 3| 4 +Brand#31 |LARGE BRUSHED TIN | 9| 4 +Brand#31 |LARGE BRUSHED TIN | 19| 4 +Brand#31 |LARGE BRUSHED TIN | 23| 4 +Brand#31 |LARGE BURNISHED BRASS | 9| 4 +Brand#31 |LARGE BURNISHED BRASS | 14| 4 +Brand#31 |LARGE BURNISHED COPPER | 3| 4 +Brand#31 |LARGE BURNISHED COPPER | 14| 4 +Brand#31 |LARGE BURNISHED COPPER | 19| 4 +Brand#31 |LARGE BURNISHED COPPER | 49| 4 +Brand#31 |LARGE BURNISHED NICKEL | 3| 4 +Brand#31 |LARGE BURNISHED NICKEL | 23| 4 +Brand#31 |LARGE BURNISHED STEEL | 14| 4 +Brand#31 |LARGE BURNISHED STEEL | 19| 4 +Brand#31 |LARGE BURNISHED STEEL | 45| 4 +Brand#31 |LARGE BURNISHED TIN | 3| 4 +Brand#31 |LARGE BURNISHED TIN | 9| 4 +Brand#31 |LARGE BURNISHED TIN | 36| 4 +Brand#31 |LARGE BURNISHED TIN | 45| 4 +Brand#31 |LARGE PLATED BRASS | 19| 4 +Brand#31 |LARGE PLATED BRASS | 36| 4 +Brand#31 |LARGE PLATED COPPER | 9| 4 +Brand#31 |LARGE PLATED COPPER | 14| 4 +Brand#31 |LARGE PLATED COPPER | 36| 4 +Brand#31 |LARGE PLATED COPPER | 49| 4 +Brand#31 |LARGE PLATED NICKEL | 3| 4 +Brand#31 |LARGE PLATED NICKEL | 9| 4 +Brand#31 |LARGE PLATED NICKEL | 14| 4 +Brand#31 |LARGE PLATED STEEL | 3| 4 +Brand#31 |LARGE PLATED STEEL | 19| 4 +Brand#31 |LARGE PLATED STEEL | 36| 4 +Brand#31 |LARGE PLATED STEEL | 49| 4 +Brand#31 |LARGE PLATED TIN | 3| 4 +Brand#31 |LARGE PLATED TIN | 19| 4 +Brand#31 |LARGE PLATED TIN | 45| 4 +Brand#31 |LARGE PLATED TIN | 49| 4 +Brand#31 |LARGE POLISHED BRASS | 3| 4 +Brand#31 |LARGE POLISHED BRASS | 14| 4 +Brand#31 |LARGE POLISHED BRASS | 19| 4 +Brand#31 |LARGE POLISHED BRASS | 36| 4 +Brand#31 |LARGE POLISHED BRASS | 49| 4 +Brand#31 |LARGE POLISHED COPPER | 36| 4 +Brand#31 |LARGE POLISHED COPPER | 45| 4 +Brand#31 |LARGE POLISHED NICKEL | 9| 4 +Brand#31 |LARGE POLISHED NICKEL | 23| 4 +Brand#31 |LARGE POLISHED STEEL | 3| 4 +Brand#31 |LARGE POLISHED STEEL | 9| 4 +Brand#31 |LARGE POLISHED STEEL | 14| 4 +Brand#31 |LARGE POLISHED STEEL | 19| 4 +Brand#31 |LARGE POLISHED TIN | 36| 4 +Brand#31 |LARGE POLISHED TIN | 45| 4 +Brand#31 |MEDIUM ANODIZED BRASS | 3| 4 +Brand#31 |MEDIUM ANODIZED BRASS | 9| 4 +Brand#31 |MEDIUM ANODIZED BRASS | 36| 4 +Brand#31 |MEDIUM ANODIZED BRASS | 49| 4 +Brand#31 |MEDIUM ANODIZED COPPER | 36| 4 +Brand#31 |MEDIUM ANODIZED NICKEL | 23| 4 +Brand#31 |MEDIUM ANODIZED NICKEL | 36| 4 +Brand#31 |MEDIUM ANODIZED NICKEL | 45| 4 +Brand#31 |MEDIUM ANODIZED STEEL | 36| 4 +Brand#31 |MEDIUM ANODIZED TIN | 36| 4 +Brand#31 |MEDIUM ANODIZED TIN | 45| 4 +Brand#31 |MEDIUM ANODIZED TIN | 49| 4 +Brand#31 |MEDIUM BRUSHED BRASS | 49| 4 +Brand#31 |MEDIUM BRUSHED COPPER | 3| 4 +Brand#31 |MEDIUM BRUSHED COPPER | 45| 4 +Brand#31 |MEDIUM BRUSHED NICKEL | 3| 4 +Brand#31 |MEDIUM BRUSHED NICKEL | 23| 4 +Brand#31 |MEDIUM BRUSHED NICKEL | 45| 4 +Brand#31 |MEDIUM BRUSHED STEEL | 9| 4 +Brand#31 |MEDIUM BRUSHED STEEL | 14| 4 +Brand#31 |MEDIUM BRUSHED STEEL | 36| 4 +Brand#31 |MEDIUM BRUSHED STEEL | 45| 4 +Brand#31 |MEDIUM BRUSHED TIN | 19| 4 +Brand#31 |MEDIUM BRUSHED TIN | 36| 4 +Brand#31 |MEDIUM BRUSHED TIN | 45| 4 +Brand#31 |MEDIUM BURNISHED BRASS | 9| 4 +Brand#31 |MEDIUM BURNISHED BRASS | 36| 4 +Brand#31 |MEDIUM BURNISHED COPPER | 3| 4 +Brand#31 |MEDIUM BURNISHED COPPER | 9| 4 +Brand#31 |MEDIUM BURNISHED COPPER | 14| 4 +Brand#31 |MEDIUM BURNISHED COPPER | 23| 4 +Brand#31 |MEDIUM BURNISHED NICKEL | 36| 4 +Brand#31 |MEDIUM BURNISHED NICKEL | 49| 4 +Brand#31 |MEDIUM BURNISHED STEEL | 14| 4 +Brand#31 |MEDIUM BURNISHED STEEL | 49| 4 +Brand#31 |MEDIUM BURNISHED TIN | 9| 4 +Brand#31 |MEDIUM BURNISHED TIN | 45| 4 +Brand#31 |MEDIUM BURNISHED TIN | 49| 4 +Brand#31 |MEDIUM PLATED BRASS | 14| 4 +Brand#31 |MEDIUM PLATED BRASS | 36| 4 +Brand#31 |MEDIUM PLATED BRASS | 45| 4 +Brand#31 |MEDIUM PLATED COPPER | 45| 4 +Brand#31 |MEDIUM PLATED NICKEL | 14| 4 +Brand#31 |MEDIUM PLATED NICKEL | 19| 4 +Brand#31 |MEDIUM PLATED NICKEL | 45| 4 +Brand#31 |MEDIUM PLATED STEEL | 14| 4 +Brand#31 |MEDIUM PLATED STEEL | 49| 4 +Brand#31 |MEDIUM PLATED TIN | 3| 4 +Brand#31 |MEDIUM PLATED TIN | 9| 4 +Brand#31 |MEDIUM PLATED TIN | 14| 4 +Brand#31 |MEDIUM PLATED TIN | 36| 4 +Brand#31 |MEDIUM PLATED TIN | 49| 4 +Brand#31 |PROMO ANODIZED BRASS | 19| 4 +Brand#31 |PROMO ANODIZED BRASS | 45| 4 +Brand#31 |PROMO ANODIZED COPPER | 19| 4 +Brand#31 |PROMO ANODIZED COPPER | 36| 4 +Brand#31 |PROMO ANODIZED COPPER | 45| 4 +Brand#31 |PROMO ANODIZED NICKEL | 9| 4 +Brand#31 |PROMO ANODIZED NICKEL | 49| 4 +Brand#31 |PROMO ANODIZED STEEL | 3| 4 +Brand#31 |PROMO ANODIZED STEEL | 23| 4 +Brand#31 |PROMO ANODIZED STEEL | 45| 4 +Brand#31 |PROMO ANODIZED TIN | 9| 4 +Brand#31 |PROMO ANODIZED TIN | 45| 4 +Brand#31 |PROMO ANODIZED TIN | 49| 4 +Brand#31 |PROMO BRUSHED BRASS | 9| 4 +Brand#31 |PROMO BRUSHED BRASS | 14| 4 +Brand#31 |PROMO BRUSHED BRASS | 45| 4 +Brand#31 |PROMO BRUSHED COPPER | 9| 4 +Brand#31 |PROMO BRUSHED COPPER | 36| 4 +Brand#31 |PROMO BRUSHED COPPER | 49| 4 +Brand#31 |PROMO BRUSHED NICKEL | 19| 4 +Brand#31 |PROMO BRUSHED NICKEL | 36| 4 +Brand#31 |PROMO BRUSHED NICKEL | 45| 4 +Brand#31 |PROMO BRUSHED STEEL | 14| 4 +Brand#31 |PROMO BRUSHED STEEL | 19| 4 +Brand#31 |PROMO BRUSHED STEEL | 36| 4 +Brand#31 |PROMO BRUSHED TIN | 14| 4 +Brand#31 |PROMO BRUSHED TIN | 19| 4 +Brand#31 |PROMO BRUSHED TIN | 23| 4 +Brand#31 |PROMO BRUSHED TIN | 49| 4 +Brand#31 |PROMO BURNISHED BRASS | 23| 4 +Brand#31 |PROMO BURNISHED BRASS | 45| 4 +Brand#31 |PROMO BURNISHED COPPER | 23| 4 +Brand#31 |PROMO BURNISHED COPPER | 49| 4 +Brand#31 |PROMO BURNISHED NICKEL | 23| 4 +Brand#31 |PROMO BURNISHED NICKEL | 36| 4 +Brand#31 |PROMO BURNISHED STEEL | 9| 4 +Brand#31 |PROMO BURNISHED TIN | 3| 4 +Brand#31 |PROMO BURNISHED TIN | 9| 4 +Brand#31 |PROMO BURNISHED TIN | 14| 4 +Brand#31 |PROMO BURNISHED TIN | 19| 4 +Brand#31 |PROMO BURNISHED TIN | 36| 4 +Brand#31 |PROMO BURNISHED TIN | 45| 4 +Brand#31 |PROMO PLATED BRASS | 9| 4 +Brand#31 |PROMO PLATED BRASS | 14| 4 +Brand#31 |PROMO PLATED BRASS | 19| 4 +Brand#31 |PROMO PLATED BRASS | 49| 4 +Brand#31 |PROMO PLATED COPPER | 3| 4 +Brand#31 |PROMO PLATED COPPER | 9| 4 +Brand#31 |PROMO PLATED COPPER | 23| 4 +Brand#31 |PROMO PLATED COPPER | 45| 4 +Brand#31 |PROMO PLATED NICKEL | 3| 4 +Brand#31 |PROMO PLATED NICKEL | 9| 4 +Brand#31 |PROMO PLATED NICKEL | 14| 4 +Brand#31 |PROMO PLATED NICKEL | 19| 4 +Brand#31 |PROMO PLATED NICKEL | 23| 4 +Brand#31 |PROMO PLATED NICKEL | 49| 4 +Brand#31 |PROMO PLATED STEEL | 3| 4 +Brand#31 |PROMO PLATED STEEL | 9| 4 +Brand#31 |PROMO PLATED STEEL | 14| 4 +Brand#31 |PROMO PLATED TIN | 9| 4 +Brand#31 |PROMO PLATED TIN | 36| 4 +Brand#31 |PROMO POLISHED BRASS | 14| 4 +Brand#31 |PROMO POLISHED BRASS | 36| 4 +Brand#31 |PROMO POLISHED COPPER | 14| 4 +Brand#31 |PROMO POLISHED NICKEL | 9| 4 +Brand#31 |PROMO POLISHED NICKEL | 36| 4 +Brand#31 |PROMO POLISHED STEEL | 19| 4 +Brand#31 |PROMO POLISHED STEEL | 45| 4 +Brand#31 |PROMO POLISHED STEEL | 49| 4 +Brand#31 |PROMO POLISHED TIN | 3| 4 +Brand#31 |PROMO POLISHED TIN | 14| 4 +Brand#31 |PROMO POLISHED TIN | 19| 4 +Brand#31 |PROMO POLISHED TIN | 23| 4 +Brand#31 |PROMO POLISHED TIN | 36| 4 +Brand#31 |SMALL ANODIZED BRASS | 3| 4 +Brand#31 |SMALL ANODIZED BRASS | 14| 4 +Brand#31 |SMALL ANODIZED BRASS | 23| 4 +Brand#31 |SMALL ANODIZED BRASS | 45| 4 +Brand#31 |SMALL ANODIZED BRASS | 49| 4 +Brand#31 |SMALL ANODIZED COPPER | 9| 4 +Brand#31 |SMALL ANODIZED COPPER | 19| 4 +Brand#31 |SMALL ANODIZED COPPER | 23| 4 +Brand#31 |SMALL ANODIZED NICKEL | 19| 4 +Brand#31 |SMALL ANODIZED NICKEL | 36| 4 +Brand#31 |SMALL ANODIZED NICKEL | 45| 4 +Brand#31 |SMALL ANODIZED STEEL | 19| 4 +Brand#31 |SMALL ANODIZED STEEL | 23| 4 +Brand#31 |SMALL ANODIZED STEEL | 36| 4 +Brand#31 |SMALL ANODIZED STEEL | 49| 4 +Brand#31 |SMALL ANODIZED TIN | 9| 4 +Brand#31 |SMALL ANODIZED TIN | 19| 4 +Brand#31 |SMALL ANODIZED TIN | 45| 4 +Brand#31 |SMALL ANODIZED TIN | 49| 4 +Brand#31 |SMALL BRUSHED BRASS | 9| 4 +Brand#31 |SMALL BRUSHED BRASS | 14| 4 +Brand#31 |SMALL BRUSHED BRASS | 19| 4 +Brand#31 |SMALL BRUSHED BRASS | 36| 4 +Brand#31 |SMALL BRUSHED COPPER | 36| 4 +Brand#31 |SMALL BRUSHED COPPER | 45| 4 +Brand#31 |SMALL BRUSHED COPPER | 49| 4 +Brand#31 |SMALL BRUSHED NICKEL | 9| 4 +Brand#31 |SMALL BRUSHED NICKEL | 45| 4 +Brand#31 |SMALL BRUSHED STEEL | 19| 4 +Brand#31 |SMALL BRUSHED STEEL | 45| 4 +Brand#31 |SMALL BRUSHED TIN | 23| 4 +Brand#31 |SMALL BRUSHED TIN | 36| 4 +Brand#31 |SMALL BURNISHED BRASS | 19| 4 +Brand#31 |SMALL BURNISHED BRASS | 23| 4 +Brand#31 |SMALL BURNISHED BRASS | 45| 4 +Brand#31 |SMALL BURNISHED COPPER | 9| 4 +Brand#31 |SMALL BURNISHED COPPER | 14| 4 +Brand#31 |SMALL BURNISHED COPPER | 23| 4 +Brand#31 |SMALL BURNISHED COPPER | 36| 4 +Brand#31 |SMALL BURNISHED COPPER | 45| 4 +Brand#31 |SMALL BURNISHED COPPER | 49| 4 +Brand#31 |SMALL BURNISHED NICKEL | 19| 4 +Brand#31 |SMALL BURNISHED NICKEL | 36| 4 +Brand#31 |SMALL BURNISHED NICKEL | 45| 4 +Brand#31 |SMALL BURNISHED TIN | 3| 4 +Brand#31 |SMALL BURNISHED TIN | 9| 4 +Brand#31 |SMALL BURNISHED TIN | 19| 4 +Brand#31 |SMALL PLATED BRASS | 9| 4 +Brand#31 |SMALL PLATED BRASS | 19| 4 +Brand#31 |SMALL PLATED BRASS | 36| 4 +Brand#31 |SMALL PLATED BRASS | 45| 4 +Brand#31 |SMALL PLATED COPPER | 3| 4 +Brand#31 |SMALL PLATED COPPER | 36| 4 +Brand#31 |SMALL PLATED COPPER | 45| 4 +Brand#31 |SMALL PLATED NICKEL | 3| 4 +Brand#31 |SMALL PLATED NICKEL | 9| 4 +Brand#31 |SMALL PLATED NICKEL | 14| 4 +Brand#31 |SMALL PLATED NICKEL | 45| 4 +Brand#31 |SMALL PLATED NICKEL | 49| 4 +Brand#31 |SMALL PLATED STEEL | 3| 4 +Brand#31 |SMALL PLATED STEEL | 49| 4 +Brand#31 |SMALL PLATED TIN | 14| 4 +Brand#31 |SMALL PLATED TIN | 19| 4 +Brand#31 |SMALL PLATED TIN | 23| 4 +Brand#31 |SMALL PLATED TIN | 49| 4 +Brand#31 |SMALL POLISHED BRASS | 9| 4 +Brand#31 |SMALL POLISHED BRASS | 36| 4 +Brand#31 |SMALL POLISHED BRASS | 45| 4 +Brand#31 |SMALL POLISHED COPPER | 14| 4 +Brand#31 |SMALL POLISHED COPPER | 23| 4 +Brand#31 |SMALL POLISHED COPPER | 45| 4 +Brand#31 |SMALL POLISHED COPPER | 49| 4 +Brand#31 |SMALL POLISHED NICKEL | 9| 4 +Brand#31 |SMALL POLISHED NICKEL | 23| 4 +Brand#31 |SMALL POLISHED NICKEL | 45| 4 +Brand#31 |SMALL POLISHED NICKEL | 49| 4 +Brand#31 |SMALL POLISHED STEEL | 36| 4 +Brand#31 |SMALL POLISHED STEEL | 45| 4 +Brand#31 |SMALL POLISHED TIN | 3| 4 +Brand#31 |SMALL POLISHED TIN | 19| 4 +Brand#31 |STANDARD ANODIZED BRASS | 3| 4 +Brand#31 |STANDARD ANODIZED BRASS | 14| 4 +Brand#31 |STANDARD ANODIZED BRASS | 23| 4 +Brand#31 |STANDARD ANODIZED BRASS | 49| 4 +Brand#31 |STANDARD ANODIZED COPPER | 3| 4 +Brand#31 |STANDARD ANODIZED COPPER | 9| 4 +Brand#31 |STANDARD ANODIZED COPPER | 19| 4 +Brand#31 |STANDARD ANODIZED COPPER | 36| 4 +Brand#31 |STANDARD ANODIZED COPPER | 49| 4 +Brand#31 |STANDARD ANODIZED NICKEL | 36| 4 +Brand#31 |STANDARD ANODIZED NICKEL | 49| 4 +Brand#31 |STANDARD ANODIZED STEEL | 3| 4 +Brand#31 |STANDARD ANODIZED STEEL | 14| 4 +Brand#31 |STANDARD ANODIZED STEEL | 23| 4 +Brand#31 |STANDARD ANODIZED TIN | 14| 4 +Brand#31 |STANDARD ANODIZED TIN | 23| 4 +Brand#31 |STANDARD BRUSHED BRASS | 3| 4 +Brand#31 |STANDARD BRUSHED BRASS | 14| 4 +Brand#31 |STANDARD BRUSHED BRASS | 19| 4 +Brand#31 |STANDARD BRUSHED BRASS | 23| 4 +Brand#31 |STANDARD BRUSHED BRASS | 49| 4 +Brand#31 |STANDARD BRUSHED COPPER | 9| 4 +Brand#31 |STANDARD BRUSHED COPPER | 14| 4 +Brand#31 |STANDARD BRUSHED COPPER | 19| 4 +Brand#31 |STANDARD BRUSHED COPPER | 23| 4 +Brand#31 |STANDARD BRUSHED COPPER | 49| 4 +Brand#31 |STANDARD BRUSHED NICKEL | 14| 4 +Brand#31 |STANDARD BRUSHED NICKEL | 19| 4 +Brand#31 |STANDARD BRUSHED NICKEL | 23| 4 +Brand#31 |STANDARD BRUSHED NICKEL | 49| 4 +Brand#31 |STANDARD BRUSHED STEEL | 3| 4 +Brand#31 |STANDARD BRUSHED STEEL | 23| 4 +Brand#31 |STANDARD BRUSHED STEEL | 49| 4 +Brand#31 |STANDARD BRUSHED TIN | 49| 4 +Brand#31 |STANDARD BURNISHED BRASS | 3| 4 +Brand#31 |STANDARD BURNISHED BRASS | 14| 4 +Brand#31 |STANDARD BURNISHED BRASS | 19| 4 +Brand#31 |STANDARD BURNISHED COPPER| 19| 4 +Brand#31 |STANDARD BURNISHED COPPER| 36| 4 +Brand#31 |STANDARD BURNISHED COPPER| 45| 4 +Brand#31 |STANDARD BURNISHED NICKEL| 3| 4 +Brand#31 |STANDARD BURNISHED NICKEL| 36| 4 +Brand#31 |STANDARD BURNISHED TIN | 14| 4 +Brand#31 |STANDARD BURNISHED TIN | 23| 4 +Brand#31 |STANDARD BURNISHED TIN | 45| 4 +Brand#31 |STANDARD BURNISHED TIN | 49| 4 +Brand#31 |STANDARD PLATED BRASS | 14| 4 +Brand#31 |STANDARD PLATED BRASS | 23| 4 +Brand#31 |STANDARD PLATED BRASS | 45| 4 +Brand#31 |STANDARD PLATED BRASS | 49| 4 +Brand#31 |STANDARD PLATED COPPER | 9| 4 +Brand#31 |STANDARD PLATED COPPER | 19| 4 +Brand#31 |STANDARD PLATED COPPER | 45| 4 +Brand#31 |STANDARD PLATED NICKEL | 14| 4 +Brand#31 |STANDARD PLATED NICKEL | 19| 4 +Brand#31 |STANDARD PLATED NICKEL | 45| 4 +Brand#31 |STANDARD PLATED NICKEL | 49| 4 +Brand#31 |STANDARD PLATED STEEL | 3| 4 +Brand#31 |STANDARD PLATED STEEL | 14| 4 +Brand#31 |STANDARD PLATED STEEL | 36| 4 +Brand#31 |STANDARD PLATED STEEL | 45| 4 +Brand#31 |STANDARD PLATED STEEL | 49| 4 +Brand#31 |STANDARD PLATED TIN | 3| 4 +Brand#31 |STANDARD PLATED TIN | 45| 4 +Brand#31 |STANDARD PLATED TIN | 49| 4 +Brand#31 |STANDARD POLISHED BRASS | 3| 4 +Brand#31 |STANDARD POLISHED BRASS | 9| 4 +Brand#31 |STANDARD POLISHED BRASS | 45| 4 +Brand#31 |STANDARD POLISHED COPPER | 9| 4 +Brand#31 |STANDARD POLISHED COPPER | 36| 4 +Brand#31 |STANDARD POLISHED COPPER | 49| 4 +Brand#31 |STANDARD POLISHED NICKEL | 3| 4 +Brand#31 |STANDARD POLISHED NICKEL | 14| 4 +Brand#31 |STANDARD POLISHED NICKEL | 36| 4 +Brand#31 |STANDARD POLISHED NICKEL | 49| 4 +Brand#31 |STANDARD POLISHED STEEL | 9| 4 +Brand#31 |STANDARD POLISHED STEEL | 49| 4 +Brand#31 |STANDARD POLISHED TIN | 3| 4 +Brand#31 |STANDARD POLISHED TIN | 9| 4 +Brand#31 |STANDARD POLISHED TIN | 14| 4 +Brand#32 |ECONOMY ANODIZED BRASS | 36| 4 +Brand#32 |ECONOMY ANODIZED NICKEL | 9| 4 +Brand#32 |ECONOMY ANODIZED NICKEL | 23| 4 +Brand#32 |ECONOMY ANODIZED NICKEL | 36| 4 +Brand#32 |ECONOMY ANODIZED STEEL | 9| 4 +Brand#32 |ECONOMY ANODIZED STEEL | 14| 4 +Brand#32 |ECONOMY ANODIZED STEEL | 36| 4 +Brand#32 |ECONOMY ANODIZED TIN | 3| 4 +Brand#32 |ECONOMY ANODIZED TIN | 9| 4 +Brand#32 |ECONOMY ANODIZED TIN | 14| 4 +Brand#32 |ECONOMY ANODIZED TIN | 19| 4 +Brand#32 |ECONOMY ANODIZED TIN | 36| 4 +Brand#32 |ECONOMY ANODIZED TIN | 45| 4 +Brand#32 |ECONOMY BRUSHED BRASS | 14| 4 +Brand#32 |ECONOMY BRUSHED BRASS | 19| 4 +Brand#32 |ECONOMY BRUSHED BRASS | 23| 4 +Brand#32 |ECONOMY BRUSHED BRASS | 36| 4 +Brand#32 |ECONOMY BRUSHED COPPER | 9| 4 +Brand#32 |ECONOMY BRUSHED COPPER | 19| 4 +Brand#32 |ECONOMY BRUSHED COPPER | 45| 4 +Brand#32 |ECONOMY BRUSHED NICKEL | 9| 4 +Brand#32 |ECONOMY BRUSHED NICKEL | 14| 4 +Brand#32 |ECONOMY BRUSHED NICKEL | 23| 4 +Brand#32 |ECONOMY BRUSHED NICKEL | 45| 4 +Brand#32 |ECONOMY BRUSHED STEEL | 19| 4 +Brand#32 |ECONOMY BRUSHED STEEL | 23| 4 +Brand#32 |ECONOMY BRUSHED STEEL | 45| 4 +Brand#32 |ECONOMY BRUSHED STEEL | 49| 4 +Brand#32 |ECONOMY BRUSHED TIN | 9| 4 +Brand#32 |ECONOMY BRUSHED TIN | 36| 4 +Brand#32 |ECONOMY BURNISHED BRASS | 3| 4 +Brand#32 |ECONOMY BURNISHED BRASS | 9| 4 +Brand#32 |ECONOMY BURNISHED BRASS | 14| 4 +Brand#32 |ECONOMY BURNISHED BRASS | 19| 4 +Brand#32 |ECONOMY BURNISHED BRASS | 23| 4 +Brand#32 |ECONOMY BURNISHED BRASS | 36| 4 +Brand#32 |ECONOMY BURNISHED BRASS | 49| 4 +Brand#32 |ECONOMY BURNISHED COPPER | 19| 4 +Brand#32 |ECONOMY BURNISHED COPPER | 23| 4 +Brand#32 |ECONOMY BURNISHED COPPER | 36| 4 +Brand#32 |ECONOMY BURNISHED COPPER | 45| 4 +Brand#32 |ECONOMY BURNISHED COPPER | 49| 4 +Brand#32 |ECONOMY BURNISHED NICKEL | 45| 4 +Brand#32 |ECONOMY BURNISHED NICKEL | 49| 4 +Brand#32 |ECONOMY BURNISHED STEEL | 23| 4 +Brand#32 |ECONOMY BURNISHED STEEL | 45| 4 +Brand#32 |ECONOMY BURNISHED STEEL | 49| 4 +Brand#32 |ECONOMY BURNISHED TIN | 14| 4 +Brand#32 |ECONOMY PLATED BRASS | 23| 4 +Brand#32 |ECONOMY PLATED BRASS | 36| 4 +Brand#32 |ECONOMY PLATED COPPER | 3| 4 +Brand#32 |ECONOMY PLATED COPPER | 9| 4 +Brand#32 |ECONOMY PLATED COPPER | 14| 4 +Brand#32 |ECONOMY PLATED COPPER | 23| 4 +Brand#32 |ECONOMY PLATED COPPER | 36| 4 +Brand#32 |ECONOMY PLATED COPPER | 45| 4 +Brand#32 |ECONOMY PLATED COPPER | 49| 4 +Brand#32 |ECONOMY PLATED NICKEL | 9| 4 +Brand#32 |ECONOMY PLATED NICKEL | 45| 4 +Brand#32 |ECONOMY PLATED STEEL | 9| 4 +Brand#32 |ECONOMY PLATED STEEL | 45| 4 +Brand#32 |ECONOMY PLATED TIN | 3| 4 +Brand#32 |ECONOMY PLATED TIN | 14| 4 +Brand#32 |ECONOMY PLATED TIN | 36| 4 +Brand#32 |ECONOMY POLISHED BRASS | 9| 4 +Brand#32 |ECONOMY POLISHED COPPER | 14| 4 +Brand#32 |ECONOMY POLISHED COPPER | 19| 4 +Brand#32 |ECONOMY POLISHED NICKEL | 36| 4 +Brand#32 |ECONOMY POLISHED NICKEL | 45| 4 +Brand#32 |ECONOMY POLISHED STEEL | 3| 4 +Brand#32 |ECONOMY POLISHED STEEL | 14| 4 +Brand#32 |ECONOMY POLISHED STEEL | 45| 4 +Brand#32 |ECONOMY POLISHED STEEL | 49| 4 +Brand#32 |ECONOMY POLISHED TIN | 14| 4 +Brand#32 |ECONOMY POLISHED TIN | 36| 4 +Brand#32 |ECONOMY POLISHED TIN | 45| 4 +Brand#32 |ECONOMY POLISHED TIN | 49| 4 +Brand#32 |LARGE ANODIZED BRASS | 14| 4 +Brand#32 |LARGE ANODIZED BRASS | 23| 4 +Brand#32 |LARGE ANODIZED COPPER | 9| 4 +Brand#32 |LARGE ANODIZED COPPER | 14| 4 +Brand#32 |LARGE ANODIZED COPPER | 36| 4 +Brand#32 |LARGE ANODIZED COPPER | 45| 4 +Brand#32 |LARGE ANODIZED NICKEL | 14| 4 +Brand#32 |LARGE ANODIZED NICKEL | 23| 4 +Brand#32 |LARGE ANODIZED STEEL | 19| 4 +Brand#32 |LARGE ANODIZED STEEL | 23| 4 +Brand#32 |LARGE ANODIZED STEEL | 45| 4 +Brand#32 |LARGE ANODIZED TIN | 3| 4 +Brand#32 |LARGE ANODIZED TIN | 45| 4 +Brand#32 |LARGE BRUSHED BRASS | 9| 4 +Brand#32 |LARGE BRUSHED BRASS | 36| 4 +Brand#32 |LARGE BRUSHED BRASS | 49| 4 +Brand#32 |LARGE BRUSHED COPPER | 19| 4 +Brand#32 |LARGE BRUSHED COPPER | 23| 4 +Brand#32 |LARGE BRUSHED COPPER | 36| 4 +Brand#32 |LARGE BRUSHED NICKEL | 23| 4 +Brand#32 |LARGE BRUSHED NICKEL | 36| 4 +Brand#32 |LARGE BRUSHED STEEL | 3| 4 +Brand#32 |LARGE BRUSHED STEEL | 14| 4 +Brand#32 |LARGE BRUSHED STEEL | 19| 4 +Brand#32 |LARGE BRUSHED STEEL | 36| 4 +Brand#32 |LARGE BRUSHED STEEL | 49| 4 +Brand#32 |LARGE BRUSHED TIN | 3| 4 +Brand#32 |LARGE BRUSHED TIN | 45| 4 +Brand#32 |LARGE BRUSHED TIN | 49| 4 +Brand#32 |LARGE BURNISHED BRASS | 19| 4 +Brand#32 |LARGE BURNISHED COPPER | 3| 4 +Brand#32 |LARGE BURNISHED COPPER | 9| 4 +Brand#32 |LARGE BURNISHED COPPER | 19| 4 +Brand#32 |LARGE BURNISHED COPPER | 45| 4 +Brand#32 |LARGE BURNISHED NICKEL | 14| 4 +Brand#32 |LARGE BURNISHED NICKEL | 23| 4 +Brand#32 |LARGE BURNISHED NICKEL | 49| 4 +Brand#32 |LARGE BURNISHED STEEL | 3| 4 +Brand#32 |LARGE BURNISHED STEEL | 36| 4 +Brand#32 |LARGE BURNISHED STEEL | 45| 4 +Brand#32 |LARGE BURNISHED TIN | 19| 4 +Brand#32 |LARGE PLATED COPPER | 3| 4 +Brand#32 |LARGE PLATED COPPER | 9| 4 +Brand#32 |LARGE PLATED COPPER | 23| 4 +Brand#32 |LARGE PLATED COPPER | 45| 4 +Brand#32 |LARGE PLATED NICKEL | 9| 4 +Brand#32 |LARGE PLATED NICKEL | 49| 4 +Brand#32 |LARGE PLATED STEEL | 3| 4 +Brand#32 |LARGE PLATED STEEL | 9| 4 +Brand#32 |LARGE PLATED STEEL | 14| 4 +Brand#32 |LARGE PLATED STEEL | 36| 4 +Brand#32 |LARGE PLATED STEEL | 49| 4 +Brand#32 |LARGE PLATED TIN | 19| 4 +Brand#32 |LARGE PLATED TIN | 23| 4 +Brand#32 |LARGE PLATED TIN | 45| 4 +Brand#32 |LARGE PLATED TIN | 49| 4 +Brand#32 |LARGE POLISHED BRASS | 3| 4 +Brand#32 |LARGE POLISHED BRASS | 14| 4 +Brand#32 |LARGE POLISHED BRASS | 49| 4 +Brand#32 |LARGE POLISHED COPPER | 14| 4 +Brand#32 |LARGE POLISHED COPPER | 36| 4 +Brand#32 |LARGE POLISHED COPPER | 45| 4 +Brand#32 |LARGE POLISHED COPPER | 49| 4 +Brand#32 |LARGE POLISHED NICKEL | 14| 4 +Brand#32 |LARGE POLISHED NICKEL | 19| 4 +Brand#32 |LARGE POLISHED NICKEL | 36| 4 +Brand#32 |LARGE POLISHED NICKEL | 45| 4 +Brand#32 |LARGE POLISHED NICKEL | 49| 4 +Brand#32 |LARGE POLISHED STEEL | 3| 4 +Brand#32 |LARGE POLISHED STEEL | 9| 4 +Brand#32 |LARGE POLISHED TIN | 23| 4 +Brand#32 |LARGE POLISHED TIN | 36| 4 +Brand#32 |MEDIUM ANODIZED BRASS | 9| 4 +Brand#32 |MEDIUM ANODIZED BRASS | 14| 4 +Brand#32 |MEDIUM ANODIZED BRASS | 19| 4 +Brand#32 |MEDIUM ANODIZED BRASS | 49| 4 +Brand#32 |MEDIUM ANODIZED COPPER | 9| 4 +Brand#32 |MEDIUM ANODIZED COPPER | 19| 4 +Brand#32 |MEDIUM ANODIZED COPPER | 23| 4 +Brand#32 |MEDIUM ANODIZED COPPER | 36| 4 +Brand#32 |MEDIUM ANODIZED NICKEL | 3| 4 +Brand#32 |MEDIUM ANODIZED NICKEL | 9| 4 +Brand#32 |MEDIUM ANODIZED NICKEL | 14| 4 +Brand#32 |MEDIUM ANODIZED NICKEL | 19| 4 +Brand#32 |MEDIUM ANODIZED NICKEL | 23| 4 +Brand#32 |MEDIUM ANODIZED STEEL | 14| 4 +Brand#32 |MEDIUM ANODIZED STEEL | 36| 4 +Brand#32 |MEDIUM ANODIZED STEEL | 45| 4 +Brand#32 |MEDIUM ANODIZED TIN | 14| 4 +Brand#32 |MEDIUM ANODIZED TIN | 23| 4 +Brand#32 |MEDIUM BRUSHED BRASS | 23| 4 +Brand#32 |MEDIUM BRUSHED BRASS | 45| 4 +Brand#32 |MEDIUM BRUSHED COPPER | 3| 4 +Brand#32 |MEDIUM BRUSHED COPPER | 9| 4 +Brand#32 |MEDIUM BRUSHED COPPER | 19| 4 +Brand#32 |MEDIUM BRUSHED COPPER | 45| 4 +Brand#32 |MEDIUM BRUSHED NICKEL | 14| 4 +Brand#32 |MEDIUM BRUSHED NICKEL | 23| 4 +Brand#32 |MEDIUM BRUSHED NICKEL | 49| 4 +Brand#32 |MEDIUM BRUSHED STEEL | 9| 4 +Brand#32 |MEDIUM BRUSHED STEEL | 14| 4 +Brand#32 |MEDIUM BRUSHED STEEL | 19| 4 +Brand#32 |MEDIUM BRUSHED STEEL | 36| 4 +Brand#32 |MEDIUM BRUSHED STEEL | 45| 4 +Brand#32 |MEDIUM BRUSHED STEEL | 49| 4 +Brand#32 |MEDIUM BRUSHED TIN | 14| 4 +Brand#32 |MEDIUM BRUSHED TIN | 49| 4 +Brand#32 |MEDIUM BURNISHED BRASS | 9| 4 +Brand#32 |MEDIUM BURNISHED BRASS | 36| 4 +Brand#32 |MEDIUM BURNISHED COPPER | 3| 4 +Brand#32 |MEDIUM BURNISHED COPPER | 14| 4 +Brand#32 |MEDIUM BURNISHED COPPER | 45| 4 +Brand#32 |MEDIUM BURNISHED NICKEL | 3| 4 +Brand#32 |MEDIUM BURNISHED NICKEL | 9| 4 +Brand#32 |MEDIUM BURNISHED NICKEL | 36| 4 +Brand#32 |MEDIUM BURNISHED STEEL | 19| 4 +Brand#32 |MEDIUM BURNISHED STEEL | 36| 4 +Brand#32 |MEDIUM BURNISHED TIN | 19| 4 +Brand#32 |MEDIUM BURNISHED TIN | 36| 4 +Brand#32 |MEDIUM BURNISHED TIN | 45| 4 +Brand#32 |MEDIUM BURNISHED TIN | 49| 4 +Brand#32 |MEDIUM PLATED BRASS | 19| 4 +Brand#32 |MEDIUM PLATED BRASS | 36| 4 +Brand#32 |MEDIUM PLATED COPPER | 14| 4 +Brand#32 |MEDIUM PLATED COPPER | 45| 4 +Brand#32 |MEDIUM PLATED COPPER | 49| 4 +Brand#32 |MEDIUM PLATED NICKEL | 3| 4 +Brand#32 |MEDIUM PLATED NICKEL | 14| 4 +Brand#32 |MEDIUM PLATED NICKEL | 19| 4 +Brand#32 |MEDIUM PLATED NICKEL | 36| 4 +Brand#32 |MEDIUM PLATED NICKEL | 45| 4 +Brand#32 |MEDIUM PLATED NICKEL | 49| 4 +Brand#32 |MEDIUM PLATED STEEL | 19| 4 +Brand#32 |MEDIUM PLATED STEEL | 36| 4 +Brand#32 |MEDIUM PLATED TIN | 9| 4 +Brand#32 |MEDIUM PLATED TIN | 45| 4 +Brand#32 |MEDIUM PLATED TIN | 49| 4 +Brand#32 |PROMO ANODIZED BRASS | 19| 4 +Brand#32 |PROMO ANODIZED BRASS | 23| 4 +Brand#32 |PROMO ANODIZED BRASS | 49| 4 +Brand#32 |PROMO ANODIZED COPPER | 14| 4 +Brand#32 |PROMO ANODIZED COPPER | 36| 4 +Brand#32 |PROMO ANODIZED NICKEL | 23| 4 +Brand#32 |PROMO ANODIZED NICKEL | 45| 4 +Brand#32 |PROMO ANODIZED STEEL | 14| 4 +Brand#32 |PROMO ANODIZED STEEL | 45| 4 +Brand#32 |PROMO ANODIZED TIN | 9| 4 +Brand#32 |PROMO ANODIZED TIN | 19| 4 +Brand#32 |PROMO ANODIZED TIN | 23| 4 +Brand#32 |PROMO BRUSHED BRASS | 23| 4 +Brand#32 |PROMO BRUSHED BRASS | 45| 4 +Brand#32 |PROMO BRUSHED COPPER | 9| 4 +Brand#32 |PROMO BRUSHED COPPER | 19| 4 +Brand#32 |PROMO BRUSHED COPPER | 36| 4 +Brand#32 |PROMO BRUSHED NICKEL | 14| 4 +Brand#32 |PROMO BRUSHED NICKEL | 19| 4 +Brand#32 |PROMO BRUSHED NICKEL | 49| 4 +Brand#32 |PROMO BRUSHED STEEL | 14| 4 +Brand#32 |PROMO BRUSHED STEEL | 19| 4 +Brand#32 |PROMO BRUSHED STEEL | 36| 4 +Brand#32 |PROMO BRUSHED TIN | 3| 4 +Brand#32 |PROMO BRUSHED TIN | 19| 4 +Brand#32 |PROMO BURNISHED BRASS | 9| 4 +Brand#32 |PROMO BURNISHED BRASS | 23| 4 +Brand#32 |PROMO BURNISHED BRASS | 36| 4 +Brand#32 |PROMO BURNISHED BRASS | 49| 4 +Brand#32 |PROMO BURNISHED COPPER | 14| 4 +Brand#32 |PROMO BURNISHED COPPER | 23| 4 +Brand#32 |PROMO BURNISHED COPPER | 45| 4 +Brand#32 |PROMO BURNISHED STEEL | 3| 4 +Brand#32 |PROMO BURNISHED STEEL | 19| 4 +Brand#32 |PROMO BURNISHED STEEL | 49| 4 +Brand#32 |PROMO BURNISHED TIN | 19| 4 +Brand#32 |PROMO PLATED BRASS | 14| 4 +Brand#32 |PROMO PLATED BRASS | 19| 4 +Brand#32 |PROMO PLATED BRASS | 45| 4 +Brand#32 |PROMO PLATED BRASS | 49| 4 +Brand#32 |PROMO PLATED COPPER | 9| 4 +Brand#32 |PROMO PLATED COPPER | 14| 4 +Brand#32 |PROMO PLATED COPPER | 36| 4 +Brand#32 |PROMO PLATED NICKEL | 3| 4 +Brand#32 |PROMO PLATED NICKEL | 14| 4 +Brand#32 |PROMO PLATED NICKEL | 19| 4 +Brand#32 |PROMO PLATED NICKEL | 23| 4 +Brand#32 |PROMO PLATED NICKEL | 45| 4 +Brand#32 |PROMO PLATED STEEL | 9| 4 +Brand#32 |PROMO PLATED STEEL | 19| 4 +Brand#32 |PROMO PLATED TIN | 14| 4 +Brand#32 |PROMO PLATED TIN | 23| 4 +Brand#32 |PROMO POLISHED BRASS | 9| 4 +Brand#32 |PROMO POLISHED BRASS | 19| 4 +Brand#32 |PROMO POLISHED BRASS | 36| 4 +Brand#32 |PROMO POLISHED COPPER | 3| 4 +Brand#32 |PROMO POLISHED COPPER | 9| 4 +Brand#32 |PROMO POLISHED COPPER | 14| 4 +Brand#32 |PROMO POLISHED COPPER | 19| 4 +Brand#32 |PROMO POLISHED COPPER | 23| 4 +Brand#32 |PROMO POLISHED COPPER | 36| 4 +Brand#32 |PROMO POLISHED NICKEL | 14| 4 +Brand#32 |PROMO POLISHED NICKEL | 19| 4 +Brand#32 |PROMO POLISHED NICKEL | 45| 4 +Brand#32 |PROMO POLISHED STEEL | 9| 4 +Brand#32 |PROMO POLISHED STEEL | 23| 4 +Brand#32 |PROMO POLISHED STEEL | 45| 4 +Brand#32 |SMALL ANODIZED BRASS | 9| 4 +Brand#32 |SMALL ANODIZED COPPER | 3| 4 +Brand#32 |SMALL ANODIZED COPPER | 19| 4 +Brand#32 |SMALL ANODIZED COPPER | 45| 4 +Brand#32 |SMALL ANODIZED NICKEL | 3| 4 +Brand#32 |SMALL ANODIZED NICKEL | 14| 4 +Brand#32 |SMALL ANODIZED NICKEL | 19| 4 +Brand#32 |SMALL ANODIZED NICKEL | 36| 4 +Brand#32 |SMALL ANODIZED NICKEL | 45| 4 +Brand#32 |SMALL ANODIZED STEEL | 9| 4 +Brand#32 |SMALL ANODIZED STEEL | 14| 4 +Brand#32 |SMALL ANODIZED STEEL | 19| 4 +Brand#32 |SMALL ANODIZED TIN | 9| 4 +Brand#32 |SMALL ANODIZED TIN | 19| 4 +Brand#32 |SMALL ANODIZED TIN | 23| 4 +Brand#32 |SMALL ANODIZED TIN | 45| 4 +Brand#32 |SMALL BRUSHED BRASS | 3| 4 +Brand#32 |SMALL BRUSHED BRASS | 9| 4 +Brand#32 |SMALL BRUSHED BRASS | 19| 4 +Brand#32 |SMALL BRUSHED BRASS | 23| 4 +Brand#32 |SMALL BRUSHED BRASS | 45| 4 +Brand#32 |SMALL BRUSHED COPPER | 3| 4 +Brand#32 |SMALL BRUSHED COPPER | 9| 4 +Brand#32 |SMALL BRUSHED COPPER | 45| 4 +Brand#32 |SMALL BRUSHED NICKEL | 9| 4 +Brand#32 |SMALL BRUSHED NICKEL | 14| 4 +Brand#32 |SMALL BRUSHED NICKEL | 23| 4 +Brand#32 |SMALL BRUSHED NICKEL | 45| 4 +Brand#32 |SMALL BRUSHED STEEL | 3| 4 +Brand#32 |SMALL BRUSHED STEEL | 19| 4 +Brand#32 |SMALL BRUSHED STEEL | 23| 4 +Brand#32 |SMALL BRUSHED STEEL | 45| 4 +Brand#32 |SMALL BRUSHED STEEL | 49| 4 +Brand#32 |SMALL BRUSHED TIN | 19| 4 +Brand#32 |SMALL BRUSHED TIN | 23| 4 +Brand#32 |SMALL BRUSHED TIN | 36| 4 +Brand#32 |SMALL BRUSHED TIN | 45| 4 +Brand#32 |SMALL BRUSHED TIN | 49| 4 +Brand#32 |SMALL BURNISHED BRASS | 3| 4 +Brand#32 |SMALL BURNISHED BRASS | 14| 4 +Brand#32 |SMALL BURNISHED BRASS | 19| 4 +Brand#32 |SMALL BURNISHED BRASS | 23| 4 +Brand#32 |SMALL BURNISHED COPPER | 9| 4 +Brand#32 |SMALL BURNISHED COPPER | 14| 4 +Brand#32 |SMALL BURNISHED COPPER | 23| 4 +Brand#32 |SMALL BURNISHED COPPER | 36| 4 +Brand#32 |SMALL BURNISHED COPPER | 49| 4 +Brand#32 |SMALL BURNISHED NICKEL | 14| 4 +Brand#32 |SMALL BURNISHED NICKEL | 19| 4 +Brand#32 |SMALL BURNISHED NICKEL | 36| 4 +Brand#32 |SMALL BURNISHED NICKEL | 45| 4 +Brand#32 |SMALL BURNISHED NICKEL | 49| 4 +Brand#32 |SMALL BURNISHED STEEL | 36| 4 +Brand#32 |SMALL BURNISHED STEEL | 45| 4 +Brand#32 |SMALL BURNISHED STEEL | 49| 4 +Brand#32 |SMALL BURNISHED TIN | 9| 4 +Brand#32 |SMALL PLATED BRASS | 14| 4 +Brand#32 |SMALL PLATED BRASS | 23| 4 +Brand#32 |SMALL PLATED BRASS | 49| 4 +Brand#32 |SMALL PLATED NICKEL | 19| 4 +Brand#32 |SMALL PLATED NICKEL | 23| 4 +Brand#32 |SMALL PLATED STEEL | 45| 4 +Brand#32 |SMALL PLATED STEEL | 49| 4 +Brand#32 |SMALL PLATED TIN | 9| 4 +Brand#32 |SMALL PLATED TIN | 19| 4 +Brand#32 |SMALL POLISHED BRASS | 9| 4 +Brand#32 |SMALL POLISHED BRASS | 19| 4 +Brand#32 |SMALL POLISHED BRASS | 36| 4 +Brand#32 |SMALL POLISHED BRASS | 49| 4 +Brand#32 |SMALL POLISHED NICKEL | 3| 4 +Brand#32 |SMALL POLISHED NICKEL | 14| 4 +Brand#32 |SMALL POLISHED NICKEL | 19| 4 +Brand#32 |SMALL POLISHED STEEL | 49| 4 +Brand#32 |SMALL POLISHED TIN | 3| 4 +Brand#32 |SMALL POLISHED TIN | 14| 4 +Brand#32 |SMALL POLISHED TIN | 23| 4 +Brand#32 |SMALL POLISHED TIN | 49| 4 +Brand#32 |STANDARD ANODIZED BRASS | 9| 4 +Brand#32 |STANDARD ANODIZED BRASS | 23| 4 +Brand#32 |STANDARD ANODIZED BRASS | 36| 4 +Brand#32 |STANDARD ANODIZED BRASS | 45| 4 +Brand#32 |STANDARD ANODIZED COPPER | 3| 4 +Brand#32 |STANDARD ANODIZED COPPER | 9| 4 +Brand#32 |STANDARD ANODIZED NICKEL | 3| 4 +Brand#32 |STANDARD ANODIZED NICKEL | 14| 4 +Brand#32 |STANDARD ANODIZED NICKEL | 23| 4 +Brand#32 |STANDARD ANODIZED STEEL | 23| 4 +Brand#32 |STANDARD ANODIZED TIN | 3| 4 +Brand#32 |STANDARD ANODIZED TIN | 23| 4 +Brand#32 |STANDARD ANODIZED TIN | 49| 4 +Brand#32 |STANDARD BRUSHED BRASS | 3| 4 +Brand#32 |STANDARD BRUSHED BRASS | 9| 4 +Brand#32 |STANDARD BRUSHED BRASS | 19| 4 +Brand#32 |STANDARD BRUSHED BRASS | 23| 4 +Brand#32 |STANDARD BRUSHED COPPER | 14| 4 +Brand#32 |STANDARD BRUSHED COPPER | 19| 4 +Brand#32 |STANDARD BRUSHED COPPER | 23| 4 +Brand#32 |STANDARD BRUSHED COPPER | 49| 4 +Brand#32 |STANDARD BRUSHED NICKEL | 9| 4 +Brand#32 |STANDARD BRUSHED NICKEL | 23| 4 +Brand#32 |STANDARD BRUSHED NICKEL | 45| 4 +Brand#32 |STANDARD BRUSHED NICKEL | 49| 4 +Brand#32 |STANDARD BRUSHED TIN | 14| 4 +Brand#32 |STANDARD BRUSHED TIN | 19| 4 +Brand#32 |STANDARD BRUSHED TIN | 23| 4 +Brand#32 |STANDARD BURNISHED BRASS | 3| 4 +Brand#32 |STANDARD BURNISHED BRASS | 19| 4 +Brand#32 |STANDARD BURNISHED BRASS | 23| 4 +Brand#32 |STANDARD BURNISHED BRASS | 36| 4 +Brand#32 |STANDARD BURNISHED COPPER| 14| 4 +Brand#32 |STANDARD BURNISHED COPPER| 23| 4 +Brand#32 |STANDARD BURNISHED COPPER| 36| 4 +Brand#32 |STANDARD BURNISHED NICKEL| 36| 4 +Brand#32 |STANDARD BURNISHED NICKEL| 45| 4 +Brand#32 |STANDARD BURNISHED STEEL | 9| 4 +Brand#32 |STANDARD BURNISHED STEEL | 23| 4 +Brand#32 |STANDARD BURNISHED TIN | 3| 4 +Brand#32 |STANDARD BURNISHED TIN | 9| 4 +Brand#32 |STANDARD BURNISHED TIN | 19| 4 +Brand#32 |STANDARD BURNISHED TIN | 36| 4 +Brand#32 |STANDARD PLATED BRASS | 23| 4 +Brand#32 |STANDARD PLATED BRASS | 45| 4 +Brand#32 |STANDARD PLATED COPPER | 3| 4 +Brand#32 |STANDARD PLATED COPPER | 36| 4 +Brand#32 |STANDARD PLATED NICKEL | 49| 4 +Brand#32 |STANDARD PLATED STEEL | 3| 4 +Brand#32 |STANDARD PLATED STEEL | 19| 4 +Brand#32 |STANDARD PLATED STEEL | 36| 4 +Brand#32 |STANDARD PLATED TIN | 14| 4 +Brand#32 |STANDARD PLATED TIN | 23| 4 +Brand#32 |STANDARD PLATED TIN | 36| 4 +Brand#32 |STANDARD PLATED TIN | 49| 4 +Brand#32 |STANDARD POLISHED BRASS | 19| 4 +Brand#32 |STANDARD POLISHED BRASS | 23| 4 +Brand#32 |STANDARD POLISHED BRASS | 45| 4 +Brand#32 |STANDARD POLISHED BRASS | 49| 4 +Brand#32 |STANDARD POLISHED COPPER | 19| 4 +Brand#32 |STANDARD POLISHED COPPER | 45| 4 +Brand#32 |STANDARD POLISHED COPPER | 49| 4 +Brand#32 |STANDARD POLISHED NICKEL | 19| 4 +Brand#32 |STANDARD POLISHED NICKEL | 36| 4 +Brand#32 |STANDARD POLISHED NICKEL | 45| 4 +Brand#32 |STANDARD POLISHED STEEL | 3| 4 +Brand#32 |STANDARD POLISHED STEEL | 19| 4 +Brand#32 |STANDARD POLISHED STEEL | 45| 4 +Brand#32 |STANDARD POLISHED STEEL | 49| 4 +Brand#32 |STANDARD POLISHED TIN | 9| 4 +Brand#32 |STANDARD POLISHED TIN | 36| 4 +Brand#33 |ECONOMY ANODIZED BRASS | 9| 4 +Brand#33 |ECONOMY ANODIZED BRASS | 14| 4 +Brand#33 |ECONOMY ANODIZED BRASS | 23| 4 +Brand#33 |ECONOMY ANODIZED BRASS | 36| 4 +Brand#33 |ECONOMY ANODIZED COPPER | 14| 4 +Brand#33 |ECONOMY ANODIZED NICKEL | 9| 4 +Brand#33 |ECONOMY ANODIZED NICKEL | 49| 4 +Brand#33 |ECONOMY ANODIZED STEEL | 3| 4 +Brand#33 |ECONOMY ANODIZED STEEL | 14| 4 +Brand#33 |ECONOMY ANODIZED TIN | 9| 4 +Brand#33 |ECONOMY ANODIZED TIN | 14| 4 +Brand#33 |ECONOMY ANODIZED TIN | 36| 4 +Brand#33 |ECONOMY BRUSHED BRASS | 23| 4 +Brand#33 |ECONOMY BRUSHED COPPER | 49| 4 +Brand#33 |ECONOMY BRUSHED NICKEL | 3| 4 +Brand#33 |ECONOMY BRUSHED NICKEL | 36| 4 +Brand#33 |ECONOMY BRUSHED STEEL | 3| 4 +Brand#33 |ECONOMY BRUSHED STEEL | 9| 4 +Brand#33 |ECONOMY BRUSHED STEEL | 45| 4 +Brand#33 |ECONOMY BRUSHED TIN | 9| 4 +Brand#33 |ECONOMY BRUSHED TIN | 14| 4 +Brand#33 |ECONOMY BRUSHED TIN | 19| 4 +Brand#33 |ECONOMY BRUSHED TIN | 23| 4 +Brand#33 |ECONOMY BRUSHED TIN | 49| 4 +Brand#33 |ECONOMY BURNISHED BRASS | 23| 4 +Brand#33 |ECONOMY BURNISHED BRASS | 36| 4 +Brand#33 |ECONOMY BURNISHED COPPER | 9| 4 +Brand#33 |ECONOMY BURNISHED COPPER | 23| 4 +Brand#33 |ECONOMY BURNISHED COPPER | 36| 4 +Brand#33 |ECONOMY BURNISHED COPPER | 45| 4 +Brand#33 |ECONOMY BURNISHED COPPER | 49| 4 +Brand#33 |ECONOMY BURNISHED NICKEL | 3| 4 +Brand#33 |ECONOMY BURNISHED NICKEL | 23| 4 +Brand#33 |ECONOMY BURNISHED NICKEL | 36| 4 +Brand#33 |ECONOMY BURNISHED NICKEL | 49| 4 +Brand#33 |ECONOMY BURNISHED STEEL | 3| 4 +Brand#33 |ECONOMY BURNISHED STEEL | 14| 4 +Brand#33 |ECONOMY BURNISHED STEEL | 23| 4 +Brand#33 |ECONOMY BURNISHED STEEL | 45| 4 +Brand#33 |ECONOMY BURNISHED TIN | 14| 4 +Brand#33 |ECONOMY BURNISHED TIN | 19| 4 +Brand#33 |ECONOMY BURNISHED TIN | 36| 4 +Brand#33 |ECONOMY PLATED BRASS | 23| 4 +Brand#33 |ECONOMY PLATED COPPER | 3| 4 +Brand#33 |ECONOMY PLATED COPPER | 36| 4 +Brand#33 |ECONOMY PLATED COPPER | 45| 4 +Brand#33 |ECONOMY PLATED NICKEL | 9| 4 +Brand#33 |ECONOMY PLATED NICKEL | 14| 4 +Brand#33 |ECONOMY PLATED NICKEL | 23| 4 +Brand#33 |ECONOMY PLATED NICKEL | 45| 4 +Brand#33 |ECONOMY PLATED NICKEL | 49| 4 +Brand#33 |ECONOMY PLATED STEEL | 36| 4 +Brand#33 |ECONOMY PLATED STEEL | 49| 4 +Brand#33 |ECONOMY PLATED TIN | 14| 4 +Brand#33 |ECONOMY PLATED TIN | 19| 4 +Brand#33 |ECONOMY PLATED TIN | 23| 4 +Brand#33 |ECONOMY PLATED TIN | 36| 4 +Brand#33 |ECONOMY POLISHED BRASS | 9| 4 +Brand#33 |ECONOMY POLISHED COPPER | 9| 4 +Brand#33 |ECONOMY POLISHED COPPER | 23| 4 +Brand#33 |ECONOMY POLISHED NICKEL | 3| 4 +Brand#33 |ECONOMY POLISHED NICKEL | 23| 4 +Brand#33 |ECONOMY POLISHED NICKEL | 36| 4 +Brand#33 |ECONOMY POLISHED NICKEL | 49| 4 +Brand#33 |ECONOMY POLISHED STEEL | 14| 4 +Brand#33 |ECONOMY POLISHED STEEL | 19| 4 +Brand#33 |ECONOMY POLISHED STEEL | 23| 4 +Brand#33 |ECONOMY POLISHED STEEL | 45| 4 +Brand#33 |ECONOMY POLISHED TIN | 3| 4 +Brand#33 |ECONOMY POLISHED TIN | 9| 4 +Brand#33 |ECONOMY POLISHED TIN | 14| 4 +Brand#33 |ECONOMY POLISHED TIN | 23| 4 +Brand#33 |ECONOMY POLISHED TIN | 45| 4 +Brand#33 |LARGE ANODIZED BRASS | 14| 4 +Brand#33 |LARGE ANODIZED COPPER | 14| 4 +Brand#33 |LARGE ANODIZED COPPER | 45| 4 +Brand#33 |LARGE ANODIZED COPPER | 49| 4 +Brand#33 |LARGE ANODIZED NICKEL | 3| 4 +Brand#33 |LARGE ANODIZED NICKEL | 9| 4 +Brand#33 |LARGE ANODIZED NICKEL | 14| 4 +Brand#33 |LARGE ANODIZED NICKEL | 36| 4 +Brand#33 |LARGE ANODIZED STEEL | 14| 4 +Brand#33 |LARGE ANODIZED STEEL | 19| 4 +Brand#33 |LARGE ANODIZED STEEL | 36| 4 +Brand#33 |LARGE ANODIZED TIN | 14| 4 +Brand#33 |LARGE ANODIZED TIN | 19| 4 +Brand#33 |LARGE BRUSHED BRASS | 45| 4 +Brand#33 |LARGE BRUSHED COPPER | 3| 4 +Brand#33 |LARGE BRUSHED COPPER | 14| 4 +Brand#33 |LARGE BRUSHED COPPER | 23| 4 +Brand#33 |LARGE BRUSHED COPPER | 36| 4 +Brand#33 |LARGE BRUSHED COPPER | 45| 4 +Brand#33 |LARGE BRUSHED NICKEL | 3| 4 +Brand#33 |LARGE BRUSHED STEEL | 9| 4 +Brand#33 |LARGE BRUSHED STEEL | 14| 4 +Brand#33 |LARGE BRUSHED STEEL | 19| 4 +Brand#33 |LARGE BRUSHED TIN | 9| 4 +Brand#33 |LARGE BURNISHED COPPER | 3| 4 +Brand#33 |LARGE BURNISHED COPPER | 23| 4 +Brand#33 |LARGE BURNISHED COPPER | 36| 4 +Brand#33 |LARGE BURNISHED COPPER | 49| 4 +Brand#33 |LARGE BURNISHED NICKEL | 23| 4 +Brand#33 |LARGE BURNISHED NICKEL | 45| 4 +Brand#33 |LARGE BURNISHED STEEL | 19| 4 +Brand#33 |LARGE BURNISHED STEEL | 36| 4 +Brand#33 |LARGE BURNISHED TIN | 19| 4 +Brand#33 |LARGE BURNISHED TIN | 36| 4 +Brand#33 |LARGE PLATED BRASS | 9| 4 +Brand#33 |LARGE PLATED BRASS | 23| 4 +Brand#33 |LARGE PLATED BRASS | 36| 4 +Brand#33 |LARGE PLATED BRASS | 49| 4 +Brand#33 |LARGE PLATED COPPER | 9| 4 +Brand#33 |LARGE PLATED COPPER | 14| 4 +Brand#33 |LARGE PLATED COPPER | 19| 4 +Brand#33 |LARGE PLATED COPPER | 23| 4 +Brand#33 |LARGE PLATED COPPER | 45| 4 +Brand#33 |LARGE PLATED COPPER | 49| 4 +Brand#33 |LARGE PLATED NICKEL | 14| 4 +Brand#33 |LARGE PLATED NICKEL | 45| 4 +Brand#33 |LARGE PLATED STEEL | 9| 4 +Brand#33 |LARGE PLATED STEEL | 19| 4 +Brand#33 |LARGE PLATED STEEL | 23| 4 +Brand#33 |LARGE PLATED STEEL | 36| 4 +Brand#33 |LARGE PLATED STEEL | 45| 4 +Brand#33 |LARGE PLATED STEEL | 49| 4 +Brand#33 |LARGE PLATED TIN | 9| 4 +Brand#33 |LARGE PLATED TIN | 14| 4 +Brand#33 |LARGE PLATED TIN | 23| 4 +Brand#33 |LARGE PLATED TIN | 45| 4 +Brand#33 |LARGE PLATED TIN | 49| 4 +Brand#33 |LARGE POLISHED BRASS | 19| 4 +Brand#33 |LARGE POLISHED BRASS | 45| 4 +Brand#33 |LARGE POLISHED BRASS | 49| 4 +Brand#33 |LARGE POLISHED COPPER | 14| 4 +Brand#33 |LARGE POLISHED COPPER | 19| 4 +Brand#33 |LARGE POLISHED COPPER | 23| 4 +Brand#33 |LARGE POLISHED COPPER | 49| 4 +Brand#33 |LARGE POLISHED NICKEL | 23| 4 +Brand#33 |LARGE POLISHED NICKEL | 36| 4 +Brand#33 |LARGE POLISHED STEEL | 9| 4 +Brand#33 |LARGE POLISHED STEEL | 14| 4 +Brand#33 |LARGE POLISHED STEEL | 19| 4 +Brand#33 |LARGE POLISHED STEEL | 23| 4 +Brand#33 |LARGE POLISHED STEEL | 49| 4 +Brand#33 |LARGE POLISHED TIN | 45| 4 +Brand#33 |MEDIUM ANODIZED BRASS | 9| 4 +Brand#33 |MEDIUM ANODIZED BRASS | 36| 4 +Brand#33 |MEDIUM ANODIZED BRASS | 45| 4 +Brand#33 |MEDIUM ANODIZED BRASS | 49| 4 +Brand#33 |MEDIUM ANODIZED COPPER | 14| 4 +Brand#33 |MEDIUM ANODIZED COPPER | 36| 4 +Brand#33 |MEDIUM ANODIZED COPPER | 49| 4 +Brand#33 |MEDIUM ANODIZED NICKEL | 9| 4 +Brand#33 |MEDIUM ANODIZED NICKEL | 14| 4 +Brand#33 |MEDIUM ANODIZED NICKEL | 23| 4 +Brand#33 |MEDIUM ANODIZED STEEL | 19| 4 +Brand#33 |MEDIUM ANODIZED STEEL | 23| 4 +Brand#33 |MEDIUM ANODIZED STEEL | 36| 4 +Brand#33 |MEDIUM ANODIZED STEEL | 49| 4 +Brand#33 |MEDIUM ANODIZED TIN | 3| 4 +Brand#33 |MEDIUM ANODIZED TIN | 19| 4 +Brand#33 |MEDIUM BRUSHED BRASS | 3| 4 +Brand#33 |MEDIUM BRUSHED BRASS | 14| 4 +Brand#33 |MEDIUM BRUSHED BRASS | 36| 4 +Brand#33 |MEDIUM BRUSHED COPPER | 23| 4 +Brand#33 |MEDIUM BRUSHED NICKEL | 19| 4 +Brand#33 |MEDIUM BRUSHED NICKEL | 36| 4 +Brand#33 |MEDIUM BRUSHED NICKEL | 49| 4 +Brand#33 |MEDIUM BRUSHED STEEL | 3| 4 +Brand#33 |MEDIUM BRUSHED STEEL | 9| 4 +Brand#33 |MEDIUM BRUSHED STEEL | 19| 4 +Brand#33 |MEDIUM BRUSHED STEEL | 49| 4 +Brand#33 |MEDIUM BRUSHED TIN | 3| 4 +Brand#33 |MEDIUM BRUSHED TIN | 14| 4 +Brand#33 |MEDIUM BURNISHED BRASS | 14| 4 +Brand#33 |MEDIUM BURNISHED BRASS | 19| 4 +Brand#33 |MEDIUM BURNISHED BRASS | 45| 4 +Brand#33 |MEDIUM BURNISHED COPPER | 19| 4 +Brand#33 |MEDIUM BURNISHED COPPER | 36| 4 +Brand#33 |MEDIUM BURNISHED NICKEL | 14| 4 +Brand#33 |MEDIUM BURNISHED NICKEL | 23| 4 +Brand#33 |MEDIUM BURNISHED NICKEL | 36| 4 +Brand#33 |MEDIUM BURNISHED STEEL | 23| 4 +Brand#33 |MEDIUM BURNISHED STEEL | 36| 4 +Brand#33 |MEDIUM BURNISHED STEEL | 45| 4 +Brand#33 |MEDIUM BURNISHED TIN | 19| 4 +Brand#33 |MEDIUM PLATED BRASS | 9| 4 +Brand#33 |MEDIUM PLATED BRASS | 36| 4 +Brand#33 |MEDIUM PLATED BRASS | 45| 4 +Brand#33 |MEDIUM PLATED BRASS | 49| 4 +Brand#33 |MEDIUM PLATED COPPER | 45| 4 +Brand#33 |MEDIUM PLATED COPPER | 49| 4 +Brand#33 |MEDIUM PLATED NICKEL | 14| 4 +Brand#33 |MEDIUM PLATED STEEL | 9| 4 +Brand#33 |MEDIUM PLATED STEEL | 23| 4 +Brand#33 |MEDIUM PLATED STEEL | 36| 4 +Brand#33 |MEDIUM PLATED STEEL | 49| 4 +Brand#33 |MEDIUM PLATED TIN | 3| 4 +Brand#33 |PROMO ANODIZED BRASS | 36| 4 +Brand#33 |PROMO ANODIZED COPPER | 3| 4 +Brand#33 |PROMO ANODIZED COPPER | 9| 4 +Brand#33 |PROMO ANODIZED NICKEL | 3| 4 +Brand#33 |PROMO ANODIZED NICKEL | 19| 4 +Brand#33 |PROMO ANODIZED NICKEL | 49| 4 +Brand#33 |PROMO ANODIZED STEEL | 3| 4 +Brand#33 |PROMO ANODIZED STEEL | 49| 4 +Brand#33 |PROMO BRUSHED BRASS | 9| 4 +Brand#33 |PROMO BRUSHED BRASS | 14| 4 +Brand#33 |PROMO BRUSHED BRASS | 36| 4 +Brand#33 |PROMO BRUSHED BRASS | 45| 4 +Brand#33 |PROMO BRUSHED BRASS | 49| 4 +Brand#33 |PROMO BRUSHED COPPER | 19| 4 +Brand#33 |PROMO BRUSHED COPPER | 23| 4 +Brand#33 |PROMO BRUSHED COPPER | 36| 4 +Brand#33 |PROMO BRUSHED NICKEL | 3| 4 +Brand#33 |PROMO BRUSHED NICKEL | 23| 4 +Brand#33 |PROMO BRUSHED STEEL | 19| 4 +Brand#33 |PROMO BRUSHED STEEL | 23| 4 +Brand#33 |PROMO BRUSHED TIN | 14| 4 +Brand#33 |PROMO BRUSHED TIN | 19| 4 +Brand#33 |PROMO BRUSHED TIN | 36| 4 +Brand#33 |PROMO BRUSHED TIN | 45| 4 +Brand#33 |PROMO BURNISHED BRASS | 14| 4 +Brand#33 |PROMO BURNISHED BRASS | 23| 4 +Brand#33 |PROMO BURNISHED COPPER | 9| 4 +Brand#33 |PROMO BURNISHED COPPER | 14| 4 +Brand#33 |PROMO BURNISHED COPPER | 36| 4 +Brand#33 |PROMO BURNISHED NICKEL | 9| 4 +Brand#33 |PROMO BURNISHED NICKEL | 36| 4 +Brand#33 |PROMO BURNISHED NICKEL | 45| 4 +Brand#33 |PROMO BURNISHED STEEL | 23| 4 +Brand#33 |PROMO BURNISHED STEEL | 49| 4 +Brand#33 |PROMO BURNISHED TIN | 14| 4 +Brand#33 |PROMO PLATED BRASS | 19| 4 +Brand#33 |PROMO PLATED COPPER | 9| 4 +Brand#33 |PROMO PLATED COPPER | 23| 4 +Brand#33 |PROMO PLATED COPPER | 36| 4 +Brand#33 |PROMO PLATED COPPER | 49| 4 +Brand#33 |PROMO PLATED NICKEL | 3| 4 +Brand#33 |PROMO PLATED NICKEL | 36| 4 +Brand#33 |PROMO PLATED STEEL | 3| 4 +Brand#33 |PROMO PLATED STEEL | 14| 4 +Brand#33 |PROMO PLATED STEEL | 45| 4 +Brand#33 |PROMO PLATED TIN | 3| 4 +Brand#33 |PROMO PLATED TIN | 9| 4 +Brand#33 |PROMO PLATED TIN | 19| 4 +Brand#33 |PROMO PLATED TIN | 49| 4 +Brand#33 |PROMO POLISHED COPPER | 9| 4 +Brand#33 |PROMO POLISHED COPPER | 19| 4 +Brand#33 |PROMO POLISHED COPPER | 23| 4 +Brand#33 |PROMO POLISHED NICKEL | 19| 4 +Brand#33 |PROMO POLISHED NICKEL | 36| 4 +Brand#33 |PROMO POLISHED STEEL | 36| 4 +Brand#33 |PROMO POLISHED TIN | 9| 4 +Brand#33 |PROMO POLISHED TIN | 23| 4 +Brand#33 |SMALL ANODIZED BRASS | 14| 4 +Brand#33 |SMALL ANODIZED BRASS | 19| 4 +Brand#33 |SMALL ANODIZED BRASS | 45| 4 +Brand#33 |SMALL ANODIZED BRASS | 49| 4 +Brand#33 |SMALL ANODIZED COPPER | 36| 4 +Brand#33 |SMALL ANODIZED NICKEL | 19| 4 +Brand#33 |SMALL ANODIZED STEEL | 23| 4 +Brand#33 |SMALL ANODIZED STEEL | 45| 4 +Brand#33 |SMALL ANODIZED TIN | 3| 4 +Brand#33 |SMALL ANODIZED TIN | 14| 4 +Brand#33 |SMALL ANODIZED TIN | 36| 4 +Brand#33 |SMALL BRUSHED BRASS | 19| 4 +Brand#33 |SMALL BRUSHED BRASS | 45| 4 +Brand#33 |SMALL BRUSHED COPPER | 3| 4 +Brand#33 |SMALL BRUSHED COPPER | 19| 4 +Brand#33 |SMALL BRUSHED NICKEL | 14| 4 +Brand#33 |SMALL BRUSHED NICKEL | 23| 4 +Brand#33 |SMALL BRUSHED NICKEL | 36| 4 +Brand#33 |SMALL BRUSHED NICKEL | 49| 4 +Brand#33 |SMALL BRUSHED STEEL | 14| 4 +Brand#33 |SMALL BRUSHED STEEL | 19| 4 +Brand#33 |SMALL BRUSHED STEEL | 36| 4 +Brand#33 |SMALL BRUSHED STEEL | 45| 4 +Brand#33 |SMALL BRUSHED STEEL | 49| 4 +Brand#33 |SMALL BRUSHED TIN | 3| 4 +Brand#33 |SMALL BRUSHED TIN | 14| 4 +Brand#33 |SMALL BRUSHED TIN | 23| 4 +Brand#33 |SMALL BRUSHED TIN | 49| 4 +Brand#33 |SMALL BURNISHED BRASS | 3| 4 +Brand#33 |SMALL BURNISHED BRASS | 19| 4 +Brand#33 |SMALL BURNISHED BRASS | 49| 4 +Brand#33 |SMALL BURNISHED COPPER | 3| 4 +Brand#33 |SMALL BURNISHED COPPER | 9| 4 +Brand#33 |SMALL BURNISHED COPPER | 14| 4 +Brand#33 |SMALL BURNISHED COPPER | 23| 4 +Brand#33 |SMALL BURNISHED NICKEL | 3| 4 +Brand#33 |SMALL BURNISHED NICKEL | 9| 4 +Brand#33 |SMALL BURNISHED NICKEL | 14| 4 +Brand#33 |SMALL BURNISHED NICKEL | 23| 4 +Brand#33 |SMALL BURNISHED NICKEL | 45| 4 +Brand#33 |SMALL BURNISHED NICKEL | 49| 4 +Brand#33 |SMALL BURNISHED STEEL | 3| 4 +Brand#33 |SMALL BURNISHED STEEL | 49| 4 +Brand#33 |SMALL BURNISHED TIN | 3| 4 +Brand#33 |SMALL BURNISHED TIN | 14| 4 +Brand#33 |SMALL PLATED BRASS | 3| 4 +Brand#33 |SMALL PLATED BRASS | 36| 4 +Brand#33 |SMALL PLATED BRASS | 45| 4 +Brand#33 |SMALL PLATED COPPER | 14| 4 +Brand#33 |SMALL PLATED COPPER | 19| 4 +Brand#33 |SMALL PLATED COPPER | 23| 4 +Brand#33 |SMALL PLATED COPPER | 36| 4 +Brand#33 |SMALL PLATED COPPER | 49| 4 +Brand#33 |SMALL PLATED NICKEL | 3| 4 +Brand#33 |SMALL PLATED NICKEL | 9| 4 +Brand#33 |SMALL PLATED STEEL | 9| 4 +Brand#33 |SMALL PLATED STEEL | 36| 4 +Brand#33 |SMALL PLATED STEEL | 45| 4 +Brand#33 |SMALL PLATED TIN | 3| 4 +Brand#33 |SMALL POLISHED BRASS | 49| 4 +Brand#33 |SMALL POLISHED COPPER | 14| 4 +Brand#33 |SMALL POLISHED COPPER | 23| 4 +Brand#33 |SMALL POLISHED COPPER | 45| 4 +Brand#33 |SMALL POLISHED NICKEL | 14| 4 +Brand#33 |SMALL POLISHED NICKEL | 23| 4 +Brand#33 |SMALL POLISHED NICKEL | 36| 4 +Brand#33 |SMALL POLISHED NICKEL | 45| 4 +Brand#33 |SMALL POLISHED STEEL | 19| 4 +Brand#33 |SMALL POLISHED STEEL | 36| 4 +Brand#33 |SMALL POLISHED STEEL | 45| 4 +Brand#33 |SMALL POLISHED TIN | 36| 4 +Brand#33 |STANDARD ANODIZED BRASS | 3| 4 +Brand#33 |STANDARD ANODIZED BRASS | 14| 4 +Brand#33 |STANDARD ANODIZED BRASS | 19| 4 +Brand#33 |STANDARD ANODIZED BRASS | 45| 4 +Brand#33 |STANDARD ANODIZED COPPER | 9| 4 +Brand#33 |STANDARD ANODIZED COPPER | 45| 4 +Brand#33 |STANDARD ANODIZED NICKEL | 3| 4 +Brand#33 |STANDARD ANODIZED NICKEL | 14| 4 +Brand#33 |STANDARD ANODIZED NICKEL | 19| 4 +Brand#33 |STANDARD ANODIZED NICKEL | 23| 4 +Brand#33 |STANDARD ANODIZED STEEL | 23| 4 +Brand#33 |STANDARD ANODIZED TIN | 14| 4 +Brand#33 |STANDARD ANODIZED TIN | 45| 4 +Brand#33 |STANDARD BRUSHED BRASS | 3| 4 +Brand#33 |STANDARD BRUSHED BRASS | 14| 4 +Brand#33 |STANDARD BRUSHED COPPER | 14| 4 +Brand#33 |STANDARD BRUSHED COPPER | 23| 4 +Brand#33 |STANDARD BRUSHED COPPER | 49| 4 +Brand#33 |STANDARD BRUSHED NICKEL | 3| 4 +Brand#33 |STANDARD BRUSHED NICKEL | 9| 4 +Brand#33 |STANDARD BRUSHED NICKEL | 19| 4 +Brand#33 |STANDARD BRUSHED NICKEL | 45| 4 +Brand#33 |STANDARD BRUSHED STEEL | 23| 4 +Brand#33 |STANDARD BRUSHED STEEL | 36| 4 +Brand#33 |STANDARD BRUSHED STEEL | 49| 4 +Brand#33 |STANDARD BRUSHED TIN | 3| 4 +Brand#33 |STANDARD BRUSHED TIN | 9| 4 +Brand#33 |STANDARD BRUSHED TIN | 36| 4 +Brand#33 |STANDARD BRUSHED TIN | 45| 4 +Brand#33 |STANDARD BRUSHED TIN | 49| 4 +Brand#33 |STANDARD BURNISHED BRASS | 3| 4 +Brand#33 |STANDARD BURNISHED BRASS | 36| 4 +Brand#33 |STANDARD BURNISHED COPPER| 3| 4 +Brand#33 |STANDARD BURNISHED COPPER| 9| 4 +Brand#33 |STANDARD BURNISHED COPPER| 36| 4 +Brand#33 |STANDARD BURNISHED COPPER| 45| 4 +Brand#33 |STANDARD BURNISHED COPPER| 49| 4 +Brand#33 |STANDARD BURNISHED NICKEL| 3| 4 +Brand#33 |STANDARD BURNISHED NICKEL| 9| 4 +Brand#33 |STANDARD BURNISHED NICKEL| 14| 4 +Brand#33 |STANDARD BURNISHED NICKEL| 45| 4 +Brand#33 |STANDARD BURNISHED STEEL | 9| 4 +Brand#33 |STANDARD BURNISHED STEEL | 19| 4 +Brand#33 |STANDARD BURNISHED STEEL | 23| 4 +Brand#33 |STANDARD BURNISHED TIN | 9| 4 +Brand#33 |STANDARD BURNISHED TIN | 45| 4 +Brand#33 |STANDARD BURNISHED TIN | 49| 4 +Brand#33 |STANDARD PLATED BRASS | 9| 4 +Brand#33 |STANDARD PLATED COPPER | 3| 4 +Brand#33 |STANDARD PLATED COPPER | 9| 4 +Brand#33 |STANDARD PLATED COPPER | 36| 4 +Brand#33 |STANDARD PLATED NICKEL | 14| 4 +Brand#33 |STANDARD PLATED NICKEL | 19| 4 +Brand#33 |STANDARD PLATED NICKEL | 23| 4 +Brand#33 |STANDARD PLATED NICKEL | 45| 4 +Brand#33 |STANDARD PLATED STEEL | 36| 4 +Brand#33 |STANDARD PLATED STEEL | 45| 4 +Brand#33 |STANDARD PLATED TIN | 19| 4 +Brand#33 |STANDARD PLATED TIN | 23| 4 +Brand#33 |STANDARD PLATED TIN | 36| 4 +Brand#33 |STANDARD PLATED TIN | 45| 4 +Brand#33 |STANDARD POLISHED BRASS | 45| 4 +Brand#33 |STANDARD POLISHED BRASS | 49| 4 +Brand#33 |STANDARD POLISHED COPPER | 19| 4 +Brand#33 |STANDARD POLISHED COPPER | 36| 4 +Brand#33 |STANDARD POLISHED NICKEL | 19| 4 +Brand#33 |STANDARD POLISHED NICKEL | 23| 4 +Brand#33 |STANDARD POLISHED STEEL | 9| 4 +Brand#33 |STANDARD POLISHED STEEL | 36| 4 +Brand#33 |STANDARD POLISHED TIN | 3| 4 +Brand#33 |STANDARD POLISHED TIN | 9| 4 +Brand#33 |STANDARD POLISHED TIN | 19| 4 +Brand#33 |STANDARD POLISHED TIN | 23| 4 +Brand#33 |STANDARD POLISHED TIN | 36| 4 +Brand#34 |ECONOMY ANODIZED BRASS | 9| 4 +Brand#34 |ECONOMY ANODIZED BRASS | 23| 4 +Brand#34 |ECONOMY ANODIZED BRASS | 36| 4 +Brand#34 |ECONOMY ANODIZED BRASS | 45| 4 +Brand#34 |ECONOMY ANODIZED COPPER | 3| 4 +Brand#34 |ECONOMY ANODIZED COPPER | 19| 4 +Brand#34 |ECONOMY ANODIZED COPPER | 36| 4 +Brand#34 |ECONOMY ANODIZED COPPER | 49| 4 +Brand#34 |ECONOMY ANODIZED NICKEL | 19| 4 +Brand#34 |ECONOMY ANODIZED NICKEL | 36| 4 +Brand#34 |ECONOMY ANODIZED STEEL | 9| 4 +Brand#34 |ECONOMY ANODIZED STEEL | 14| 4 +Brand#34 |ECONOMY ANODIZED STEEL | 19| 4 +Brand#34 |ECONOMY ANODIZED STEEL | 36| 4 +Brand#34 |ECONOMY BRUSHED BRASS | 23| 4 +Brand#34 |ECONOMY BRUSHED BRASS | 45| 4 +Brand#34 |ECONOMY BRUSHED BRASS | 49| 4 +Brand#34 |ECONOMY BRUSHED COPPER | 36| 4 +Brand#34 |ECONOMY BRUSHED NICKEL | 3| 4 +Brand#34 |ECONOMY BRUSHED NICKEL | 14| 4 +Brand#34 |ECONOMY BRUSHED NICKEL | 19| 4 +Brand#34 |ECONOMY BRUSHED NICKEL | 45| 4 +Brand#34 |ECONOMY BRUSHED STEEL | 45| 4 +Brand#34 |ECONOMY BRUSHED STEEL | 49| 4 +Brand#34 |ECONOMY BRUSHED TIN | 9| 4 +Brand#34 |ECONOMY BRUSHED TIN | 23| 4 +Brand#34 |ECONOMY BRUSHED TIN | 36| 4 +Brand#34 |ECONOMY BRUSHED TIN | 45| 4 +Brand#34 |ECONOMY BURNISHED BRASS | 3| 4 +Brand#34 |ECONOMY BURNISHED BRASS | 49| 4 +Brand#34 |ECONOMY BURNISHED COPPER | 3| 4 +Brand#34 |ECONOMY BURNISHED COPPER | 49| 4 +Brand#34 |ECONOMY BURNISHED NICKEL | 3| 4 +Brand#34 |ECONOMY BURNISHED NICKEL | 9| 4 +Brand#34 |ECONOMY BURNISHED NICKEL | 23| 4 +Brand#34 |ECONOMY BURNISHED STEEL | 19| 4 +Brand#34 |ECONOMY BURNISHED STEEL | 23| 4 +Brand#34 |ECONOMY BURNISHED STEEL | 36| 4 +Brand#34 |ECONOMY BURNISHED STEEL | 45| 4 +Brand#34 |ECONOMY BURNISHED TIN | 23| 4 +Brand#34 |ECONOMY PLATED BRASS | 36| 4 +Brand#34 |ECONOMY PLATED BRASS | 49| 4 +Brand#34 |ECONOMY PLATED COPPER | 14| 4 +Brand#34 |ECONOMY PLATED COPPER | 19| 4 +Brand#34 |ECONOMY PLATED NICKEL | 14| 4 +Brand#34 |ECONOMY PLATED NICKEL | 19| 4 +Brand#34 |ECONOMY PLATED STEEL | 19| 4 +Brand#34 |ECONOMY PLATED STEEL | 23| 4 +Brand#34 |ECONOMY PLATED STEEL | 36| 4 +Brand#34 |ECONOMY PLATED STEEL | 45| 4 +Brand#34 |ECONOMY PLATED STEEL | 49| 4 +Brand#34 |ECONOMY PLATED TIN | 19| 4 +Brand#34 |ECONOMY PLATED TIN | 23| 4 +Brand#34 |ECONOMY PLATED TIN | 36| 4 +Brand#34 |ECONOMY PLATED TIN | 49| 4 +Brand#34 |ECONOMY POLISHED BRASS | 3| 4 +Brand#34 |ECONOMY POLISHED BRASS | 23| 4 +Brand#34 |ECONOMY POLISHED BRASS | 45| 4 +Brand#34 |ECONOMY POLISHED COPPER | 3| 4 +Brand#34 |ECONOMY POLISHED COPPER | 9| 4 +Brand#34 |ECONOMY POLISHED COPPER | 23| 4 +Brand#34 |ECONOMY POLISHED COPPER | 49| 4 +Brand#34 |ECONOMY POLISHED NICKEL | 3| 4 +Brand#34 |ECONOMY POLISHED NICKEL | 23| 4 +Brand#34 |ECONOMY POLISHED NICKEL | 36| 4 +Brand#34 |ECONOMY POLISHED NICKEL | 49| 4 +Brand#34 |ECONOMY POLISHED STEEL | 19| 4 +Brand#34 |ECONOMY POLISHED TIN | 3| 4 +Brand#34 |ECONOMY POLISHED TIN | 19| 4 +Brand#34 |ECONOMY POLISHED TIN | 45| 4 +Brand#34 |LARGE ANODIZED BRASS | 3| 4 +Brand#34 |LARGE ANODIZED BRASS | 14| 4 +Brand#34 |LARGE ANODIZED BRASS | 23| 4 +Brand#34 |LARGE ANODIZED BRASS | 36| 4 +Brand#34 |LARGE ANODIZED BRASS | 45| 4 +Brand#34 |LARGE ANODIZED BRASS | 49| 4 +Brand#34 |LARGE ANODIZED COPPER | 14| 4 +Brand#34 |LARGE ANODIZED COPPER | 19| 4 +Brand#34 |LARGE ANODIZED COPPER | 36| 4 +Brand#34 |LARGE ANODIZED COPPER | 45| 4 +Brand#34 |LARGE ANODIZED NICKEL | 14| 4 +Brand#34 |LARGE ANODIZED NICKEL | 36| 4 +Brand#34 |LARGE ANODIZED STEEL | 9| 4 +Brand#34 |LARGE ANODIZED STEEL | 23| 4 +Brand#34 |LARGE ANODIZED TIN | 3| 4 +Brand#34 |LARGE ANODIZED TIN | 9| 4 +Brand#34 |LARGE ANODIZED TIN | 19| 4 +Brand#34 |LARGE ANODIZED TIN | 49| 4 +Brand#34 |LARGE BRUSHED BRASS | 3| 4 +Brand#34 |LARGE BRUSHED COPPER | 14| 4 +Brand#34 |LARGE BRUSHED COPPER | 23| 4 +Brand#34 |LARGE BRUSHED COPPER | 45| 4 +Brand#34 |LARGE BRUSHED COPPER | 49| 4 +Brand#34 |LARGE BRUSHED NICKEL | 3| 4 +Brand#34 |LARGE BRUSHED NICKEL | 9| 4 +Brand#34 |LARGE BRUSHED NICKEL | 23| 4 +Brand#34 |LARGE BRUSHED NICKEL | 45| 4 +Brand#34 |LARGE BRUSHED STEEL | 3| 4 +Brand#34 |LARGE BRUSHED STEEL | 14| 4 +Brand#34 |LARGE BRUSHED STEEL | 23| 4 +Brand#34 |LARGE BRUSHED TIN | 19| 4 +Brand#34 |LARGE BRUSHED TIN | 45| 4 +Brand#34 |LARGE BURNISHED BRASS | 3| 4 +Brand#34 |LARGE BURNISHED BRASS | 9| 4 +Brand#34 |LARGE BURNISHED BRASS | 19| 4 +Brand#34 |LARGE BURNISHED BRASS | 49| 4 +Brand#34 |LARGE BURNISHED COPPER | 9| 4 +Brand#34 |LARGE BURNISHED COPPER | 45| 4 +Brand#34 |LARGE BURNISHED NICKEL | 9| 4 +Brand#34 |LARGE BURNISHED NICKEL | 19| 4 +Brand#34 |LARGE BURNISHED NICKEL | 36| 4 +Brand#34 |LARGE BURNISHED NICKEL | 45| 4 +Brand#34 |LARGE BURNISHED STEEL | 3| 4 +Brand#34 |LARGE BURNISHED STEEL | 23| 4 +Brand#34 |LARGE BURNISHED STEEL | 49| 4 +Brand#34 |LARGE BURNISHED TIN | 19| 4 +Brand#34 |LARGE BURNISHED TIN | 36| 4 +Brand#34 |LARGE PLATED BRASS | 3| 4 +Brand#34 |LARGE PLATED BRASS | 14| 4 +Brand#34 |LARGE PLATED BRASS | 23| 4 +Brand#34 |LARGE PLATED BRASS | 45| 4 +Brand#34 |LARGE PLATED BRASS | 49| 4 +Brand#34 |LARGE PLATED COPPER | 23| 4 +Brand#34 |LARGE PLATED COPPER | 45| 4 +Brand#34 |LARGE PLATED NICKEL | 19| 4 +Brand#34 |LARGE PLATED NICKEL | 23| 4 +Brand#34 |LARGE PLATED NICKEL | 36| 4 +Brand#34 |LARGE PLATED NICKEL | 49| 4 +Brand#34 |LARGE PLATED STEEL | 19| 4 +Brand#34 |LARGE PLATED STEEL | 36| 4 +Brand#34 |LARGE PLATED STEEL | 45| 4 +Brand#34 |LARGE PLATED STEEL | 49| 4 +Brand#34 |LARGE PLATED TIN | 9| 4 +Brand#34 |LARGE PLATED TIN | 49| 4 +Brand#34 |LARGE POLISHED BRASS | 9| 4 +Brand#34 |LARGE POLISHED COPPER | 49| 4 +Brand#34 |LARGE POLISHED NICKEL | 23| 4 +Brand#34 |LARGE POLISHED NICKEL | 36| 4 +Brand#34 |LARGE POLISHED STEEL | 9| 4 +Brand#34 |LARGE POLISHED STEEL | 45| 4 +Brand#34 |LARGE POLISHED TIN | 9| 4 +Brand#34 |LARGE POLISHED TIN | 49| 4 +Brand#34 |MEDIUM ANODIZED BRASS | 3| 4 +Brand#34 |MEDIUM ANODIZED BRASS | 14| 4 +Brand#34 |MEDIUM ANODIZED BRASS | 19| 4 +Brand#34 |MEDIUM ANODIZED COPPER | 9| 4 +Brand#34 |MEDIUM ANODIZED COPPER | 14| 4 +Brand#34 |MEDIUM ANODIZED COPPER | 49| 4 +Brand#34 |MEDIUM ANODIZED NICKEL | 3| 4 +Brand#34 |MEDIUM ANODIZED NICKEL | 9| 4 +Brand#34 |MEDIUM ANODIZED NICKEL | 19| 4 +Brand#34 |MEDIUM ANODIZED NICKEL | 23| 4 +Brand#34 |MEDIUM ANODIZED NICKEL | 36| 4 +Brand#34 |MEDIUM ANODIZED NICKEL | 45| 4 +Brand#34 |MEDIUM ANODIZED STEEL | 14| 4 +Brand#34 |MEDIUM ANODIZED STEEL | 23| 4 +Brand#34 |MEDIUM ANODIZED STEEL | 36| 4 +Brand#34 |MEDIUM ANODIZED STEEL | 45| 4 +Brand#34 |MEDIUM ANODIZED TIN | 3| 4 +Brand#34 |MEDIUM ANODIZED TIN | 19| 4 +Brand#34 |MEDIUM ANODIZED TIN | 36| 4 +Brand#34 |MEDIUM BRUSHED BRASS | 14| 4 +Brand#34 |MEDIUM BRUSHED BRASS | 36| 4 +Brand#34 |MEDIUM BRUSHED BRASS | 45| 4 +Brand#34 |MEDIUM BRUSHED COPPER | 3| 4 +Brand#34 |MEDIUM BRUSHED NICKEL | 3| 4 +Brand#34 |MEDIUM BRUSHED NICKEL | 19| 4 +Brand#34 |MEDIUM BRUSHED NICKEL | 36| 4 +Brand#34 |MEDIUM BRUSHED NICKEL | 45| 4 +Brand#34 |MEDIUM BRUSHED STEEL | 3| 4 +Brand#34 |MEDIUM BRUSHED STEEL | 14| 4 +Brand#34 |MEDIUM BRUSHED STEEL | 49| 4 +Brand#34 |MEDIUM BRUSHED TIN | 3| 4 +Brand#34 |MEDIUM BRUSHED TIN | 14| 4 +Brand#34 |MEDIUM BRUSHED TIN | 19| 4 +Brand#34 |MEDIUM BRUSHED TIN | 23| 4 +Brand#34 |MEDIUM BRUSHED TIN | 45| 4 +Brand#34 |MEDIUM BURNISHED BRASS | 3| 4 +Brand#34 |MEDIUM BURNISHED BRASS | 19| 4 +Brand#34 |MEDIUM BURNISHED BRASS | 36| 4 +Brand#34 |MEDIUM BURNISHED BRASS | 45| 4 +Brand#34 |MEDIUM BURNISHED COPPER | 9| 4 +Brand#34 |MEDIUM BURNISHED COPPER | 19| 4 +Brand#34 |MEDIUM BURNISHED COPPER | 36| 4 +Brand#34 |MEDIUM BURNISHED COPPER | 45| 4 +Brand#34 |MEDIUM BURNISHED NICKEL | 14| 4 +Brand#34 |MEDIUM BURNISHED NICKEL | 23| 4 +Brand#34 |MEDIUM BURNISHED NICKEL | 45| 4 +Brand#34 |MEDIUM BURNISHED STEEL | 3| 4 +Brand#34 |MEDIUM BURNISHED STEEL | 9| 4 +Brand#34 |MEDIUM BURNISHED STEEL | 14| 4 +Brand#34 |MEDIUM BURNISHED STEEL | 19| 4 +Brand#34 |MEDIUM BURNISHED STEEL | 45| 4 +Brand#34 |MEDIUM BURNISHED STEEL | 49| 4 +Brand#34 |MEDIUM BURNISHED TIN | 9| 4 +Brand#34 |MEDIUM BURNISHED TIN | 14| 4 +Brand#34 |MEDIUM BURNISHED TIN | 19| 4 +Brand#34 |MEDIUM BURNISHED TIN | 49| 4 +Brand#34 |MEDIUM PLATED BRASS | 3| 4 +Brand#34 |MEDIUM PLATED BRASS | 14| 4 +Brand#34 |MEDIUM PLATED BRASS | 45| 4 +Brand#34 |MEDIUM PLATED COPPER | 3| 4 +Brand#34 |MEDIUM PLATED COPPER | 23| 4 +Brand#34 |MEDIUM PLATED COPPER | 36| 4 +Brand#34 |MEDIUM PLATED COPPER | 45| 4 +Brand#34 |MEDIUM PLATED NICKEL | 3| 4 +Brand#34 |MEDIUM PLATED NICKEL | 14| 4 +Brand#34 |MEDIUM PLATED STEEL | 3| 4 +Brand#34 |MEDIUM PLATED STEEL | 9| 4 +Brand#34 |MEDIUM PLATED TIN | 3| 4 +Brand#34 |MEDIUM PLATED TIN | 45| 4 +Brand#34 |PROMO ANODIZED BRASS | 19| 4 +Brand#34 |PROMO ANODIZED BRASS | 45| 4 +Brand#34 |PROMO ANODIZED COPPER | 19| 4 +Brand#34 |PROMO ANODIZED COPPER | 23| 4 +Brand#34 |PROMO ANODIZED COPPER | 49| 4 +Brand#34 |PROMO ANODIZED NICKEL | 23| 4 +Brand#34 |PROMO ANODIZED NICKEL | 49| 4 +Brand#34 |PROMO ANODIZED STEEL | 3| 4 +Brand#34 |PROMO ANODIZED STEEL | 36| 4 +Brand#34 |PROMO ANODIZED STEEL | 49| 4 +Brand#34 |PROMO ANODIZED TIN | 19| 4 +Brand#34 |PROMO ANODIZED TIN | 45| 4 +Brand#34 |PROMO BRUSHED BRASS | 3| 4 +Brand#34 |PROMO BRUSHED BRASS | 14| 4 +Brand#34 |PROMO BRUSHED BRASS | 36| 4 +Brand#34 |PROMO BRUSHED COPPER | 19| 4 +Brand#34 |PROMO BRUSHED COPPER | 23| 4 +Brand#34 |PROMO BRUSHED COPPER | 36| 4 +Brand#34 |PROMO BRUSHED NICKEL | 3| 4 +Brand#34 |PROMO BRUSHED NICKEL | 9| 4 +Brand#34 |PROMO BRUSHED NICKEL | 14| 4 +Brand#34 |PROMO BRUSHED NICKEL | 23| 4 +Brand#34 |PROMO BRUSHED NICKEL | 36| 4 +Brand#34 |PROMO BRUSHED STEEL | 14| 4 +Brand#34 |PROMO BRUSHED STEEL | 23| 4 +Brand#34 |PROMO BRUSHED STEEL | 49| 4 +Brand#34 |PROMO BRUSHED TIN | 9| 4 +Brand#34 |PROMO BRUSHED TIN | 19| 4 +Brand#34 |PROMO BRUSHED TIN | 23| 4 +Brand#34 |PROMO BRUSHED TIN | 49| 4 +Brand#34 |PROMO BURNISHED BRASS | 3| 4 +Brand#34 |PROMO BURNISHED BRASS | 19| 4 +Brand#34 |PROMO BURNISHED BRASS | 23| 4 +Brand#34 |PROMO BURNISHED BRASS | 49| 4 +Brand#34 |PROMO BURNISHED COPPER | 9| 4 +Brand#34 |PROMO BURNISHED COPPER | 19| 4 +Brand#34 |PROMO BURNISHED COPPER | 23| 4 +Brand#34 |PROMO BURNISHED COPPER | 36| 4 +Brand#34 |PROMO BURNISHED COPPER | 45| 4 +Brand#34 |PROMO BURNISHED NICKEL | 3| 4 +Brand#34 |PROMO BURNISHED NICKEL | 9| 4 +Brand#34 |PROMO BURNISHED NICKEL | 36| 4 +Brand#34 |PROMO BURNISHED STEEL | 3| 4 +Brand#34 |PROMO BURNISHED STEEL | 19| 4 +Brand#34 |PROMO BURNISHED STEEL | 36| 4 +Brand#34 |PROMO BURNISHED TIN | 3| 4 +Brand#34 |PROMO BURNISHED TIN | 9| 4 +Brand#34 |PROMO BURNISHED TIN | 19| 4 +Brand#34 |PROMO BURNISHED TIN | 23| 4 +Brand#34 |PROMO BURNISHED TIN | 49| 4 +Brand#34 |PROMO PLATED BRASS | 14| 4 +Brand#34 |PROMO PLATED COPPER | 3| 4 +Brand#34 |PROMO PLATED COPPER | 9| 4 +Brand#34 |PROMO PLATED COPPER | 19| 4 +Brand#34 |PROMO PLATED NICKEL | 45| 4 +Brand#34 |PROMO PLATED STEEL | 3| 4 +Brand#34 |PROMO PLATED STEEL | 19| 4 +Brand#34 |PROMO PLATED STEEL | 49| 4 +Brand#34 |PROMO PLATED TIN | 3| 4 +Brand#34 |PROMO PLATED TIN | 23| 4 +Brand#34 |PROMO POLISHED BRASS | 3| 4 +Brand#34 |PROMO POLISHED BRASS | 36| 4 +Brand#34 |PROMO POLISHED BRASS | 45| 4 +Brand#34 |PROMO POLISHED BRASS | 49| 4 +Brand#34 |PROMO POLISHED COPPER | 3| 4 +Brand#34 |PROMO POLISHED COPPER | 45| 4 +Brand#34 |PROMO POLISHED COPPER | 49| 4 +Brand#34 |PROMO POLISHED NICKEL | 3| 4 +Brand#34 |PROMO POLISHED NICKEL | 9| 4 +Brand#34 |PROMO POLISHED NICKEL | 14| 4 +Brand#34 |PROMO POLISHED NICKEL | 23| 4 +Brand#34 |PROMO POLISHED NICKEL | 36| 4 +Brand#34 |PROMO POLISHED NICKEL | 45| 4 +Brand#34 |PROMO POLISHED STEEL | 36| 4 +Brand#34 |PROMO POLISHED STEEL | 45| 4 +Brand#34 |PROMO POLISHED TIN | 36| 4 +Brand#34 |SMALL ANODIZED BRASS | 3| 4 +Brand#34 |SMALL ANODIZED BRASS | 36| 4 +Brand#34 |SMALL ANODIZED BRASS | 45| 4 +Brand#34 |SMALL ANODIZED COPPER | 3| 4 +Brand#34 |SMALL ANODIZED COPPER | 36| 4 +Brand#34 |SMALL ANODIZED COPPER | 45| 4 +Brand#34 |SMALL ANODIZED NICKEL | 19| 4 +Brand#34 |SMALL ANODIZED STEEL | 3| 4 +Brand#34 |SMALL ANODIZED STEEL | 14| 4 +Brand#34 |SMALL ANODIZED STEEL | 23| 4 +Brand#34 |SMALL ANODIZED STEEL | 36| 4 +Brand#34 |SMALL ANODIZED TIN | 3| 4 +Brand#34 |SMALL ANODIZED TIN | 19| 4 +Brand#34 |SMALL ANODIZED TIN | 23| 4 +Brand#34 |SMALL ANODIZED TIN | 36| 4 +Brand#34 |SMALL BRUSHED BRASS | 3| 4 +Brand#34 |SMALL BRUSHED BRASS | 23| 4 +Brand#34 |SMALL BRUSHED BRASS | 36| 4 +Brand#34 |SMALL BRUSHED BRASS | 45| 4 +Brand#34 |SMALL BRUSHED BRASS | 49| 4 +Brand#34 |SMALL BRUSHED COPPER | 3| 4 +Brand#34 |SMALL BRUSHED COPPER | 9| 4 +Brand#34 |SMALL BRUSHED NICKEL | 3| 4 +Brand#34 |SMALL BRUSHED NICKEL | 23| 4 +Brand#34 |SMALL BRUSHED NICKEL | 36| 4 +Brand#34 |SMALL BRUSHED NICKEL | 49| 4 +Brand#34 |SMALL BRUSHED STEEL | 19| 4 +Brand#34 |SMALL BRUSHED STEEL | 23| 4 +Brand#34 |SMALL BRUSHED STEEL | 36| 4 +Brand#34 |SMALL BRUSHED STEEL | 49| 4 +Brand#34 |SMALL BRUSHED TIN | 9| 4 +Brand#34 |SMALL BRUSHED TIN | 14| 4 +Brand#34 |SMALL BRUSHED TIN | 19| 4 +Brand#34 |SMALL BRUSHED TIN | 23| 4 +Brand#34 |SMALL BRUSHED TIN | 36| 4 +Brand#34 |SMALL BRUSHED TIN | 45| 4 +Brand#34 |SMALL BURNISHED BRASS | 3| 4 +Brand#34 |SMALL BURNISHED BRASS | 36| 4 +Brand#34 |SMALL BURNISHED BRASS | 49| 4 +Brand#34 |SMALL BURNISHED COPPER | 3| 4 +Brand#34 |SMALL BURNISHED COPPER | 49| 4 +Brand#34 |SMALL BURNISHED NICKEL | 19| 4 +Brand#34 |SMALL BURNISHED NICKEL | 23| 4 +Brand#34 |SMALL BURNISHED STEEL | 3| 4 +Brand#34 |SMALL BURNISHED STEEL | 9| 4 +Brand#34 |SMALL BURNISHED STEEL | 19| 4 +Brand#34 |SMALL BURNISHED STEEL | 36| 4 +Brand#34 |SMALL BURNISHED STEEL | 49| 4 +Brand#34 |SMALL BURNISHED TIN | 14| 4 +Brand#34 |SMALL BURNISHED TIN | 23| 4 +Brand#34 |SMALL BURNISHED TIN | 45| 4 +Brand#34 |SMALL PLATED BRASS | 9| 4 +Brand#34 |SMALL PLATED BRASS | 45| 4 +Brand#34 |SMALL PLATED COPPER | 3| 4 +Brand#34 |SMALL PLATED COPPER | 9| 4 +Brand#34 |SMALL PLATED COPPER | 14| 4 +Brand#34 |SMALL PLATED COPPER | 36| 4 +Brand#34 |SMALL PLATED COPPER | 45| 4 +Brand#34 |SMALL PLATED NICKEL | 14| 4 +Brand#34 |SMALL PLATED NICKEL | 19| 4 +Brand#34 |SMALL PLATED NICKEL | 49| 4 +Brand#34 |SMALL PLATED STEEL | 3| 4 +Brand#34 |SMALL PLATED STEEL | 14| 4 +Brand#34 |SMALL PLATED STEEL | 23| 4 +Brand#34 |SMALL PLATED STEEL | 36| 4 +Brand#34 |SMALL PLATED STEEL | 49| 4 +Brand#34 |SMALL PLATED TIN | 3| 4 +Brand#34 |SMALL PLATED TIN | 23| 4 +Brand#34 |SMALL PLATED TIN | 36| 4 +Brand#34 |SMALL PLATED TIN | 49| 4 +Brand#34 |SMALL POLISHED BRASS | 3| 4 +Brand#34 |SMALL POLISHED BRASS | 9| 4 +Brand#34 |SMALL POLISHED BRASS | 19| 4 +Brand#34 |SMALL POLISHED BRASS | 36| 4 +Brand#34 |SMALL POLISHED BRASS | 49| 4 +Brand#34 |SMALL POLISHED COPPER | 3| 4 +Brand#34 |SMALL POLISHED COPPER | 14| 4 +Brand#34 |SMALL POLISHED NICKEL | 9| 4 +Brand#34 |SMALL POLISHED NICKEL | 14| 4 +Brand#34 |SMALL POLISHED NICKEL | 45| 4 +Brand#34 |SMALL POLISHED NICKEL | 49| 4 +Brand#34 |SMALL POLISHED STEEL | 3| 4 +Brand#34 |SMALL POLISHED STEEL | 14| 4 +Brand#34 |SMALL POLISHED STEEL | 23| 4 +Brand#34 |SMALL POLISHED STEEL | 45| 4 +Brand#34 |SMALL POLISHED TIN | 3| 4 +Brand#34 |SMALL POLISHED TIN | 9| 4 +Brand#34 |SMALL POLISHED TIN | 14| 4 +Brand#34 |SMALL POLISHED TIN | 19| 4 +Brand#34 |SMALL POLISHED TIN | 23| 4 +Brand#34 |SMALL POLISHED TIN | 45| 4 +Brand#34 |STANDARD ANODIZED BRASS | 3| 4 +Brand#34 |STANDARD ANODIZED COPPER | 49| 4 +Brand#34 |STANDARD ANODIZED STEEL | 14| 4 +Brand#34 |STANDARD ANODIZED STEEL | 19| 4 +Brand#34 |STANDARD ANODIZED STEEL | 23| 4 +Brand#34 |STANDARD ANODIZED STEEL | 36| 4 +Brand#34 |STANDARD ANODIZED STEEL | 49| 4 +Brand#34 |STANDARD ANODIZED TIN | 9| 4 +Brand#34 |STANDARD ANODIZED TIN | 19| 4 +Brand#34 |STANDARD ANODIZED TIN | 23| 4 +Brand#34 |STANDARD BRUSHED BRASS | 9| 4 +Brand#34 |STANDARD BRUSHED BRASS | 19| 4 +Brand#34 |STANDARD BRUSHED BRASS | 23| 4 +Brand#34 |STANDARD BRUSHED COPPER | 9| 4 +Brand#34 |STANDARD BRUSHED COPPER | 36| 4 +Brand#34 |STANDARD BRUSHED COPPER | 45| 4 +Brand#34 |STANDARD BRUSHED NICKEL | 3| 4 +Brand#34 |STANDARD BRUSHED NICKEL | 9| 4 +Brand#34 |STANDARD BRUSHED NICKEL | 14| 4 +Brand#34 |STANDARD BRUSHED NICKEL | 23| 4 +Brand#34 |STANDARD BRUSHED NICKEL | 49| 4 +Brand#34 |STANDARD BRUSHED STEEL | 3| 4 +Brand#34 |STANDARD BRUSHED STEEL | 9| 4 +Brand#34 |STANDARD BRUSHED STEEL | 36| 4 +Brand#34 |STANDARD BRUSHED TIN | 19| 4 +Brand#34 |STANDARD BRUSHED TIN | 23| 4 +Brand#34 |STANDARD BRUSHED TIN | 36| 4 +Brand#34 |STANDARD BURNISHED BRASS | 3| 4 +Brand#34 |STANDARD BURNISHED BRASS | 23| 4 +Brand#34 |STANDARD BURNISHED BRASS | 36| 4 +Brand#34 |STANDARD BURNISHED BRASS | 45| 4 +Brand#34 |STANDARD BURNISHED COPPER| 14| 4 +Brand#34 |STANDARD BURNISHED COPPER| 19| 4 +Brand#34 |STANDARD BURNISHED COPPER| 36| 4 +Brand#34 |STANDARD BURNISHED NICKEL| 3| 4 +Brand#34 |STANDARD BURNISHED NICKEL| 9| 4 +Brand#34 |STANDARD BURNISHED NICKEL| 45| 4 +Brand#34 |STANDARD BURNISHED STEEL | 3| 4 +Brand#34 |STANDARD BURNISHED STEEL | 36| 4 +Brand#34 |STANDARD BURNISHED STEEL | 45| 4 +Brand#34 |STANDARD BURNISHED TIN | 3| 4 +Brand#34 |STANDARD BURNISHED TIN | 14| 4 +Brand#34 |STANDARD BURNISHED TIN | 19| 4 +Brand#34 |STANDARD BURNISHED TIN | 36| 4 +Brand#34 |STANDARD PLATED BRASS | 9| 4 +Brand#34 |STANDARD PLATED BRASS | 23| 4 +Brand#34 |STANDARD PLATED BRASS | 36| 4 +Brand#34 |STANDARD PLATED COPPER | 3| 4 +Brand#34 |STANDARD PLATED COPPER | 19| 4 +Brand#34 |STANDARD PLATED COPPER | 49| 4 +Brand#34 |STANDARD PLATED NICKEL | 9| 4 +Brand#34 |STANDARD PLATED NICKEL | 23| 4 +Brand#34 |STANDARD PLATED STEEL | 3| 4 +Brand#34 |STANDARD PLATED STEEL | 14| 4 +Brand#34 |STANDARD PLATED STEEL | 19| 4 +Brand#34 |STANDARD PLATED TIN | 23| 4 +Brand#34 |STANDARD PLATED TIN | 49| 4 +Brand#34 |STANDARD POLISHED BRASS | 3| 4 +Brand#34 |STANDARD POLISHED BRASS | 14| 4 +Brand#34 |STANDARD POLISHED COPPER | 3| 4 +Brand#34 |STANDARD POLISHED COPPER | 9| 4 +Brand#34 |STANDARD POLISHED NICKEL | 3| 4 +Brand#34 |STANDARD POLISHED NICKEL | 9| 4 +Brand#34 |STANDARD POLISHED NICKEL | 14| 4 +Brand#34 |STANDARD POLISHED NICKEL | 19| 4 +Brand#34 |STANDARD POLISHED NICKEL | 23| 4 +Brand#34 |STANDARD POLISHED NICKEL | 45| 4 +Brand#34 |STANDARD POLISHED STEEL | 45| 4 +Brand#34 |STANDARD POLISHED TIN | 14| 4 +Brand#34 |STANDARD POLISHED TIN | 49| 4 +Brand#35 |ECONOMY ANODIZED COPPER | 14| 4 +Brand#35 |ECONOMY ANODIZED NICKEL | 45| 4 +Brand#35 |ECONOMY ANODIZED STEEL | 3| 4 +Brand#35 |ECONOMY ANODIZED STEEL | 9| 4 +Brand#35 |ECONOMY ANODIZED TIN | 3| 4 +Brand#35 |ECONOMY ANODIZED TIN | 9| 4 +Brand#35 |ECONOMY ANODIZED TIN | 49| 4 +Brand#35 |ECONOMY BRUSHED BRASS | 23| 4 +Brand#35 |ECONOMY BRUSHED BRASS | 45| 4 +Brand#35 |ECONOMY BRUSHED COPPER | 9| 4 +Brand#35 |ECONOMY BRUSHED COPPER | 14| 4 +Brand#35 |ECONOMY BRUSHED COPPER | 36| 4 +Brand#35 |ECONOMY BRUSHED COPPER | 49| 4 +Brand#35 |ECONOMY BRUSHED NICKEL | 3| 4 +Brand#35 |ECONOMY BRUSHED NICKEL | 9| 4 +Brand#35 |ECONOMY BRUSHED NICKEL | 19| 4 +Brand#35 |ECONOMY BRUSHED NICKEL | 23| 4 +Brand#35 |ECONOMY BRUSHED NICKEL | 36| 4 +Brand#35 |ECONOMY BRUSHED STEEL | 3| 4 +Brand#35 |ECONOMY BRUSHED STEEL | 9| 4 +Brand#35 |ECONOMY BRUSHED TIN | 14| 4 +Brand#35 |ECONOMY BRUSHED TIN | 45| 4 +Brand#35 |ECONOMY BURNISHED BRASS | 23| 4 +Brand#35 |ECONOMY BURNISHED BRASS | 45| 4 +Brand#35 |ECONOMY BURNISHED BRASS | 49| 4 +Brand#35 |ECONOMY BURNISHED COPPER | 3| 4 +Brand#35 |ECONOMY BURNISHED COPPER | 49| 4 +Brand#35 |ECONOMY BURNISHED NICKEL | 9| 4 +Brand#35 |ECONOMY BURNISHED NICKEL | 14| 4 +Brand#35 |ECONOMY BURNISHED NICKEL | 36| 4 +Brand#35 |ECONOMY BURNISHED NICKEL | 45| 4 +Brand#35 |ECONOMY BURNISHED STEEL | 3| 4 +Brand#35 |ECONOMY BURNISHED STEEL | 9| 4 +Brand#35 |ECONOMY BURNISHED STEEL | 14| 4 +Brand#35 |ECONOMY BURNISHED STEEL | 23| 4 +Brand#35 |ECONOMY BURNISHED STEEL | 49| 4 +Brand#35 |ECONOMY BURNISHED TIN | 19| 4 +Brand#35 |ECONOMY BURNISHED TIN | 36| 4 +Brand#35 |ECONOMY BURNISHED TIN | 49| 4 +Brand#35 |ECONOMY PLATED BRASS | 19| 4 +Brand#35 |ECONOMY PLATED COPPER | 36| 4 +Brand#35 |ECONOMY PLATED COPPER | 49| 4 +Brand#35 |ECONOMY PLATED NICKEL | 9| 4 +Brand#35 |ECONOMY PLATED STEEL | 3| 4 +Brand#35 |ECONOMY PLATED STEEL | 9| 4 +Brand#35 |ECONOMY PLATED STEEL | 45| 4 +Brand#35 |ECONOMY PLATED TIN | 3| 4 +Brand#35 |ECONOMY PLATED TIN | 9| 4 +Brand#35 |ECONOMY PLATED TIN | 19| 4 +Brand#35 |ECONOMY PLATED TIN | 23| 4 +Brand#35 |ECONOMY POLISHED BRASS | 19| 4 +Brand#35 |ECONOMY POLISHED BRASS | 23| 4 +Brand#35 |ECONOMY POLISHED BRASS | 49| 4 +Brand#35 |ECONOMY POLISHED COPPER | 19| 4 +Brand#35 |ECONOMY POLISHED COPPER | 23| 4 +Brand#35 |ECONOMY POLISHED COPPER | 45| 4 +Brand#35 |ECONOMY POLISHED COPPER | 49| 4 +Brand#35 |ECONOMY POLISHED NICKEL | 3| 4 +Brand#35 |ECONOMY POLISHED NICKEL | 14| 4 +Brand#35 |ECONOMY POLISHED NICKEL | 36| 4 +Brand#35 |ECONOMY POLISHED NICKEL | 45| 4 +Brand#35 |ECONOMY POLISHED STEEL | 23| 4 +Brand#35 |ECONOMY POLISHED TIN | 9| 4 +Brand#35 |ECONOMY POLISHED TIN | 36| 4 +Brand#35 |ECONOMY POLISHED TIN | 45| 4 +Brand#35 |LARGE ANODIZED BRASS | 14| 4 +Brand#35 |LARGE ANODIZED BRASS | 19| 4 +Brand#35 |LARGE ANODIZED NICKEL | 19| 4 +Brand#35 |LARGE ANODIZED NICKEL | 36| 4 +Brand#35 |LARGE ANODIZED STEEL | 14| 4 +Brand#35 |LARGE ANODIZED STEEL | 36| 4 +Brand#35 |LARGE BRUSHED BRASS | 9| 4 +Brand#35 |LARGE BRUSHED BRASS | 19| 4 +Brand#35 |LARGE BRUSHED BRASS | 36| 4 +Brand#35 |LARGE BRUSHED BRASS | 45| 4 +Brand#35 |LARGE BRUSHED BRASS | 49| 4 +Brand#35 |LARGE BRUSHED COPPER | 36| 4 +Brand#35 |LARGE BRUSHED COPPER | 45| 4 +Brand#35 |LARGE BRUSHED COPPER | 49| 4 +Brand#35 |LARGE BRUSHED NICKEL | 14| 4 +Brand#35 |LARGE BRUSHED NICKEL | 45| 4 +Brand#35 |LARGE BRUSHED STEEL | 9| 4 +Brand#35 |LARGE BRUSHED STEEL | 45| 4 +Brand#35 |LARGE BRUSHED STEEL | 49| 4 +Brand#35 |LARGE BRUSHED TIN | 3| 4 +Brand#35 |LARGE BRUSHED TIN | 9| 4 +Brand#35 |LARGE BRUSHED TIN | 19| 4 +Brand#35 |LARGE BURNISHED BRASS | 9| 4 +Brand#35 |LARGE BURNISHED BRASS | 23| 4 +Brand#35 |LARGE BURNISHED COPPER | 45| 4 +Brand#35 |LARGE BURNISHED COPPER | 49| 4 +Brand#35 |LARGE BURNISHED NICKEL | 36| 4 +Brand#35 |LARGE BURNISHED STEEL | 23| 4 +Brand#35 |LARGE BURNISHED TIN | 45| 4 +Brand#35 |LARGE PLATED COPPER | 3| 4 +Brand#35 |LARGE PLATED COPPER | 9| 4 +Brand#35 |LARGE PLATED COPPER | 14| 4 +Brand#35 |LARGE PLATED COPPER | 36| 4 +Brand#35 |LARGE PLATED COPPER | 49| 4 +Brand#35 |LARGE PLATED NICKEL | 9| 4 +Brand#35 |LARGE PLATED NICKEL | 14| 4 +Brand#35 |LARGE PLATED NICKEL | 23| 4 +Brand#35 |LARGE PLATED NICKEL | 49| 4 +Brand#35 |LARGE PLATED STEEL | 36| 4 +Brand#35 |LARGE PLATED STEEL | 45| 4 +Brand#35 |LARGE PLATED TIN | 3| 4 +Brand#35 |LARGE PLATED TIN | 49| 4 +Brand#35 |LARGE POLISHED BRASS | 3| 4 +Brand#35 |LARGE POLISHED BRASS | 9| 4 +Brand#35 |LARGE POLISHED BRASS | 14| 4 +Brand#35 |LARGE POLISHED BRASS | 23| 4 +Brand#35 |LARGE POLISHED BRASS | 36| 4 +Brand#35 |LARGE POLISHED BRASS | 45| 4 +Brand#35 |LARGE POLISHED COPPER | 9| 4 +Brand#35 |LARGE POLISHED COPPER | 45| 4 +Brand#35 |LARGE POLISHED NICKEL | 3| 4 +Brand#35 |LARGE POLISHED NICKEL | 9| 4 +Brand#35 |LARGE POLISHED NICKEL | 14| 4 +Brand#35 |LARGE POLISHED NICKEL | 19| 4 +Brand#35 |LARGE POLISHED NICKEL | 49| 4 +Brand#35 |LARGE POLISHED STEEL | 3| 4 +Brand#35 |LARGE POLISHED STEEL | 9| 4 +Brand#35 |LARGE POLISHED STEEL | 45| 4 +Brand#35 |LARGE POLISHED STEEL | 49| 4 +Brand#35 |LARGE POLISHED TIN | 19| 4 +Brand#35 |LARGE POLISHED TIN | 36| 4 +Brand#35 |LARGE POLISHED TIN | 45| 4 +Brand#35 |LARGE POLISHED TIN | 49| 4 +Brand#35 |MEDIUM ANODIZED BRASS | 3| 4 +Brand#35 |MEDIUM ANODIZED BRASS | 9| 4 +Brand#35 |MEDIUM ANODIZED BRASS | 14| 4 +Brand#35 |MEDIUM ANODIZED BRASS | 19| 4 +Brand#35 |MEDIUM ANODIZED BRASS | 36| 4 +Brand#35 |MEDIUM ANODIZED COPPER | 3| 4 +Brand#35 |MEDIUM ANODIZED COPPER | 23| 4 +Brand#35 |MEDIUM ANODIZED COPPER | 45| 4 +Brand#35 |MEDIUM ANODIZED COPPER | 49| 4 +Brand#35 |MEDIUM ANODIZED NICKEL | 36| 4 +Brand#35 |MEDIUM ANODIZED NICKEL | 45| 4 +Brand#35 |MEDIUM ANODIZED NICKEL | 49| 4 +Brand#35 |MEDIUM ANODIZED STEEL | 9| 4 +Brand#35 |MEDIUM ANODIZED STEEL | 14| 4 +Brand#35 |MEDIUM ANODIZED STEEL | 36| 4 +Brand#35 |MEDIUM ANODIZED STEEL | 49| 4 +Brand#35 |MEDIUM ANODIZED TIN | 9| 4 +Brand#35 |MEDIUM BRUSHED BRASS | 14| 4 +Brand#35 |MEDIUM BRUSHED COPPER | 9| 4 +Brand#35 |MEDIUM BRUSHED COPPER | 49| 4 +Brand#35 |MEDIUM BRUSHED NICKEL | 14| 4 +Brand#35 |MEDIUM BRUSHED NICKEL | 36| 4 +Brand#35 |MEDIUM BRUSHED STEEL | 9| 4 +Brand#35 |MEDIUM BRUSHED STEEL | 19| 4 +Brand#35 |MEDIUM BRUSHED STEEL | 36| 4 +Brand#35 |MEDIUM BRUSHED TIN | 3| 4 +Brand#35 |MEDIUM BRUSHED TIN | 36| 4 +Brand#35 |MEDIUM BRUSHED TIN | 45| 4 +Brand#35 |MEDIUM BURNISHED BRASS | 14| 4 +Brand#35 |MEDIUM BURNISHED BRASS | 19| 4 +Brand#35 |MEDIUM BURNISHED BRASS | 23| 4 +Brand#35 |MEDIUM BURNISHED COPPER | 3| 4 +Brand#35 |MEDIUM BURNISHED COPPER | 9| 4 +Brand#35 |MEDIUM BURNISHED COPPER | 14| 4 +Brand#35 |MEDIUM BURNISHED COPPER | 19| 4 +Brand#35 |MEDIUM BURNISHED COPPER | 45| 4 +Brand#35 |MEDIUM BURNISHED NICKEL | 36| 4 +Brand#35 |MEDIUM BURNISHED NICKEL | 45| 4 +Brand#35 |MEDIUM BURNISHED NICKEL | 49| 4 +Brand#35 |MEDIUM BURNISHED STEEL | 14| 4 +Brand#35 |MEDIUM PLATED BRASS | 9| 4 +Brand#35 |MEDIUM PLATED BRASS | 19| 4 +Brand#35 |MEDIUM PLATED BRASS | 49| 4 +Brand#35 |MEDIUM PLATED COPPER | 14| 4 +Brand#35 |MEDIUM PLATED NICKEL | 3| 4 +Brand#35 |MEDIUM PLATED NICKEL | 19| 4 +Brand#35 |MEDIUM PLATED STEEL | 9| 4 +Brand#35 |MEDIUM PLATED STEEL | 19| 4 +Brand#35 |MEDIUM PLATED STEEL | 45| 4 +Brand#35 |MEDIUM PLATED STEEL | 49| 4 +Brand#35 |MEDIUM PLATED TIN | 3| 4 +Brand#35 |MEDIUM PLATED TIN | 9| 4 +Brand#35 |MEDIUM PLATED TIN | 45| 4 +Brand#35 |PROMO ANODIZED BRASS | 19| 4 +Brand#35 |PROMO ANODIZED BRASS | 23| 4 +Brand#35 |PROMO ANODIZED BRASS | 36| 4 +Brand#35 |PROMO ANODIZED BRASS | 49| 4 +Brand#35 |PROMO ANODIZED COPPER | 19| 4 +Brand#35 |PROMO ANODIZED NICKEL | 9| 4 +Brand#35 |PROMO ANODIZED NICKEL | 19| 4 +Brand#35 |PROMO ANODIZED NICKEL | 23| 4 +Brand#35 |PROMO ANODIZED STEEL | 9| 4 +Brand#35 |PROMO ANODIZED STEEL | 19| 4 +Brand#35 |PROMO ANODIZED TIN | 3| 4 +Brand#35 |PROMO ANODIZED TIN | 19| 4 +Brand#35 |PROMO ANODIZED TIN | 23| 4 +Brand#35 |PROMO ANODIZED TIN | 36| 4 +Brand#35 |PROMO ANODIZED TIN | 45| 4 +Brand#35 |PROMO BRUSHED BRASS | 9| 4 +Brand#35 |PROMO BRUSHED BRASS | 19| 4 +Brand#35 |PROMO BRUSHED BRASS | 36| 4 +Brand#35 |PROMO BRUSHED BRASS | 49| 4 +Brand#35 |PROMO BRUSHED COPPER | 19| 4 +Brand#35 |PROMO BRUSHED COPPER | 45| 4 +Brand#35 |PROMO BRUSHED NICKEL | 23| 4 +Brand#35 |PROMO BRUSHED STEEL | 3| 4 +Brand#35 |PROMO BRUSHED STEEL | 45| 4 +Brand#35 |PROMO BRUSHED STEEL | 49| 4 +Brand#35 |PROMO BRUSHED TIN | 9| 4 +Brand#35 |PROMO BRUSHED TIN | 14| 4 +Brand#35 |PROMO BRUSHED TIN | 23| 4 +Brand#35 |PROMO BRUSHED TIN | 36| 4 +Brand#35 |PROMO BURNISHED BRASS | 9| 4 +Brand#35 |PROMO BURNISHED BRASS | 36| 4 +Brand#35 |PROMO BURNISHED BRASS | 45| 4 +Brand#35 |PROMO BURNISHED NICKEL | 9| 4 +Brand#35 |PROMO BURNISHED STEEL | 19| 4 +Brand#35 |PROMO BURNISHED STEEL | 23| 4 +Brand#35 |PROMO BURNISHED STEEL | 36| 4 +Brand#35 |PROMO BURNISHED TIN | 49| 4 +Brand#35 |PROMO PLATED BRASS | 3| 4 +Brand#35 |PROMO PLATED BRASS | 9| 4 +Brand#35 |PROMO PLATED BRASS | 36| 4 +Brand#35 |PROMO PLATED COPPER | 9| 4 +Brand#35 |PROMO PLATED COPPER | 14| 4 +Brand#35 |PROMO PLATED COPPER | 19| 4 +Brand#35 |PROMO PLATED COPPER | 45| 4 +Brand#35 |PROMO PLATED COPPER | 49| 4 +Brand#35 |PROMO PLATED NICKEL | 3| 4 +Brand#35 |PROMO PLATED NICKEL | 36| 4 +Brand#35 |PROMO PLATED NICKEL | 49| 4 +Brand#35 |PROMO PLATED STEEL | 19| 4 +Brand#35 |PROMO PLATED TIN | 49| 4 +Brand#35 |PROMO POLISHED BRASS | 14| 4 +Brand#35 |PROMO POLISHED BRASS | 36| 4 +Brand#35 |PROMO POLISHED BRASS | 45| 4 +Brand#35 |PROMO POLISHED BRASS | 49| 4 +Brand#35 |PROMO POLISHED COPPER | 9| 4 +Brand#35 |PROMO POLISHED COPPER | 45| 4 +Brand#35 |PROMO POLISHED NICKEL | 3| 4 +Brand#35 |PROMO POLISHED NICKEL | 14| 4 +Brand#35 |PROMO POLISHED NICKEL | 36| 4 +Brand#35 |PROMO POLISHED STEEL | 3| 4 +Brand#35 |PROMO POLISHED STEEL | 23| 4 +Brand#35 |PROMO POLISHED STEEL | 36| 4 +Brand#35 |PROMO POLISHED STEEL | 49| 4 +Brand#35 |PROMO POLISHED TIN | 9| 4 +Brand#35 |PROMO POLISHED TIN | 19| 4 +Brand#35 |SMALL ANODIZED BRASS | 3| 4 +Brand#35 |SMALL ANODIZED COPPER | 3| 4 +Brand#35 |SMALL ANODIZED COPPER | 9| 4 +Brand#35 |SMALL ANODIZED COPPER | 23| 4 +Brand#35 |SMALL ANODIZED COPPER | 36| 4 +Brand#35 |SMALL ANODIZED COPPER | 45| 4 +Brand#35 |SMALL ANODIZED COPPER | 49| 4 +Brand#35 |SMALL ANODIZED NICKEL | 3| 4 +Brand#35 |SMALL ANODIZED NICKEL | 14| 4 +Brand#35 |SMALL ANODIZED NICKEL | 45| 4 +Brand#35 |SMALL ANODIZED STEEL | 3| 4 +Brand#35 |SMALL ANODIZED STEEL | 9| 4 +Brand#35 |SMALL ANODIZED STEEL | 23| 4 +Brand#35 |SMALL ANODIZED STEEL | 36| 4 +Brand#35 |SMALL ANODIZED TIN | 9| 4 +Brand#35 |SMALL ANODIZED TIN | 19| 4 +Brand#35 |SMALL ANODIZED TIN | 23| 4 +Brand#35 |SMALL ANODIZED TIN | 45| 4 +Brand#35 |SMALL BRUSHED BRASS | 3| 4 +Brand#35 |SMALL BRUSHED BRASS | 9| 4 +Brand#35 |SMALL BRUSHED BRASS | 19| 4 +Brand#35 |SMALL BRUSHED BRASS | 36| 4 +Brand#35 |SMALL BRUSHED COPPER | 14| 4 +Brand#35 |SMALL BRUSHED COPPER | 23| 4 +Brand#35 |SMALL BRUSHED COPPER | 36| 4 +Brand#35 |SMALL BRUSHED NICKEL | 36| 4 +Brand#35 |SMALL BRUSHED NICKEL | 45| 4 +Brand#35 |SMALL BRUSHED STEEL | 3| 4 +Brand#35 |SMALL BRUSHED STEEL | 14| 4 +Brand#35 |SMALL BRUSHED TIN | 3| 4 +Brand#35 |SMALL BRUSHED TIN | 36| 4 +Brand#35 |SMALL BURNISHED BRASS | 3| 4 +Brand#35 |SMALL BURNISHED BRASS | 19| 4 +Brand#35 |SMALL BURNISHED COPPER | 9| 4 +Brand#35 |SMALL BURNISHED COPPER | 19| 4 +Brand#35 |SMALL BURNISHED COPPER | 23| 4 +Brand#35 |SMALL BURNISHED NICKEL | 14| 4 +Brand#35 |SMALL BURNISHED NICKEL | 45| 4 +Brand#35 |SMALL BURNISHED NICKEL | 49| 4 +Brand#35 |SMALL BURNISHED STEEL | 9| 4 +Brand#35 |SMALL BURNISHED TIN | 3| 4 +Brand#35 |SMALL BURNISHED TIN | 9| 4 +Brand#35 |SMALL BURNISHED TIN | 14| 4 +Brand#35 |SMALL BURNISHED TIN | 23| 4 +Brand#35 |SMALL BURNISHED TIN | 36| 4 +Brand#35 |SMALL BURNISHED TIN | 49| 4 +Brand#35 |SMALL PLATED BRASS | 3| 4 +Brand#35 |SMALL PLATED BRASS | 14| 4 +Brand#35 |SMALL PLATED BRASS | 23| 4 +Brand#35 |SMALL PLATED BRASS | 45| 4 +Brand#35 |SMALL PLATED BRASS | 49| 4 +Brand#35 |SMALL PLATED COPPER | 9| 4 +Brand#35 |SMALL PLATED COPPER | 19| 4 +Brand#35 |SMALL PLATED COPPER | 23| 4 +Brand#35 |SMALL PLATED COPPER | 36| 4 +Brand#35 |SMALL PLATED NICKEL | 3| 4 +Brand#35 |SMALL PLATED NICKEL | 14| 4 +Brand#35 |SMALL PLATED NICKEL | 19| 4 +Brand#35 |SMALL PLATED STEEL | 9| 4 +Brand#35 |SMALL PLATED STEEL | 19| 4 +Brand#35 |SMALL PLATED STEEL | 45| 4 +Brand#35 |SMALL PLATED STEEL | 49| 4 +Brand#35 |SMALL PLATED TIN | 19| 4 +Brand#35 |SMALL PLATED TIN | 23| 4 +Brand#35 |SMALL POLISHED BRASS | 19| 4 +Brand#35 |SMALL POLISHED BRASS | 49| 4 +Brand#35 |SMALL POLISHED COPPER | 9| 4 +Brand#35 |SMALL POLISHED NICKEL | 3| 4 +Brand#35 |SMALL POLISHED NICKEL | 9| 4 +Brand#35 |SMALL POLISHED NICKEL | 23| 4 +Brand#35 |SMALL POLISHED NICKEL | 45| 4 +Brand#35 |SMALL POLISHED STEEL | 3| 4 +Brand#35 |SMALL POLISHED STEEL | 9| 4 +Brand#35 |SMALL POLISHED STEEL | 14| 4 +Brand#35 |SMALL POLISHED TIN | 36| 4 +Brand#35 |STANDARD ANODIZED BRASS | 3| 4 +Brand#35 |STANDARD ANODIZED BRASS | 23| 4 +Brand#35 |STANDARD ANODIZED BRASS | 36| 4 +Brand#35 |STANDARD ANODIZED BRASS | 49| 4 +Brand#35 |STANDARD ANODIZED COPPER | 9| 4 +Brand#35 |STANDARD ANODIZED COPPER | 19| 4 +Brand#35 |STANDARD ANODIZED COPPER | 49| 4 +Brand#35 |STANDARD ANODIZED NICKEL | 3| 4 +Brand#35 |STANDARD ANODIZED NICKEL | 9| 4 +Brand#35 |STANDARD ANODIZED NICKEL | 19| 4 +Brand#35 |STANDARD ANODIZED NICKEL | 23| 4 +Brand#35 |STANDARD ANODIZED NICKEL | 45| 4 +Brand#35 |STANDARD ANODIZED STEEL | 19| 4 +Brand#35 |STANDARD ANODIZED STEEL | 23| 4 +Brand#35 |STANDARD ANODIZED STEEL | 36| 4 +Brand#35 |STANDARD ANODIZED STEEL | 45| 4 +Brand#35 |STANDARD ANODIZED TIN | 14| 4 +Brand#35 |STANDARD ANODIZED TIN | 19| 4 +Brand#35 |STANDARD BRUSHED BRASS | 3| 4 +Brand#35 |STANDARD BRUSHED BRASS | 9| 4 +Brand#35 |STANDARD BRUSHED BRASS | 49| 4 +Brand#35 |STANDARD BRUSHED COPPER | 9| 4 +Brand#35 |STANDARD BRUSHED COPPER | 49| 4 +Brand#35 |STANDARD BRUSHED NICKEL | 3| 4 +Brand#35 |STANDARD BRUSHED NICKEL | 19| 4 +Brand#35 |STANDARD BRUSHED NICKEL | 23| 4 +Brand#35 |STANDARD BRUSHED NICKEL | 36| 4 +Brand#35 |STANDARD BRUSHED STEEL | 19| 4 +Brand#35 |STANDARD BRUSHED STEEL | 23| 4 +Brand#35 |STANDARD BRUSHED STEEL | 45| 4 +Brand#35 |STANDARD BRUSHED TIN | 9| 4 +Brand#35 |STANDARD BRUSHED TIN | 14| 4 +Brand#35 |STANDARD BRUSHED TIN | 19| 4 +Brand#35 |STANDARD BRUSHED TIN | 36| 4 +Brand#35 |STANDARD BRUSHED TIN | 49| 4 +Brand#35 |STANDARD BURNISHED BRASS | 3| 4 +Brand#35 |STANDARD BURNISHED BRASS | 9| 4 +Brand#35 |STANDARD BURNISHED BRASS | 14| 4 +Brand#35 |STANDARD BURNISHED BRASS | 19| 4 +Brand#35 |STANDARD BURNISHED BRASS | 23| 4 +Brand#35 |STANDARD BURNISHED BRASS | 49| 4 +Brand#35 |STANDARD BURNISHED COPPER| 14| 4 +Brand#35 |STANDARD BURNISHED COPPER| 19| 4 +Brand#35 |STANDARD BURNISHED COPPER| 23| 4 +Brand#35 |STANDARD BURNISHED COPPER| 45| 4 +Brand#35 |STANDARD BURNISHED NICKEL| 3| 4 +Brand#35 |STANDARD BURNISHED NICKEL| 19| 4 +Brand#35 |STANDARD BURNISHED NICKEL| 23| 4 +Brand#35 |STANDARD BURNISHED STEEL | 9| 4 +Brand#35 |STANDARD BURNISHED STEEL | 19| 4 +Brand#35 |STANDARD BURNISHED TIN | 9| 4 +Brand#35 |STANDARD BURNISHED TIN | 14| 4 +Brand#35 |STANDARD BURNISHED TIN | 23| 4 +Brand#35 |STANDARD PLATED BRASS | 3| 4 +Brand#35 |STANDARD PLATED BRASS | 9| 4 +Brand#35 |STANDARD PLATED COPPER | 23| 4 +Brand#35 |STANDARD PLATED COPPER | 49| 4 +Brand#35 |STANDARD PLATED NICKEL | 36| 4 +Brand#35 |STANDARD PLATED NICKEL | 45| 4 +Brand#35 |STANDARD PLATED STEEL | 3| 4 +Brand#35 |STANDARD PLATED STEEL | 14| 4 +Brand#35 |STANDARD PLATED STEEL | 49| 4 +Brand#35 |STANDARD PLATED TIN | 3| 4 +Brand#35 |STANDARD POLISHED BRASS | 3| 4 +Brand#35 |STANDARD POLISHED BRASS | 14| 4 +Brand#35 |STANDARD POLISHED BRASS | 45| 4 +Brand#35 |STANDARD POLISHED COPPER | 3| 4 +Brand#35 |STANDARD POLISHED COPPER | 9| 4 +Brand#35 |STANDARD POLISHED COPPER | 14| 4 +Brand#35 |STANDARD POLISHED COPPER | 19| 4 +Brand#35 |STANDARD POLISHED COPPER | 36| 4 +Brand#35 |STANDARD POLISHED COPPER | 45| 4 +Brand#35 |STANDARD POLISHED NICKEL | 19| 4 +Brand#35 |STANDARD POLISHED NICKEL | 45| 4 +Brand#35 |STANDARD POLISHED STEEL | 9| 4 +Brand#35 |STANDARD POLISHED STEEL | 19| 4 +Brand#35 |STANDARD POLISHED TIN | 19| 4 +Brand#35 |STANDARD POLISHED TIN | 23| 4 +Brand#35 |STANDARD POLISHED TIN | 49| 4 +Brand#41 |ECONOMY ANODIZED BRASS | 3| 4 +Brand#41 |ECONOMY ANODIZED BRASS | 9| 4 +Brand#41 |ECONOMY ANODIZED COPPER | 3| 4 +Brand#41 |ECONOMY ANODIZED COPPER | 9| 4 +Brand#41 |ECONOMY ANODIZED NICKEL | 3| 4 +Brand#41 |ECONOMY ANODIZED NICKEL | 9| 4 +Brand#41 |ECONOMY ANODIZED NICKEL | 14| 4 +Brand#41 |ECONOMY ANODIZED NICKEL | 23| 4 +Brand#41 |ECONOMY ANODIZED NICKEL | 36| 4 +Brand#41 |ECONOMY ANODIZED NICKEL | 49| 4 +Brand#41 |ECONOMY ANODIZED STEEL | 9| 4 +Brand#41 |ECONOMY ANODIZED STEEL | 14| 4 +Brand#41 |ECONOMY ANODIZED STEEL | 23| 4 +Brand#41 |ECONOMY ANODIZED TIN | 9| 4 +Brand#41 |ECONOMY ANODIZED TIN | 19| 4 +Brand#41 |ECONOMY ANODIZED TIN | 49| 4 +Brand#41 |ECONOMY BRUSHED BRASS | 9| 4 +Brand#41 |ECONOMY BRUSHED BRASS | 19| 4 +Brand#41 |ECONOMY BRUSHED BRASS | 45| 4 +Brand#41 |ECONOMY BRUSHED BRASS | 49| 4 +Brand#41 |ECONOMY BRUSHED COPPER | 9| 4 +Brand#41 |ECONOMY BRUSHED COPPER | 45| 4 +Brand#41 |ECONOMY BRUSHED NICKEL | 3| 4 +Brand#41 |ECONOMY BRUSHED NICKEL | 9| 4 +Brand#41 |ECONOMY BRUSHED NICKEL | 14| 4 +Brand#41 |ECONOMY BRUSHED NICKEL | 23| 4 +Brand#41 |ECONOMY BRUSHED STEEL | 14| 4 +Brand#41 |ECONOMY BRUSHED STEEL | 23| 4 +Brand#41 |ECONOMY BRUSHED STEEL | 49| 4 +Brand#41 |ECONOMY BRUSHED TIN | 19| 4 +Brand#41 |ECONOMY BURNISHED BRASS | 9| 4 +Brand#41 |ECONOMY BURNISHED COPPER | 19| 4 +Brand#41 |ECONOMY BURNISHED COPPER | 23| 4 +Brand#41 |ECONOMY BURNISHED COPPER | 36| 4 +Brand#41 |ECONOMY BURNISHED NICKEL | 9| 4 +Brand#41 |ECONOMY BURNISHED NICKEL | 19| 4 +Brand#41 |ECONOMY BURNISHED NICKEL | 23| 4 +Brand#41 |ECONOMY BURNISHED STEEL | 9| 4 +Brand#41 |ECONOMY BURNISHED STEEL | 45| 4 +Brand#41 |ECONOMY BURNISHED TIN | 19| 4 +Brand#41 |ECONOMY BURNISHED TIN | 45| 4 +Brand#41 |ECONOMY BURNISHED TIN | 49| 4 +Brand#41 |ECONOMY PLATED COPPER | 3| 4 +Brand#41 |ECONOMY PLATED COPPER | 9| 4 +Brand#41 |ECONOMY PLATED COPPER | 19| 4 +Brand#41 |ECONOMY PLATED COPPER | 23| 4 +Brand#41 |ECONOMY PLATED COPPER | 36| 4 +Brand#41 |ECONOMY PLATED NICKEL | 19| 4 +Brand#41 |ECONOMY PLATED NICKEL | 49| 4 +Brand#41 |ECONOMY PLATED TIN | 14| 4 +Brand#41 |ECONOMY PLATED TIN | 36| 4 +Brand#41 |ECONOMY POLISHED BRASS | 3| 4 +Brand#41 |ECONOMY POLISHED BRASS | 9| 4 +Brand#41 |ECONOMY POLISHED COPPER | 3| 4 +Brand#41 |ECONOMY POLISHED COPPER | 9| 4 +Brand#41 |ECONOMY POLISHED COPPER | 19| 4 +Brand#41 |ECONOMY POLISHED COPPER | 23| 4 +Brand#41 |ECONOMY POLISHED NICKEL | 3| 4 +Brand#41 |ECONOMY POLISHED NICKEL | 14| 4 +Brand#41 |ECONOMY POLISHED NICKEL | 36| 4 +Brand#41 |ECONOMY POLISHED STEEL | 9| 4 +Brand#41 |ECONOMY POLISHED STEEL | 14| 4 +Brand#41 |ECONOMY POLISHED STEEL | 36| 4 +Brand#41 |ECONOMY POLISHED TIN | 9| 4 +Brand#41 |LARGE ANODIZED BRASS | 19| 4 +Brand#41 |LARGE ANODIZED BRASS | 49| 4 +Brand#41 |LARGE ANODIZED COPPER | 19| 4 +Brand#41 |LARGE ANODIZED COPPER | 23| 4 +Brand#41 |LARGE ANODIZED COPPER | 49| 4 +Brand#41 |LARGE ANODIZED NICKEL | 14| 4 +Brand#41 |LARGE ANODIZED NICKEL | 23| 4 +Brand#41 |LARGE ANODIZED NICKEL | 36| 4 +Brand#41 |LARGE ANODIZED NICKEL | 45| 4 +Brand#41 |LARGE ANODIZED NICKEL | 49| 4 +Brand#41 |LARGE ANODIZED STEEL | 9| 4 +Brand#41 |LARGE ANODIZED STEEL | 45| 4 +Brand#41 |LARGE ANODIZED STEEL | 49| 4 +Brand#41 |LARGE ANODIZED TIN | 9| 4 +Brand#41 |LARGE ANODIZED TIN | 14| 4 +Brand#41 |LARGE ANODIZED TIN | 36| 4 +Brand#41 |LARGE ANODIZED TIN | 49| 4 +Brand#41 |LARGE BRUSHED BRASS | 19| 4 +Brand#41 |LARGE BRUSHED BRASS | 36| 4 +Brand#41 |LARGE BRUSHED BRASS | 45| 4 +Brand#41 |LARGE BRUSHED BRASS | 49| 4 +Brand#41 |LARGE BRUSHED COPPER | 3| 4 +Brand#41 |LARGE BRUSHED COPPER | 14| 4 +Brand#41 |LARGE BRUSHED COPPER | 45| 4 +Brand#41 |LARGE BRUSHED NICKEL | 3| 4 +Brand#41 |LARGE BRUSHED NICKEL | 9| 4 +Brand#41 |LARGE BRUSHED NICKEL | 49| 4 +Brand#41 |LARGE BRUSHED STEEL | 3| 4 +Brand#41 |LARGE BRUSHED STEEL | 19| 4 +Brand#41 |LARGE BRUSHED TIN | 9| 4 +Brand#41 |LARGE BRUSHED TIN | 23| 4 +Brand#41 |LARGE BURNISHED BRASS | 9| 4 +Brand#41 |LARGE BURNISHED BRASS | 14| 4 +Brand#41 |LARGE BURNISHED BRASS | 45| 4 +Brand#41 |LARGE BURNISHED BRASS | 49| 4 +Brand#41 |LARGE BURNISHED COPPER | 9| 4 +Brand#41 |LARGE BURNISHED COPPER | 36| 4 +Brand#41 |LARGE BURNISHED NICKEL | 3| 4 +Brand#41 |LARGE BURNISHED NICKEL | 9| 4 +Brand#41 |LARGE BURNISHED NICKEL | 23| 4 +Brand#41 |LARGE BURNISHED STEEL | 36| 4 +Brand#41 |LARGE BURNISHED TIN | 23| 4 +Brand#41 |LARGE BURNISHED TIN | 49| 4 +Brand#41 |LARGE PLATED BRASS | 49| 4 +Brand#41 |LARGE PLATED NICKEL | 23| 4 +Brand#41 |LARGE PLATED NICKEL | 45| 4 +Brand#41 |LARGE PLATED STEEL | 9| 4 +Brand#41 |LARGE PLATED STEEL | 45| 4 +Brand#41 |LARGE PLATED TIN | 9| 4 +Brand#41 |LARGE PLATED TIN | 49| 4 +Brand#41 |LARGE POLISHED BRASS | 9| 4 +Brand#41 |LARGE POLISHED BRASS | 23| 4 +Brand#41 |LARGE POLISHED COPPER | 9| 4 +Brand#41 |LARGE POLISHED COPPER | 45| 4 +Brand#41 |LARGE POLISHED NICKEL | 9| 4 +Brand#41 |LARGE POLISHED NICKEL | 19| 4 +Brand#41 |LARGE POLISHED NICKEL | 36| 4 +Brand#41 |LARGE POLISHED STEEL | 19| 4 +Brand#41 |LARGE POLISHED STEEL | 36| 4 +Brand#41 |LARGE POLISHED STEEL | 45| 4 +Brand#41 |LARGE POLISHED STEEL | 49| 4 +Brand#41 |LARGE POLISHED TIN | 23| 4 +Brand#41 |LARGE POLISHED TIN | 36| 4 +Brand#41 |LARGE POLISHED TIN | 45| 4 +Brand#41 |LARGE POLISHED TIN | 49| 4 +Brand#41 |MEDIUM ANODIZED BRASS | 14| 4 +Brand#41 |MEDIUM ANODIZED BRASS | 19| 4 +Brand#41 |MEDIUM ANODIZED BRASS | 23| 4 +Brand#41 |MEDIUM ANODIZED COPPER | 9| 4 +Brand#41 |MEDIUM ANODIZED COPPER | 14| 4 +Brand#41 |MEDIUM ANODIZED COPPER | 19| 4 +Brand#41 |MEDIUM ANODIZED COPPER | 36| 4 +Brand#41 |MEDIUM ANODIZED COPPER | 45| 4 +Brand#41 |MEDIUM ANODIZED COPPER | 49| 4 +Brand#41 |MEDIUM ANODIZED NICKEL | 9| 4 +Brand#41 |MEDIUM ANODIZED NICKEL | 14| 4 +Brand#41 |MEDIUM ANODIZED NICKEL | 23| 4 +Brand#41 |MEDIUM ANODIZED NICKEL | 45| 4 +Brand#41 |MEDIUM ANODIZED STEEL | 9| 4 +Brand#41 |MEDIUM ANODIZED STEEL | 14| 4 +Brand#41 |MEDIUM ANODIZED STEEL | 19| 4 +Brand#41 |MEDIUM BRUSHED BRASS | 23| 4 +Brand#41 |MEDIUM BRUSHED COPPER | 9| 4 +Brand#41 |MEDIUM BRUSHED COPPER | 19| 4 +Brand#41 |MEDIUM BRUSHED COPPER | 23| 4 +Brand#41 |MEDIUM BRUSHED COPPER | 36| 4 +Brand#41 |MEDIUM BRUSHED COPPER | 45| 4 +Brand#41 |MEDIUM BRUSHED NICKEL | 9| 4 +Brand#41 |MEDIUM BRUSHED NICKEL | 19| 4 +Brand#41 |MEDIUM BRUSHED NICKEL | 36| 4 +Brand#41 |MEDIUM BRUSHED NICKEL | 45| 4 +Brand#41 |MEDIUM BRUSHED STEEL | 3| 4 +Brand#41 |MEDIUM BRUSHED STEEL | 14| 4 +Brand#41 |MEDIUM BRUSHED STEEL | 23| 4 +Brand#41 |MEDIUM BRUSHED TIN | 14| 4 +Brand#41 |MEDIUM BRUSHED TIN | 36| 4 +Brand#41 |MEDIUM BRUSHED TIN | 45| 4 +Brand#41 |MEDIUM BURNISHED BRASS | 9| 4 +Brand#41 |MEDIUM BURNISHED BRASS | 19| 4 +Brand#41 |MEDIUM BURNISHED BRASS | 45| 4 +Brand#41 |MEDIUM BURNISHED COPPER | 45| 4 +Brand#41 |MEDIUM BURNISHED COPPER | 49| 4 +Brand#41 |MEDIUM BURNISHED NICKEL | 14| 4 +Brand#41 |MEDIUM BURNISHED NICKEL | 36| 4 +Brand#41 |MEDIUM BURNISHED STEEL | 9| 4 +Brand#41 |MEDIUM BURNISHED STEEL | 14| 4 +Brand#41 |MEDIUM BURNISHED STEEL | 19| 4 +Brand#41 |MEDIUM BURNISHED STEEL | 49| 4 +Brand#41 |MEDIUM BURNISHED TIN | 9| 4 +Brand#41 |MEDIUM BURNISHED TIN | 23| 4 +Brand#41 |MEDIUM BURNISHED TIN | 36| 4 +Brand#41 |MEDIUM PLATED BRASS | 3| 4 +Brand#41 |MEDIUM PLATED BRASS | 9| 4 +Brand#41 |MEDIUM PLATED BRASS | 14| 4 +Brand#41 |MEDIUM PLATED BRASS | 36| 4 +Brand#41 |MEDIUM PLATED COPPER | 3| 4 +Brand#41 |MEDIUM PLATED COPPER | 14| 4 +Brand#41 |MEDIUM PLATED COPPER | 36| 4 +Brand#41 |MEDIUM PLATED NICKEL | 3| 4 +Brand#41 |MEDIUM PLATED NICKEL | 14| 4 +Brand#41 |MEDIUM PLATED STEEL | 14| 4 +Brand#41 |MEDIUM PLATED TIN | 14| 4 +Brand#41 |MEDIUM PLATED TIN | 19| 4 +Brand#41 |MEDIUM PLATED TIN | 23| 4 +Brand#41 |MEDIUM PLATED TIN | 49| 4 +Brand#41 |PROMO ANODIZED BRASS | 19| 4 +Brand#41 |PROMO ANODIZED BRASS | 23| 4 +Brand#41 |PROMO ANODIZED BRASS | 45| 4 +Brand#41 |PROMO ANODIZED COPPER | 9| 4 +Brand#41 |PROMO ANODIZED COPPER | 19| 4 +Brand#41 |PROMO ANODIZED COPPER | 23| 4 +Brand#41 |PROMO ANODIZED COPPER | 49| 4 +Brand#41 |PROMO ANODIZED NICKEL | 9| 4 +Brand#41 |PROMO ANODIZED NICKEL | 14| 4 +Brand#41 |PROMO ANODIZED NICKEL | 23| 4 +Brand#41 |PROMO ANODIZED NICKEL | 36| 4 +Brand#41 |PROMO ANODIZED STEEL | 3| 4 +Brand#41 |PROMO ANODIZED STEEL | 36| 4 +Brand#41 |PROMO ANODIZED STEEL | 45| 4 +Brand#41 |PROMO ANODIZED TIN | 3| 4 +Brand#41 |PROMO ANODIZED TIN | 14| 4 +Brand#41 |PROMO ANODIZED TIN | 19| 4 +Brand#41 |PROMO ANODIZED TIN | 23| 4 +Brand#41 |PROMO ANODIZED TIN | 45| 4 +Brand#41 |PROMO ANODIZED TIN | 49| 4 +Brand#41 |PROMO BRUSHED BRASS | 45| 4 +Brand#41 |PROMO BRUSHED BRASS | 49| 4 +Brand#41 |PROMO BRUSHED COPPER | 3| 4 +Brand#41 |PROMO BRUSHED COPPER | 9| 4 +Brand#41 |PROMO BRUSHED COPPER | 23| 4 +Brand#41 |PROMO BRUSHED NICKEL | 14| 4 +Brand#41 |PROMO BRUSHED NICKEL | 19| 4 +Brand#41 |PROMO BRUSHED NICKEL | 45| 4 +Brand#41 |PROMO BRUSHED STEEL | 14| 4 +Brand#41 |PROMO BRUSHED TIN | 3| 4 +Brand#41 |PROMO BRUSHED TIN | 19| 4 +Brand#41 |PROMO BRUSHED TIN | 23| 4 +Brand#41 |PROMO BRUSHED TIN | 36| 4 +Brand#41 |PROMO BURNISHED BRASS | 3| 4 +Brand#41 |PROMO BURNISHED BRASS | 19| 4 +Brand#41 |PROMO BURNISHED BRASS | 36| 4 +Brand#41 |PROMO BURNISHED BRASS | 45| 4 +Brand#41 |PROMO BURNISHED BRASS | 49| 4 +Brand#41 |PROMO BURNISHED COPPER | 3| 4 +Brand#41 |PROMO BURNISHED COPPER | 14| 4 +Brand#41 |PROMO BURNISHED NICKEL | 3| 4 +Brand#41 |PROMO BURNISHED NICKEL | 9| 4 +Brand#41 |PROMO BURNISHED NICKEL | 45| 4 +Brand#41 |PROMO BURNISHED NICKEL | 49| 4 +Brand#41 |PROMO BURNISHED STEEL | 3| 4 +Brand#41 |PROMO BURNISHED STEEL | 9| 4 +Brand#41 |PROMO BURNISHED STEEL | 19| 4 +Brand#41 |PROMO BURNISHED STEEL | 23| 4 +Brand#41 |PROMO BURNISHED STEEL | 45| 4 +Brand#41 |PROMO BURNISHED STEEL | 49| 4 +Brand#41 |PROMO BURNISHED TIN | 9| 4 +Brand#41 |PROMO BURNISHED TIN | 36| 4 +Brand#41 |PROMO BURNISHED TIN | 45| 4 +Brand#41 |PROMO BURNISHED TIN | 49| 4 +Brand#41 |PROMO PLATED BRASS | 19| 4 +Brand#41 |PROMO PLATED BRASS | 23| 4 +Brand#41 |PROMO PLATED BRASS | 45| 4 +Brand#41 |PROMO PLATED COPPER | 3| 4 +Brand#41 |PROMO PLATED COPPER | 19| 4 +Brand#41 |PROMO PLATED NICKEL | 23| 4 +Brand#41 |PROMO PLATED NICKEL | 45| 4 +Brand#41 |PROMO PLATED STEEL | 9| 4 +Brand#41 |PROMO PLATED STEEL | 23| 4 +Brand#41 |PROMO PLATED TIN | 9| 4 +Brand#41 |PROMO PLATED TIN | 23| 4 +Brand#41 |PROMO POLISHED BRASS | 3| 4 +Brand#41 |PROMO POLISHED BRASS | 49| 4 +Brand#41 |PROMO POLISHED NICKEL | 9| 4 +Brand#41 |PROMO POLISHED NICKEL | 23| 4 +Brand#41 |PROMO POLISHED NICKEL | 36| 4 +Brand#41 |PROMO POLISHED NICKEL | 45| 4 +Brand#41 |PROMO POLISHED NICKEL | 49| 4 +Brand#41 |PROMO POLISHED STEEL | 14| 4 +Brand#41 |PROMO POLISHED STEEL | 23| 4 +Brand#41 |PROMO POLISHED TIN | 3| 4 +Brand#41 |PROMO POLISHED TIN | 36| 4 +Brand#41 |PROMO POLISHED TIN | 49| 4 +Brand#41 |SMALL ANODIZED BRASS | 19| 4 +Brand#41 |SMALL ANODIZED BRASS | 49| 4 +Brand#41 |SMALL ANODIZED COPPER | 36| 4 +Brand#41 |SMALL ANODIZED COPPER | 45| 4 +Brand#41 |SMALL ANODIZED NICKEL | 3| 4 +Brand#41 |SMALL ANODIZED NICKEL | 23| 4 +Brand#41 |SMALL ANODIZED NICKEL | 49| 4 +Brand#41 |SMALL ANODIZED STEEL | 19| 4 +Brand#41 |SMALL ANODIZED TIN | 14| 4 +Brand#41 |SMALL ANODIZED TIN | 36| 4 +Brand#41 |SMALL ANODIZED TIN | 49| 4 +Brand#41 |SMALL BRUSHED BRASS | 14| 4 +Brand#41 |SMALL BRUSHED BRASS | 19| 4 +Brand#41 |SMALL BRUSHED BRASS | 36| 4 +Brand#41 |SMALL BRUSHED COPPER | 23| 4 +Brand#41 |SMALL BRUSHED COPPER | 36| 4 +Brand#41 |SMALL BRUSHED NICKEL | 3| 4 +Brand#41 |SMALL BRUSHED NICKEL | 19| 4 +Brand#41 |SMALL BRUSHED NICKEL | 49| 4 +Brand#41 |SMALL BRUSHED STEEL | 9| 4 +Brand#41 |SMALL BRUSHED STEEL | 14| 4 +Brand#41 |SMALL BRUSHED TIN | 23| 4 +Brand#41 |SMALL BRUSHED TIN | 45| 4 +Brand#41 |SMALL BRUSHED TIN | 49| 4 +Brand#41 |SMALL BURNISHED BRASS | 23| 4 +Brand#41 |SMALL BURNISHED BRASS | 36| 4 +Brand#41 |SMALL BURNISHED COPPER | 14| 4 +Brand#41 |SMALL BURNISHED COPPER | 36| 4 +Brand#41 |SMALL BURNISHED COPPER | 49| 4 +Brand#41 |SMALL BURNISHED NICKEL | 14| 4 +Brand#41 |SMALL BURNISHED NICKEL | 49| 4 +Brand#41 |SMALL BURNISHED STEEL | 14| 4 +Brand#41 |SMALL BURNISHED STEEL | 19| 4 +Brand#41 |SMALL BURNISHED STEEL | 36| 4 +Brand#41 |SMALL BURNISHED TIN | 9| 4 +Brand#41 |SMALL BURNISHED TIN | 19| 4 +Brand#41 |SMALL BURNISHED TIN | 36| 4 +Brand#41 |SMALL BURNISHED TIN | 45| 4 +Brand#41 |SMALL BURNISHED TIN | 49| 4 +Brand#41 |SMALL PLATED BRASS | 19| 4 +Brand#41 |SMALL PLATED BRASS | 45| 4 +Brand#41 |SMALL PLATED COPPER | 3| 4 +Brand#41 |SMALL PLATED COPPER | 36| 4 +Brand#41 |SMALL PLATED COPPER | 45| 4 +Brand#41 |SMALL PLATED COPPER | 49| 4 +Brand#41 |SMALL PLATED NICKEL | 14| 4 +Brand#41 |SMALL PLATED NICKEL | 45| 4 +Brand#41 |SMALL PLATED NICKEL | 49| 4 +Brand#41 |SMALL PLATED STEEL | 3| 4 +Brand#41 |SMALL PLATED STEEL | 19| 4 +Brand#41 |SMALL PLATED STEEL | 23| 4 +Brand#41 |SMALL PLATED TIN | 14| 4 +Brand#41 |SMALL PLATED TIN | 36| 4 +Brand#41 |SMALL PLATED TIN | 45| 4 +Brand#41 |SMALL POLISHED BRASS | 3| 4 +Brand#41 |SMALL POLISHED BRASS | 9| 4 +Brand#41 |SMALL POLISHED BRASS | 14| 4 +Brand#41 |SMALL POLISHED BRASS | 23| 4 +Brand#41 |SMALL POLISHED COPPER | 9| 4 +Brand#41 |SMALL POLISHED COPPER | 19| 4 +Brand#41 |SMALL POLISHED COPPER | 49| 4 +Brand#41 |SMALL POLISHED NICKEL | 36| 4 +Brand#41 |SMALL POLISHED NICKEL | 45| 4 +Brand#41 |SMALL POLISHED STEEL | 3| 4 +Brand#41 |SMALL POLISHED STEEL | 9| 4 +Brand#41 |SMALL POLISHED STEEL | 14| 4 +Brand#41 |SMALL POLISHED STEEL | 19| 4 +Brand#41 |SMALL POLISHED STEEL | 23| 4 +Brand#41 |SMALL POLISHED TIN | 3| 4 +Brand#41 |STANDARD ANODIZED BRASS | 9| 4 +Brand#41 |STANDARD ANODIZED BRASS | 19| 4 +Brand#41 |STANDARD ANODIZED BRASS | 23| 4 +Brand#41 |STANDARD ANODIZED BRASS | 45| 4 +Brand#41 |STANDARD ANODIZED BRASS | 49| 4 +Brand#41 |STANDARD ANODIZED COPPER | 19| 4 +Brand#41 |STANDARD ANODIZED COPPER | 45| 4 +Brand#41 |STANDARD ANODIZED NICKEL | 14| 4 +Brand#41 |STANDARD ANODIZED NICKEL | 19| 4 +Brand#41 |STANDARD ANODIZED STEEL | 3| 4 +Brand#41 |STANDARD ANODIZED STEEL | 9| 4 +Brand#41 |STANDARD ANODIZED STEEL | 14| 4 +Brand#41 |STANDARD ANODIZED STEEL | 19| 4 +Brand#41 |STANDARD ANODIZED STEEL | 36| 4 +Brand#41 |STANDARD ANODIZED TIN | 9| 4 +Brand#41 |STANDARD ANODIZED TIN | 14| 4 +Brand#41 |STANDARD ANODIZED TIN | 36| 4 +Brand#41 |STANDARD ANODIZED TIN | 45| 4 +Brand#41 |STANDARD ANODIZED TIN | 49| 4 +Brand#41 |STANDARD BRUSHED BRASS | 3| 4 +Brand#41 |STANDARD BRUSHED BRASS | 14| 4 +Brand#41 |STANDARD BRUSHED BRASS | 19| 4 +Brand#41 |STANDARD BRUSHED BRASS | 23| 4 +Brand#41 |STANDARD BRUSHED BRASS | 45| 4 +Brand#41 |STANDARD BRUSHED BRASS | 49| 4 +Brand#41 |STANDARD BRUSHED COPPER | 14| 4 +Brand#41 |STANDARD BRUSHED COPPER | 23| 4 +Brand#41 |STANDARD BRUSHED COPPER | 36| 4 +Brand#41 |STANDARD BRUSHED COPPER | 49| 4 +Brand#41 |STANDARD BRUSHED NICKEL | 23| 4 +Brand#41 |STANDARD BRUSHED NICKEL | 36| 4 +Brand#41 |STANDARD BRUSHED STEEL | 9| 4 +Brand#41 |STANDARD BRUSHED STEEL | 23| 4 +Brand#41 |STANDARD BRUSHED STEEL | 36| 4 +Brand#41 |STANDARD BRUSHED TIN | 14| 4 +Brand#41 |STANDARD BURNISHED BRASS | 19| 4 +Brand#41 |STANDARD BURNISHED BRASS | 23| 4 +Brand#41 |STANDARD BURNISHED BRASS | 45| 4 +Brand#41 |STANDARD BURNISHED BRASS | 49| 4 +Brand#41 |STANDARD BURNISHED COPPER| 3| 4 +Brand#41 |STANDARD BURNISHED COPPER| 23| 4 +Brand#41 |STANDARD BURNISHED COPPER| 45| 4 +Brand#41 |STANDARD BURNISHED COPPER| 49| 4 +Brand#41 |STANDARD BURNISHED NICKEL| 3| 4 +Brand#41 |STANDARD BURNISHED NICKEL| 9| 4 +Brand#41 |STANDARD BURNISHED NICKEL| 45| 4 +Brand#41 |STANDARD BURNISHED STEEL | 19| 4 +Brand#41 |STANDARD BURNISHED STEEL | 36| 4 +Brand#41 |STANDARD BURNISHED STEEL | 45| 4 +Brand#41 |STANDARD BURNISHED TIN | 9| 4 +Brand#41 |STANDARD BURNISHED TIN | 49| 4 +Brand#41 |STANDARD PLATED BRASS | 3| 4 +Brand#41 |STANDARD PLATED BRASS | 23| 4 +Brand#41 |STANDARD PLATED COPPER | 14| 4 +Brand#41 |STANDARD PLATED COPPER | 19| 4 +Brand#41 |STANDARD PLATED COPPER | 23| 4 +Brand#41 |STANDARD PLATED NICKEL | 3| 4 +Brand#41 |STANDARD PLATED NICKEL | 36| 4 +Brand#41 |STANDARD PLATED STEEL | 23| 4 +Brand#41 |STANDARD PLATED STEEL | 45| 4 +Brand#41 |STANDARD PLATED TIN | 19| 4 +Brand#41 |STANDARD PLATED TIN | 23| 4 +Brand#41 |STANDARD PLATED TIN | 36| 4 +Brand#41 |STANDARD POLISHED BRASS | 9| 4 +Brand#41 |STANDARD POLISHED BRASS | 23| 4 +Brand#41 |STANDARD POLISHED BRASS | 45| 4 +Brand#41 |STANDARD POLISHED BRASS | 49| 4 +Brand#41 |STANDARD POLISHED COPPER | 19| 4 +Brand#41 |STANDARD POLISHED COPPER | 45| 4 +Brand#41 |STANDARD POLISHED COPPER | 49| 4 +Brand#41 |STANDARD POLISHED NICKEL | 9| 4 +Brand#41 |STANDARD POLISHED NICKEL | 19| 4 +Brand#41 |STANDARD POLISHED NICKEL | 23| 4 +Brand#41 |STANDARD POLISHED NICKEL | 49| 4 +Brand#41 |STANDARD POLISHED STEEL | 9| 4 +Brand#41 |STANDARD POLISHED STEEL | 14| 4 +Brand#41 |STANDARD POLISHED STEEL | 19| 4 +Brand#41 |STANDARD POLISHED STEEL | 23| 4 +Brand#41 |STANDARD POLISHED STEEL | 49| 4 +Brand#41 |STANDARD POLISHED TIN | 3| 4 +Brand#41 |STANDARD POLISHED TIN | 9| 4 +Brand#41 |STANDARD POLISHED TIN | 49| 4 +Brand#42 |ECONOMY ANODIZED BRASS | 3| 4 +Brand#42 |ECONOMY ANODIZED BRASS | 45| 4 +Brand#42 |ECONOMY ANODIZED COPPER | 3| 4 +Brand#42 |ECONOMY ANODIZED COPPER | 9| 4 +Brand#42 |ECONOMY ANODIZED COPPER | 19| 4 +Brand#42 |ECONOMY ANODIZED NICKEL | 9| 4 +Brand#42 |ECONOMY ANODIZED NICKEL | 23| 4 +Brand#42 |ECONOMY ANODIZED STEEL | 14| 4 +Brand#42 |ECONOMY ANODIZED STEEL | 36| 4 +Brand#42 |ECONOMY ANODIZED TIN | 3| 4 +Brand#42 |ECONOMY ANODIZED TIN | 9| 4 +Brand#42 |ECONOMY BRUSHED BRASS | 14| 4 +Brand#42 |ECONOMY BRUSHED BRASS | 19| 4 +Brand#42 |ECONOMY BRUSHED BRASS | 36| 4 +Brand#42 |ECONOMY BRUSHED BRASS | 45| 4 +Brand#42 |ECONOMY BRUSHED COPPER | 14| 4 +Brand#42 |ECONOMY BRUSHED COPPER | 19| 4 +Brand#42 |ECONOMY BRUSHED COPPER | 23| 4 +Brand#42 |ECONOMY BRUSHED COPPER | 45| 4 +Brand#42 |ECONOMY BRUSHED NICKEL | 23| 4 +Brand#42 |ECONOMY BRUSHED NICKEL | 36| 4 +Brand#42 |ECONOMY BRUSHED STEEL | 36| 4 +Brand#42 |ECONOMY BRUSHED TIN | 23| 4 +Brand#42 |ECONOMY BURNISHED BRASS | 9| 4 +Brand#42 |ECONOMY BURNISHED BRASS | 19| 4 +Brand#42 |ECONOMY BURNISHED BRASS | 36| 4 +Brand#42 |ECONOMY BURNISHED BRASS | 45| 4 +Brand#42 |ECONOMY BURNISHED BRASS | 49| 4 +Brand#42 |ECONOMY BURNISHED COPPER | 9| 4 +Brand#42 |ECONOMY BURNISHED COPPER | 14| 4 +Brand#42 |ECONOMY BURNISHED COPPER | 23| 4 +Brand#42 |ECONOMY BURNISHED COPPER | 36| 4 +Brand#42 |ECONOMY BURNISHED COPPER | 45| 4 +Brand#42 |ECONOMY BURNISHED NICKEL | 9| 4 +Brand#42 |ECONOMY BURNISHED NICKEL | 14| 4 +Brand#42 |ECONOMY BURNISHED NICKEL | 19| 4 +Brand#42 |ECONOMY BURNISHED NICKEL | 36| 4 +Brand#42 |ECONOMY BURNISHED NICKEL | 45| 4 +Brand#42 |ECONOMY BURNISHED STEEL | 3| 4 +Brand#42 |ECONOMY BURNISHED STEEL | 36| 4 +Brand#42 |ECONOMY BURNISHED TIN | 3| 4 +Brand#42 |ECONOMY PLATED BRASS | 19| 4 +Brand#42 |ECONOMY PLATED BRASS | 36| 4 +Brand#42 |ECONOMY PLATED BRASS | 45| 4 +Brand#42 |ECONOMY PLATED COPPER | 19| 4 +Brand#42 |ECONOMY PLATED COPPER | 45| 4 +Brand#42 |ECONOMY PLATED COPPER | 49| 4 +Brand#42 |ECONOMY PLATED NICKEL | 3| 4 +Brand#42 |ECONOMY PLATED NICKEL | 14| 4 +Brand#42 |ECONOMY PLATED NICKEL | 23| 4 +Brand#42 |ECONOMY PLATED NICKEL | 45| 4 +Brand#42 |ECONOMY PLATED STEEL | 3| 4 +Brand#42 |ECONOMY PLATED STEEL | 23| 4 +Brand#42 |ECONOMY PLATED TIN | 36| 4 +Brand#42 |ECONOMY POLISHED BRASS | 3| 4 +Brand#42 |ECONOMY POLISHED BRASS | 14| 4 +Brand#42 |ECONOMY POLISHED BRASS | 19| 4 +Brand#42 |ECONOMY POLISHED BRASS | 23| 4 +Brand#42 |ECONOMY POLISHED BRASS | 36| 4 +Brand#42 |ECONOMY POLISHED BRASS | 45| 4 +Brand#42 |ECONOMY POLISHED BRASS | 49| 4 +Brand#42 |ECONOMY POLISHED COPPER | 14| 4 +Brand#42 |ECONOMY POLISHED COPPER | 19| 4 +Brand#42 |ECONOMY POLISHED COPPER | 49| 4 +Brand#42 |ECONOMY POLISHED NICKEL | 3| 4 +Brand#42 |ECONOMY POLISHED NICKEL | 9| 4 +Brand#42 |ECONOMY POLISHED NICKEL | 19| 4 +Brand#42 |ECONOMY POLISHED STEEL | 3| 4 +Brand#42 |ECONOMY POLISHED STEEL | 19| 4 +Brand#42 |ECONOMY POLISHED STEEL | 45| 4 +Brand#42 |ECONOMY POLISHED STEEL | 49| 4 +Brand#42 |ECONOMY POLISHED TIN | 9| 4 +Brand#42 |ECONOMY POLISHED TIN | 14| 4 +Brand#42 |ECONOMY POLISHED TIN | 19| 4 +Brand#42 |ECONOMY POLISHED TIN | 45| 4 +Brand#42 |ECONOMY POLISHED TIN | 49| 4 +Brand#42 |LARGE ANODIZED BRASS | 14| 4 +Brand#42 |LARGE ANODIZED BRASS | 36| 4 +Brand#42 |LARGE ANODIZED COPPER | 9| 4 +Brand#42 |LARGE ANODIZED COPPER | 19| 4 +Brand#42 |LARGE ANODIZED COPPER | 45| 4 +Brand#42 |LARGE ANODIZED NICKEL | 14| 4 +Brand#42 |LARGE ANODIZED NICKEL | 19| 4 +Brand#42 |LARGE ANODIZED NICKEL | 23| 4 +Brand#42 |LARGE ANODIZED NICKEL | 36| 4 +Brand#42 |LARGE ANODIZED STEEL | 19| 4 +Brand#42 |LARGE ANODIZED STEEL | 23| 4 +Brand#42 |LARGE ANODIZED STEEL | 45| 4 +Brand#42 |LARGE ANODIZED STEEL | 49| 4 +Brand#42 |LARGE ANODIZED TIN | 19| 4 +Brand#42 |LARGE ANODIZED TIN | 36| 4 +Brand#42 |LARGE ANODIZED TIN | 49| 4 +Brand#42 |LARGE BRUSHED BRASS | 9| 4 +Brand#42 |LARGE BRUSHED BRASS | 36| 4 +Brand#42 |LARGE BRUSHED COPPER | 14| 4 +Brand#42 |LARGE BRUSHED COPPER | 23| 4 +Brand#42 |LARGE BRUSHED COPPER | 36| 4 +Brand#42 |LARGE BRUSHED COPPER | 45| 4 +Brand#42 |LARGE BRUSHED NICKEL | 3| 4 +Brand#42 |LARGE BRUSHED NICKEL | 9| 4 +Brand#42 |LARGE BRUSHED NICKEL | 14| 4 +Brand#42 |LARGE BRUSHED NICKEL | 45| 4 +Brand#42 |LARGE BRUSHED STEEL | 3| 4 +Brand#42 |LARGE BRUSHED STEEL | 36| 4 +Brand#42 |LARGE BRUSHED STEEL | 49| 4 +Brand#42 |LARGE BRUSHED TIN | 9| 4 +Brand#42 |LARGE BRUSHED TIN | 14| 4 +Brand#42 |LARGE BRUSHED TIN | 36| 4 +Brand#42 |LARGE BURNISHED BRASS | 19| 4 +Brand#42 |LARGE BURNISHED BRASS | 23| 4 +Brand#42 |LARGE BURNISHED BRASS | 36| 4 +Brand#42 |LARGE BURNISHED BRASS | 45| 4 +Brand#42 |LARGE BURNISHED COPPER | 3| 4 +Brand#42 |LARGE BURNISHED COPPER | 23| 4 +Brand#42 |LARGE BURNISHED COPPER | 45| 4 +Brand#42 |LARGE BURNISHED COPPER | 49| 4 +Brand#42 |LARGE BURNISHED NICKEL | 36| 4 +Brand#42 |LARGE BURNISHED NICKEL | 45| 4 +Brand#42 |LARGE BURNISHED STEEL | 14| 4 +Brand#42 |LARGE BURNISHED STEEL | 19| 4 +Brand#42 |LARGE BURNISHED STEEL | 45| 4 +Brand#42 |LARGE BURNISHED TIN | 3| 4 +Brand#42 |LARGE BURNISHED TIN | 14| 4 +Brand#42 |LARGE BURNISHED TIN | 36| 4 +Brand#42 |LARGE PLATED BRASS | 45| 4 +Brand#42 |LARGE PLATED BRASS | 49| 4 +Brand#42 |LARGE PLATED COPPER | 3| 4 +Brand#42 |LARGE PLATED COPPER | 23| 4 +Brand#42 |LARGE PLATED NICKEL | 14| 4 +Brand#42 |LARGE PLATED NICKEL | 19| 4 +Brand#42 |LARGE PLATED NICKEL | 36| 4 +Brand#42 |LARGE PLATED NICKEL | 49| 4 +Brand#42 |LARGE PLATED STEEL | 3| 4 +Brand#42 |LARGE PLATED STEEL | 14| 4 +Brand#42 |LARGE PLATED STEEL | 19| 4 +Brand#42 |LARGE PLATED STEEL | 23| 4 +Brand#42 |LARGE PLATED STEEL | 36| 4 +Brand#42 |LARGE PLATED STEEL | 49| 4 +Brand#42 |LARGE PLATED TIN | 23| 4 +Brand#42 |LARGE PLATED TIN | 36| 4 +Brand#42 |LARGE POLISHED BRASS | 3| 4 +Brand#42 |LARGE POLISHED BRASS | 9| 4 +Brand#42 |LARGE POLISHED BRASS | 23| 4 +Brand#42 |LARGE POLISHED BRASS | 45| 4 +Brand#42 |LARGE POLISHED BRASS | 49| 4 +Brand#42 |LARGE POLISHED COPPER | 9| 4 +Brand#42 |LARGE POLISHED COPPER | 19| 4 +Brand#42 |LARGE POLISHED COPPER | 45| 4 +Brand#42 |LARGE POLISHED NICKEL | 3| 4 +Brand#42 |LARGE POLISHED NICKEL | 9| 4 +Brand#42 |LARGE POLISHED NICKEL | 14| 4 +Brand#42 |LARGE POLISHED NICKEL | 19| 4 +Brand#42 |LARGE POLISHED NICKEL | 45| 4 +Brand#42 |LARGE POLISHED STEEL | 19| 4 +Brand#42 |LARGE POLISHED STEEL | 23| 4 +Brand#42 |LARGE POLISHED STEEL | 49| 4 +Brand#42 |LARGE POLISHED TIN | 36| 4 +Brand#42 |MEDIUM ANODIZED BRASS | 14| 4 +Brand#42 |MEDIUM ANODIZED BRASS | 23| 4 +Brand#42 |MEDIUM ANODIZED BRASS | 36| 4 +Brand#42 |MEDIUM ANODIZED BRASS | 45| 4 +Brand#42 |MEDIUM ANODIZED COPPER | 9| 4 +Brand#42 |MEDIUM ANODIZED COPPER | 14| 4 +Brand#42 |MEDIUM ANODIZED NICKEL | 3| 4 +Brand#42 |MEDIUM ANODIZED NICKEL | 9| 4 +Brand#42 |MEDIUM ANODIZED NICKEL | 14| 4 +Brand#42 |MEDIUM ANODIZED NICKEL | 23| 4 +Brand#42 |MEDIUM ANODIZED NICKEL | 45| 4 +Brand#42 |MEDIUM ANODIZED STEEL | 9| 4 +Brand#42 |MEDIUM ANODIZED TIN | 3| 4 +Brand#42 |MEDIUM ANODIZED TIN | 9| 4 +Brand#42 |MEDIUM ANODIZED TIN | 23| 4 +Brand#42 |MEDIUM BRUSHED BRASS | 14| 4 +Brand#42 |MEDIUM BRUSHED BRASS | 23| 4 +Brand#42 |MEDIUM BRUSHED BRASS | 36| 4 +Brand#42 |MEDIUM BRUSHED BRASS | 45| 4 +Brand#42 |MEDIUM BRUSHED COPPER | 23| 4 +Brand#42 |MEDIUM BRUSHED COPPER | 36| 4 +Brand#42 |MEDIUM BRUSHED COPPER | 45| 4 +Brand#42 |MEDIUM BRUSHED NICKEL | 23| 4 +Brand#42 |MEDIUM BRUSHED NICKEL | 45| 4 +Brand#42 |MEDIUM BRUSHED STEEL | 9| 4 +Brand#42 |MEDIUM BRUSHED STEEL | 23| 4 +Brand#42 |MEDIUM BRUSHED TIN | 3| 4 +Brand#42 |MEDIUM BRUSHED TIN | 9| 4 +Brand#42 |MEDIUM BRUSHED TIN | 36| 4 +Brand#42 |MEDIUM BRUSHED TIN | 45| 4 +Brand#42 |MEDIUM BURNISHED BRASS | 3| 4 +Brand#42 |MEDIUM BURNISHED BRASS | 9| 4 +Brand#42 |MEDIUM BURNISHED BRASS | 19| 4 +Brand#42 |MEDIUM BURNISHED BRASS | 23| 4 +Brand#42 |MEDIUM BURNISHED BRASS | 49| 4 +Brand#42 |MEDIUM BURNISHED COPPER | 19| 4 +Brand#42 |MEDIUM BURNISHED COPPER | 36| 4 +Brand#42 |MEDIUM BURNISHED NICKEL | 45| 4 +Brand#42 |MEDIUM BURNISHED NICKEL | 49| 4 +Brand#42 |MEDIUM BURNISHED STEEL | 45| 4 +Brand#42 |MEDIUM BURNISHED TIN | 9| 4 +Brand#42 |MEDIUM BURNISHED TIN | 23| 4 +Brand#42 |MEDIUM BURNISHED TIN | 45| 4 +Brand#42 |MEDIUM PLATED BRASS | 3| 4 +Brand#42 |MEDIUM PLATED BRASS | 14| 4 +Brand#42 |MEDIUM PLATED BRASS | 23| 4 +Brand#42 |MEDIUM PLATED COPPER | 9| 4 +Brand#42 |MEDIUM PLATED COPPER | 14| 4 +Brand#42 |MEDIUM PLATED COPPER | 19| 4 +Brand#42 |MEDIUM PLATED NICKEL | 3| 4 +Brand#42 |MEDIUM PLATED NICKEL | 45| 4 +Brand#42 |MEDIUM PLATED NICKEL | 49| 4 +Brand#42 |MEDIUM PLATED STEEL | 23| 4 +Brand#42 |MEDIUM PLATED STEEL | 49| 4 +Brand#42 |MEDIUM PLATED TIN | 3| 4 +Brand#42 |MEDIUM PLATED TIN | 19| 4 +Brand#42 |MEDIUM PLATED TIN | 23| 4 +Brand#42 |PROMO ANODIZED BRASS | 3| 4 +Brand#42 |PROMO ANODIZED BRASS | 23| 4 +Brand#42 |PROMO ANODIZED BRASS | 49| 4 +Brand#42 |PROMO ANODIZED COPPER | 19| 4 +Brand#42 |PROMO ANODIZED COPPER | 36| 4 +Brand#42 |PROMO ANODIZED COPPER | 49| 4 +Brand#42 |PROMO ANODIZED NICKEL | 3| 4 +Brand#42 |PROMO ANODIZED NICKEL | 19| 4 +Brand#42 |PROMO ANODIZED NICKEL | 36| 4 +Brand#42 |PROMO ANODIZED STEEL | 9| 4 +Brand#42 |PROMO ANODIZED STEEL | 14| 4 +Brand#42 |PROMO ANODIZED STEEL | 45| 4 +Brand#42 |PROMO ANODIZED TIN | 9| 4 +Brand#42 |PROMO ANODIZED TIN | 19| 4 +Brand#42 |PROMO ANODIZED TIN | 45| 4 +Brand#42 |PROMO BRUSHED BRASS | 3| 4 +Brand#42 |PROMO BRUSHED BRASS | 14| 4 +Brand#42 |PROMO BRUSHED BRASS | 23| 4 +Brand#42 |PROMO BRUSHED COPPER | 3| 4 +Brand#42 |PROMO BRUSHED COPPER | 19| 4 +Brand#42 |PROMO BRUSHED COPPER | 23| 4 +Brand#42 |PROMO BRUSHED COPPER | 36| 4 +Brand#42 |PROMO BRUSHED COPPER | 45| 4 +Brand#42 |PROMO BRUSHED COPPER | 49| 4 +Brand#42 |PROMO BRUSHED NICKEL | 9| 4 +Brand#42 |PROMO BRUSHED NICKEL | 14| 4 +Brand#42 |PROMO BRUSHED STEEL | 3| 4 +Brand#42 |PROMO BRUSHED STEEL | 14| 4 +Brand#42 |PROMO BRUSHED STEEL | 49| 4 +Brand#42 |PROMO BRUSHED TIN | 9| 4 +Brand#42 |PROMO BRUSHED TIN | 23| 4 +Brand#42 |PROMO BRUSHED TIN | 49| 4 +Brand#42 |PROMO BURNISHED BRASS | 9| 4 +Brand#42 |PROMO BURNISHED BRASS | 36| 4 +Brand#42 |PROMO BURNISHED COPPER | 3| 4 +Brand#42 |PROMO BURNISHED COPPER | 14| 4 +Brand#42 |PROMO BURNISHED COPPER | 19| 4 +Brand#42 |PROMO BURNISHED NICKEL | 9| 4 +Brand#42 |PROMO BURNISHED NICKEL | 19| 4 +Brand#42 |PROMO BURNISHED NICKEL | 49| 4 +Brand#42 |PROMO BURNISHED STEEL | 3| 4 +Brand#42 |PROMO BURNISHED STEEL | 9| 4 +Brand#42 |PROMO BURNISHED STEEL | 14| 4 +Brand#42 |PROMO BURNISHED STEEL | 36| 4 +Brand#42 |PROMO BURNISHED STEEL | 45| 4 +Brand#42 |PROMO BURNISHED TIN | 3| 4 +Brand#42 |PROMO BURNISHED TIN | 19| 4 +Brand#42 |PROMO BURNISHED TIN | 36| 4 +Brand#42 |PROMO PLATED BRASS | 45| 4 +Brand#42 |PROMO PLATED BRASS | 49| 4 +Brand#42 |PROMO PLATED COPPER | 3| 4 +Brand#42 |PROMO PLATED COPPER | 14| 4 +Brand#42 |PROMO PLATED COPPER | 23| 4 +Brand#42 |PROMO PLATED COPPER | 49| 4 +Brand#42 |PROMO PLATED NICKEL | 3| 4 +Brand#42 |PROMO PLATED NICKEL | 9| 4 +Brand#42 |PROMO PLATED NICKEL | 14| 4 +Brand#42 |PROMO PLATED NICKEL | 19| 4 +Brand#42 |PROMO PLATED NICKEL | 49| 4 +Brand#42 |PROMO PLATED STEEL | 3| 4 +Brand#42 |PROMO PLATED STEEL | 9| 4 +Brand#42 |PROMO PLATED STEEL | 36| 4 +Brand#42 |PROMO PLATED TIN | 3| 4 +Brand#42 |PROMO POLISHED BRASS | 3| 4 +Brand#42 |PROMO POLISHED COPPER | 9| 4 +Brand#42 |PROMO POLISHED COPPER | 23| 4 +Brand#42 |PROMO POLISHED COPPER | 45| 4 +Brand#42 |PROMO POLISHED NICKEL | 14| 4 +Brand#42 |PROMO POLISHED NICKEL | 23| 4 +Brand#42 |PROMO POLISHED NICKEL | 36| 4 +Brand#42 |PROMO POLISHED NICKEL | 45| 4 +Brand#42 |PROMO POLISHED NICKEL | 49| 4 +Brand#42 |PROMO POLISHED TIN | 14| 4 +Brand#42 |PROMO POLISHED TIN | 19| 4 +Brand#42 |PROMO POLISHED TIN | 23| 4 +Brand#42 |PROMO POLISHED TIN | 36| 4 +Brand#42 |PROMO POLISHED TIN | 45| 4 +Brand#42 |SMALL ANODIZED BRASS | 9| 4 +Brand#42 |SMALL ANODIZED BRASS | 14| 4 +Brand#42 |SMALL ANODIZED BRASS | 49| 4 +Brand#42 |SMALL ANODIZED COPPER | 3| 4 +Brand#42 |SMALL ANODIZED COPPER | 9| 4 +Brand#42 |SMALL ANODIZED COPPER | 45| 4 +Brand#42 |SMALL ANODIZED NICKEL | 3| 4 +Brand#42 |SMALL ANODIZED STEEL | 14| 4 +Brand#42 |SMALL ANODIZED STEEL | 45| 4 +Brand#42 |SMALL ANODIZED TIN | 9| 4 +Brand#42 |SMALL ANODIZED TIN | 14| 4 +Brand#42 |SMALL BRUSHED BRASS | 3| 4 +Brand#42 |SMALL BRUSHED BRASS | 9| 4 +Brand#42 |SMALL BRUSHED BRASS | 19| 4 +Brand#42 |SMALL BRUSHED BRASS | 23| 4 +Brand#42 |SMALL BRUSHED BRASS | 49| 4 +Brand#42 |SMALL BRUSHED COPPER | 23| 4 +Brand#42 |SMALL BRUSHED COPPER | 45| 4 +Brand#42 |SMALL BRUSHED NICKEL | 19| 4 +Brand#42 |SMALL BRUSHED NICKEL | 36| 4 +Brand#42 |SMALL BRUSHED NICKEL | 45| 4 +Brand#42 |SMALL BRUSHED TIN | 3| 4 +Brand#42 |SMALL BRUSHED TIN | 19| 4 +Brand#42 |SMALL BRUSHED TIN | 36| 4 +Brand#42 |SMALL BURNISHED BRASS | 14| 4 +Brand#42 |SMALL BURNISHED BRASS | 19| 4 +Brand#42 |SMALL BURNISHED BRASS | 45| 4 +Brand#42 |SMALL BURNISHED COPPER | 9| 4 +Brand#42 |SMALL BURNISHED COPPER | 14| 4 +Brand#42 |SMALL BURNISHED COPPER | 19| 4 +Brand#42 |SMALL BURNISHED COPPER | 23| 4 +Brand#42 |SMALL BURNISHED COPPER | 49| 4 +Brand#42 |SMALL BURNISHED NICKEL | 9| 4 +Brand#42 |SMALL BURNISHED NICKEL | 14| 4 +Brand#42 |SMALL BURNISHED STEEL | 9| 4 +Brand#42 |SMALL BURNISHED STEEL | 36| 4 +Brand#42 |SMALL BURNISHED STEEL | 45| 4 +Brand#42 |SMALL BURNISHED STEEL | 49| 4 +Brand#42 |SMALL BURNISHED TIN | 3| 4 +Brand#42 |SMALL BURNISHED TIN | 45| 4 +Brand#42 |SMALL PLATED BRASS | 3| 4 +Brand#42 |SMALL PLATED BRASS | 9| 4 +Brand#42 |SMALL PLATED BRASS | 23| 4 +Brand#42 |SMALL PLATED BRASS | 45| 4 +Brand#42 |SMALL PLATED BRASS | 49| 4 +Brand#42 |SMALL PLATED COPPER | 3| 4 +Brand#42 |SMALL PLATED COPPER | 45| 4 +Brand#42 |SMALL PLATED NICKEL | 9| 4 +Brand#42 |SMALL PLATED NICKEL | 14| 4 +Brand#42 |SMALL PLATED NICKEL | 36| 4 +Brand#42 |SMALL PLATED NICKEL | 45| 4 +Brand#42 |SMALL PLATED STEEL | 9| 4 +Brand#42 |SMALL PLATED STEEL | 14| 4 +Brand#42 |SMALL PLATED STEEL | 45| 4 +Brand#42 |SMALL PLATED TIN | 49| 4 +Brand#42 |SMALL POLISHED BRASS | 14| 4 +Brand#42 |SMALL POLISHED BRASS | 19| 4 +Brand#42 |SMALL POLISHED BRASS | 49| 4 +Brand#42 |SMALL POLISHED COPPER | 9| 4 +Brand#42 |SMALL POLISHED COPPER | 19| 4 +Brand#42 |SMALL POLISHED COPPER | 49| 4 +Brand#42 |SMALL POLISHED NICKEL | 3| 4 +Brand#42 |SMALL POLISHED NICKEL | 36| 4 +Brand#42 |SMALL POLISHED NICKEL | 49| 4 +Brand#42 |SMALL POLISHED STEEL | 3| 4 +Brand#42 |SMALL POLISHED STEEL | 19| 4 +Brand#42 |SMALL POLISHED TIN | 3| 4 +Brand#42 |SMALL POLISHED TIN | 19| 4 +Brand#42 |STANDARD ANODIZED BRASS | 3| 4 +Brand#42 |STANDARD ANODIZED BRASS | 14| 4 +Brand#42 |STANDARD ANODIZED BRASS | 19| 4 +Brand#42 |STANDARD ANODIZED BRASS | 49| 4 +Brand#42 |STANDARD ANODIZED COPPER | 3| 4 +Brand#42 |STANDARD ANODIZED COPPER | 9| 4 +Brand#42 |STANDARD ANODIZED COPPER | 23| 4 +Brand#42 |STANDARD ANODIZED COPPER | 49| 4 +Brand#42 |STANDARD ANODIZED NICKEL | 3| 4 +Brand#42 |STANDARD ANODIZED NICKEL | 23| 4 +Brand#42 |STANDARD ANODIZED NICKEL | 36| 4 +Brand#42 |STANDARD ANODIZED NICKEL | 45| 4 +Brand#42 |STANDARD ANODIZED NICKEL | 49| 4 +Brand#42 |STANDARD ANODIZED TIN | 14| 4 +Brand#42 |STANDARD ANODIZED TIN | 19| 4 +Brand#42 |STANDARD ANODIZED TIN | 49| 4 +Brand#42 |STANDARD BRUSHED BRASS | 14| 4 +Brand#42 |STANDARD BRUSHED BRASS | 45| 4 +Brand#42 |STANDARD BRUSHED COPPER | 9| 4 +Brand#42 |STANDARD BRUSHED COPPER | 14| 4 +Brand#42 |STANDARD BRUSHED COPPER | 19| 4 +Brand#42 |STANDARD BRUSHED COPPER | 45| 4 +Brand#42 |STANDARD BRUSHED NICKEL | 19| 4 +Brand#42 |STANDARD BRUSHED STEEL | 3| 4 +Brand#42 |STANDARD BRUSHED STEEL | 36| 4 +Brand#42 |STANDARD BRUSHED STEEL | 45| 4 +Brand#42 |STANDARD BRUSHED TIN | 14| 4 +Brand#42 |STANDARD BRUSHED TIN | 19| 4 +Brand#42 |STANDARD BURNISHED BRASS | 19| 4 +Brand#42 |STANDARD BURNISHED BRASS | 23| 4 +Brand#42 |STANDARD BURNISHED COPPER| 3| 4 +Brand#42 |STANDARD BURNISHED COPPER| 9| 4 +Brand#42 |STANDARD BURNISHED COPPER| 14| 4 +Brand#42 |STANDARD BURNISHED COPPER| 19| 4 +Brand#42 |STANDARD BURNISHED COPPER| 23| 4 +Brand#42 |STANDARD BURNISHED NICKEL| 9| 4 +Brand#42 |STANDARD BURNISHED NICKEL| 19| 4 +Brand#42 |STANDARD BURNISHED NICKEL| 36| 4 +Brand#42 |STANDARD BURNISHED NICKEL| 45| 4 +Brand#42 |STANDARD BURNISHED STEEL | 3| 4 +Brand#42 |STANDARD BURNISHED STEEL | 14| 4 +Brand#42 |STANDARD BURNISHED STEEL | 23| 4 +Brand#42 |STANDARD BURNISHED STEEL | 45| 4 +Brand#42 |STANDARD BURNISHED TIN | 3| 4 +Brand#42 |STANDARD BURNISHED TIN | 14| 4 +Brand#42 |STANDARD BURNISHED TIN | 19| 4 +Brand#42 |STANDARD BURNISHED TIN | 36| 4 +Brand#42 |STANDARD PLATED BRASS | 3| 4 +Brand#42 |STANDARD PLATED BRASS | 9| 4 +Brand#42 |STANDARD PLATED BRASS | 19| 4 +Brand#42 |STANDARD PLATED BRASS | 23| 4 +Brand#42 |STANDARD PLATED BRASS | 36| 4 +Brand#42 |STANDARD PLATED BRASS | 49| 4 +Brand#42 |STANDARD PLATED COPPER | 36| 4 +Brand#42 |STANDARD PLATED NICKEL | 9| 4 +Brand#42 |STANDARD PLATED NICKEL | 36| 4 +Brand#42 |STANDARD PLATED NICKEL | 49| 4 +Brand#42 |STANDARD PLATED STEEL | 3| 4 +Brand#42 |STANDARD PLATED STEEL | 9| 4 +Brand#42 |STANDARD PLATED STEEL | 23| 4 +Brand#42 |STANDARD PLATED TIN | 19| 4 +Brand#42 |STANDARD POLISHED BRASS | 3| 4 +Brand#42 |STANDARD POLISHED BRASS | 14| 4 +Brand#42 |STANDARD POLISHED BRASS | 45| 4 +Brand#42 |STANDARD POLISHED BRASS | 49| 4 +Brand#42 |STANDARD POLISHED COPPER | 3| 4 +Brand#42 |STANDARD POLISHED COPPER | 9| 4 +Brand#42 |STANDARD POLISHED COPPER | 36| 4 +Brand#42 |STANDARD POLISHED COPPER | 45| 4 +Brand#42 |STANDARD POLISHED NICKEL | 36| 4 +Brand#42 |STANDARD POLISHED NICKEL | 45| 4 +Brand#42 |STANDARD POLISHED NICKEL | 49| 4 +Brand#42 |STANDARD POLISHED STEEL | 45| 4 +Brand#42 |STANDARD POLISHED TIN | 3| 4 +Brand#42 |STANDARD POLISHED TIN | 9| 4 +Brand#42 |STANDARD POLISHED TIN | 19| 4 +Brand#43 |ECONOMY ANODIZED BRASS | 19| 4 +Brand#43 |ECONOMY ANODIZED COPPER | 23| 4 +Brand#43 |ECONOMY ANODIZED COPPER | 36| 4 +Brand#43 |ECONOMY ANODIZED COPPER | 49| 4 +Brand#43 |ECONOMY ANODIZED NICKEL | 9| 4 +Brand#43 |ECONOMY ANODIZED NICKEL | 14| 4 +Brand#43 |ECONOMY ANODIZED NICKEL | 19| 4 +Brand#43 |ECONOMY ANODIZED NICKEL | 23| 4 +Brand#43 |ECONOMY ANODIZED NICKEL | 45| 4 +Brand#43 |ECONOMY ANODIZED STEEL | 3| 4 +Brand#43 |ECONOMY ANODIZED STEEL | 9| 4 +Brand#43 |ECONOMY ANODIZED STEEL | 14| 4 +Brand#43 |ECONOMY ANODIZED STEEL | 19| 4 +Brand#43 |ECONOMY ANODIZED TIN | 19| 4 +Brand#43 |ECONOMY ANODIZED TIN | 23| 4 +Brand#43 |ECONOMY ANODIZED TIN | 36| 4 +Brand#43 |ECONOMY BRUSHED BRASS | 3| 4 +Brand#43 |ECONOMY BRUSHED BRASS | 23| 4 +Brand#43 |ECONOMY BRUSHED BRASS | 36| 4 +Brand#43 |ECONOMY BRUSHED BRASS | 49| 4 +Brand#43 |ECONOMY BRUSHED COPPER | 14| 4 +Brand#43 |ECONOMY BRUSHED COPPER | 19| 4 +Brand#43 |ECONOMY BRUSHED COPPER | 36| 4 +Brand#43 |ECONOMY BRUSHED NICKEL | 23| 4 +Brand#43 |ECONOMY BRUSHED NICKEL | 36| 4 +Brand#43 |ECONOMY BRUSHED NICKEL | 45| 4 +Brand#43 |ECONOMY BRUSHED STEEL | 19| 4 +Brand#43 |ECONOMY BRUSHED TIN | 3| 4 +Brand#43 |ECONOMY BRUSHED TIN | 14| 4 +Brand#43 |ECONOMY BRUSHED TIN | 19| 4 +Brand#43 |ECONOMY BRUSHED TIN | 23| 4 +Brand#43 |ECONOMY BURNISHED BRASS | 9| 4 +Brand#43 |ECONOMY BURNISHED BRASS | 14| 4 +Brand#43 |ECONOMY BURNISHED BRASS | 23| 4 +Brand#43 |ECONOMY BURNISHED BRASS | 36| 4 +Brand#43 |ECONOMY BURNISHED BRASS | 45| 4 +Brand#43 |ECONOMY BURNISHED COPPER | 3| 4 +Brand#43 |ECONOMY BURNISHED COPPER | 19| 4 +Brand#43 |ECONOMY BURNISHED COPPER | 23| 4 +Brand#43 |ECONOMY BURNISHED COPPER | 45| 4 +Brand#43 |ECONOMY BURNISHED NICKEL | 49| 4 +Brand#43 |ECONOMY BURNISHED STEEL | 14| 4 +Brand#43 |ECONOMY BURNISHED STEEL | 45| 4 +Brand#43 |ECONOMY BURNISHED TIN | 14| 4 +Brand#43 |ECONOMY BURNISHED TIN | 36| 4 +Brand#43 |ECONOMY PLATED BRASS | 3| 4 +Brand#43 |ECONOMY PLATED BRASS | 14| 4 +Brand#43 |ECONOMY PLATED BRASS | 19| 4 +Brand#43 |ECONOMY PLATED BRASS | 23| 4 +Brand#43 |ECONOMY PLATED BRASS | 36| 4 +Brand#43 |ECONOMY PLATED BRASS | 49| 4 +Brand#43 |ECONOMY PLATED COPPER | 14| 4 +Brand#43 |ECONOMY PLATED COPPER | 36| 4 +Brand#43 |ECONOMY PLATED NICKEL | 36| 4 +Brand#43 |ECONOMY PLATED NICKEL | 45| 4 +Brand#43 |ECONOMY PLATED STEEL | 9| 4 +Brand#43 |ECONOMY PLATED STEEL | 45| 4 +Brand#43 |ECONOMY PLATED STEEL | 49| 4 +Brand#43 |ECONOMY PLATED TIN | 3| 4 +Brand#43 |ECONOMY PLATED TIN | 14| 4 +Brand#43 |ECONOMY PLATED TIN | 36| 4 +Brand#43 |ECONOMY PLATED TIN | 45| 4 +Brand#43 |ECONOMY POLISHED BRASS | 3| 4 +Brand#43 |ECONOMY POLISHED BRASS | 9| 4 +Brand#43 |ECONOMY POLISHED BRASS | 14| 4 +Brand#43 |ECONOMY POLISHED BRASS | 36| 4 +Brand#43 |ECONOMY POLISHED BRASS | 49| 4 +Brand#43 |ECONOMY POLISHED COPPER | 3| 4 +Brand#43 |ECONOMY POLISHED COPPER | 14| 4 +Brand#43 |ECONOMY POLISHED COPPER | 23| 4 +Brand#43 |ECONOMY POLISHED COPPER | 45| 4 +Brand#43 |ECONOMY POLISHED NICKEL | 3| 4 +Brand#43 |ECONOMY POLISHED NICKEL | 9| 4 +Brand#43 |ECONOMY POLISHED NICKEL | 14| 4 +Brand#43 |ECONOMY POLISHED NICKEL | 23| 4 +Brand#43 |ECONOMY POLISHED NICKEL | 49| 4 +Brand#43 |ECONOMY POLISHED STEEL | 19| 4 +Brand#43 |ECONOMY POLISHED STEEL | 45| 4 +Brand#43 |LARGE ANODIZED BRASS | 19| 4 +Brand#43 |LARGE ANODIZED BRASS | 23| 4 +Brand#43 |LARGE ANODIZED COPPER | 3| 4 +Brand#43 |LARGE ANODIZED COPPER | 36| 4 +Brand#43 |LARGE ANODIZED COPPER | 45| 4 +Brand#43 |LARGE ANODIZED NICKEL | 14| 4 +Brand#43 |LARGE ANODIZED STEEL | 3| 4 +Brand#43 |LARGE ANODIZED STEEL | 9| 4 +Brand#43 |LARGE ANODIZED STEEL | 14| 4 +Brand#43 |LARGE ANODIZED TIN | 3| 4 +Brand#43 |LARGE ANODIZED TIN | 49| 4 +Brand#43 |LARGE BRUSHED BRASS | 14| 4 +Brand#43 |LARGE BRUSHED BRASS | 19| 4 +Brand#43 |LARGE BRUSHED BRASS | 36| 4 +Brand#43 |LARGE BRUSHED COPPER | 3| 4 +Brand#43 |LARGE BRUSHED COPPER | 23| 4 +Brand#43 |LARGE BRUSHED COPPER | 45| 4 +Brand#43 |LARGE BRUSHED NICKEL | 3| 4 +Brand#43 |LARGE BRUSHED NICKEL | 45| 4 +Brand#43 |LARGE BRUSHED STEEL | 19| 4 +Brand#43 |LARGE BRUSHED STEEL | 49| 4 +Brand#43 |LARGE BRUSHED TIN | 3| 4 +Brand#43 |LARGE BRUSHED TIN | 14| 4 +Brand#43 |LARGE BRUSHED TIN | 45| 4 +Brand#43 |LARGE BRUSHED TIN | 49| 4 +Brand#43 |LARGE BURNISHED BRASS | 3| 4 +Brand#43 |LARGE BURNISHED BRASS | 19| 4 +Brand#43 |LARGE BURNISHED COPPER | 9| 4 +Brand#43 |LARGE BURNISHED COPPER | 19| 4 +Brand#43 |LARGE BURNISHED COPPER | 23| 4 +Brand#43 |LARGE BURNISHED COPPER | 49| 4 +Brand#43 |LARGE BURNISHED NICKEL | 9| 4 +Brand#43 |LARGE BURNISHED NICKEL | 19| 4 +Brand#43 |LARGE BURNISHED NICKEL | 45| 4 +Brand#43 |LARGE BURNISHED STEEL | 19| 4 +Brand#43 |LARGE BURNISHED STEEL | 23| 4 +Brand#43 |LARGE BURNISHED STEEL | 45| 4 +Brand#43 |LARGE BURNISHED STEEL | 49| 4 +Brand#43 |LARGE BURNISHED TIN | 9| 4 +Brand#43 |LARGE BURNISHED TIN | 49| 4 +Brand#43 |LARGE PLATED BRASS | 3| 4 +Brand#43 |LARGE PLATED BRASS | 36| 4 +Brand#43 |LARGE PLATED COPPER | 3| 4 +Brand#43 |LARGE PLATED COPPER | 14| 4 +Brand#43 |LARGE PLATED COPPER | 19| 4 +Brand#43 |LARGE PLATED COPPER | 23| 4 +Brand#43 |LARGE PLATED COPPER | 49| 4 +Brand#43 |LARGE PLATED NICKEL | 19| 4 +Brand#43 |LARGE PLATED NICKEL | 23| 4 +Brand#43 |LARGE PLATED NICKEL | 36| 4 +Brand#43 |LARGE PLATED STEEL | 9| 4 +Brand#43 |LARGE PLATED STEEL | 19| 4 +Brand#43 |LARGE PLATED STEEL | 45| 4 +Brand#43 |LARGE PLATED TIN | 3| 4 +Brand#43 |LARGE PLATED TIN | 49| 4 +Brand#43 |LARGE POLISHED BRASS | 19| 4 +Brand#43 |LARGE POLISHED BRASS | 23| 4 +Brand#43 |LARGE POLISHED BRASS | 45| 4 +Brand#43 |LARGE POLISHED BRASS | 49| 4 +Brand#43 |LARGE POLISHED COPPER | 9| 4 +Brand#43 |LARGE POLISHED COPPER | 45| 4 +Brand#43 |LARGE POLISHED NICKEL | 14| 4 +Brand#43 |LARGE POLISHED NICKEL | 19| 4 +Brand#43 |LARGE POLISHED NICKEL | 36| 4 +Brand#43 |LARGE POLISHED NICKEL | 45| 4 +Brand#43 |LARGE POLISHED NICKEL | 49| 4 +Brand#43 |LARGE POLISHED STEEL | 3| 4 +Brand#43 |LARGE POLISHED STEEL | 23| 4 +Brand#43 |LARGE POLISHED STEEL | 45| 4 +Brand#43 |LARGE POLISHED STEEL | 49| 4 +Brand#43 |LARGE POLISHED TIN | 3| 4 +Brand#43 |LARGE POLISHED TIN | 19| 4 +Brand#43 |LARGE POLISHED TIN | 23| 4 +Brand#43 |LARGE POLISHED TIN | 36| 4 +Brand#43 |MEDIUM ANODIZED BRASS | 9| 4 +Brand#43 |MEDIUM ANODIZED BRASS | 23| 4 +Brand#43 |MEDIUM ANODIZED BRASS | 45| 4 +Brand#43 |MEDIUM ANODIZED COPPER | 36| 4 +Brand#43 |MEDIUM ANODIZED NICKEL | 19| 4 +Brand#43 |MEDIUM ANODIZED NICKEL | 23| 4 +Brand#43 |MEDIUM ANODIZED NICKEL | 45| 4 +Brand#43 |MEDIUM ANODIZED STEEL | 14| 4 +Brand#43 |MEDIUM ANODIZED STEEL | 23| 4 +Brand#43 |MEDIUM ANODIZED STEEL | 49| 4 +Brand#43 |MEDIUM ANODIZED TIN | 3| 4 +Brand#43 |MEDIUM ANODIZED TIN | 9| 4 +Brand#43 |MEDIUM ANODIZED TIN | 14| 4 +Brand#43 |MEDIUM ANODIZED TIN | 19| 4 +Brand#43 |MEDIUM BRUSHED BRASS | 19| 4 +Brand#43 |MEDIUM BRUSHED BRASS | 49| 4 +Brand#43 |MEDIUM BRUSHED COPPER | 3| 4 +Brand#43 |MEDIUM BRUSHED COPPER | 9| 4 +Brand#43 |MEDIUM BRUSHED COPPER | 19| 4 +Brand#43 |MEDIUM BRUSHED COPPER | 36| 4 +Brand#43 |MEDIUM BRUSHED COPPER | 49| 4 +Brand#43 |MEDIUM BRUSHED NICKEL | 9| 4 +Brand#43 |MEDIUM BRUSHED NICKEL | 14| 4 +Brand#43 |MEDIUM BRUSHED NICKEL | 19| 4 +Brand#43 |MEDIUM BRUSHED NICKEL | 36| 4 +Brand#43 |MEDIUM BRUSHED NICKEL | 45| 4 +Brand#43 |MEDIUM BRUSHED NICKEL | 49| 4 +Brand#43 |MEDIUM BRUSHED STEEL | 3| 4 +Brand#43 |MEDIUM BRUSHED STEEL | 9| 4 +Brand#43 |MEDIUM BRUSHED STEEL | 23| 4 +Brand#43 |MEDIUM BRUSHED STEEL | 45| 4 +Brand#43 |MEDIUM BRUSHED TIN | 9| 4 +Brand#43 |MEDIUM BRUSHED TIN | 14| 4 +Brand#43 |MEDIUM BRUSHED TIN | 36| 4 +Brand#43 |MEDIUM BRUSHED TIN | 45| 4 +Brand#43 |MEDIUM BURNISHED BRASS | 9| 4 +Brand#43 |MEDIUM BURNISHED BRASS | 14| 4 +Brand#43 |MEDIUM BURNISHED COPPER | 9| 4 +Brand#43 |MEDIUM BURNISHED COPPER | 36| 4 +Brand#43 |MEDIUM BURNISHED COPPER | 45| 4 +Brand#43 |MEDIUM BURNISHED NICKEL | 3| 4 +Brand#43 |MEDIUM BURNISHED STEEL | 9| 4 +Brand#43 |MEDIUM BURNISHED STEEL | 36| 4 +Brand#43 |MEDIUM BURNISHED TIN | 23| 4 +Brand#43 |MEDIUM PLATED BRASS | 9| 4 +Brand#43 |MEDIUM PLATED BRASS | 14| 4 +Brand#43 |MEDIUM PLATED COPPER | 14| 4 +Brand#43 |MEDIUM PLATED COPPER | 45| 4 +Brand#43 |MEDIUM PLATED NICKEL | 23| 4 +Brand#43 |MEDIUM PLATED NICKEL | 49| 4 +Brand#43 |MEDIUM PLATED STEEL | 9| 4 +Brand#43 |MEDIUM PLATED STEEL | 14| 4 +Brand#43 |MEDIUM PLATED STEEL | 19| 4 +Brand#43 |MEDIUM PLATED STEEL | 23| 4 +Brand#43 |MEDIUM PLATED TIN | 9| 4 +Brand#43 |MEDIUM PLATED TIN | 14| 4 +Brand#43 |MEDIUM PLATED TIN | 49| 4 +Brand#43 |PROMO ANODIZED BRASS | 19| 4 +Brand#43 |PROMO ANODIZED BRASS | 23| 4 +Brand#43 |PROMO ANODIZED BRASS | 49| 4 +Brand#43 |PROMO ANODIZED COPPER | 3| 4 +Brand#43 |PROMO ANODIZED COPPER | 9| 4 +Brand#43 |PROMO ANODIZED COPPER | 14| 4 +Brand#43 |PROMO ANODIZED COPPER | 19| 4 +Brand#43 |PROMO ANODIZED COPPER | 49| 4 +Brand#43 |PROMO ANODIZED NICKEL | 9| 4 +Brand#43 |PROMO ANODIZED NICKEL | 36| 4 +Brand#43 |PROMO ANODIZED STEEL | 3| 4 +Brand#43 |PROMO ANODIZED STEEL | 19| 4 +Brand#43 |PROMO ANODIZED STEEL | 36| 4 +Brand#43 |PROMO ANODIZED STEEL | 45| 4 +Brand#43 |PROMO ANODIZED TIN | 36| 4 +Brand#43 |PROMO ANODIZED TIN | 45| 4 +Brand#43 |PROMO BRUSHED BRASS | 9| 4 +Brand#43 |PROMO BRUSHED BRASS | 23| 4 +Brand#43 |PROMO BRUSHED BRASS | 49| 4 +Brand#43 |PROMO BRUSHED COPPER | 14| 4 +Brand#43 |PROMO BRUSHED COPPER | 45| 4 +Brand#43 |PROMO BRUSHED COPPER | 49| 4 +Brand#43 |PROMO BRUSHED NICKEL | 3| 4 +Brand#43 |PROMO BRUSHED STEEL | 3| 4 +Brand#43 |PROMO BRUSHED STEEL | 23| 4 +Brand#43 |PROMO BRUSHED TIN | 9| 4 +Brand#43 |PROMO BRUSHED TIN | 14| 4 +Brand#43 |PROMO BRUSHED TIN | 19| 4 +Brand#43 |PROMO BRUSHED TIN | 23| 4 +Brand#43 |PROMO BRUSHED TIN | 36| 4 +Brand#43 |PROMO BRUSHED TIN | 45| 4 +Brand#43 |PROMO BURNISHED BRASS | 9| 4 +Brand#43 |PROMO BURNISHED BRASS | 36| 4 +Brand#43 |PROMO BURNISHED BRASS | 45| 4 +Brand#43 |PROMO BURNISHED COPPER | 3| 4 +Brand#43 |PROMO BURNISHED COPPER | 9| 4 +Brand#43 |PROMO BURNISHED COPPER | 19| 4 +Brand#43 |PROMO BURNISHED COPPER | 23| 4 +Brand#43 |PROMO BURNISHED COPPER | 45| 4 +Brand#43 |PROMO BURNISHED NICKEL | 9| 4 +Brand#43 |PROMO BURNISHED NICKEL | 19| 4 +Brand#43 |PROMO BURNISHED NICKEL | 23| 4 +Brand#43 |PROMO BURNISHED NICKEL | 36| 4 +Brand#43 |PROMO BURNISHED NICKEL | 45| 4 +Brand#43 |PROMO BURNISHED STEEL | 3| 4 +Brand#43 |PROMO BURNISHED STEEL | 9| 4 +Brand#43 |PROMO BURNISHED STEEL | 19| 4 +Brand#43 |PROMO BURNISHED STEEL | 23| 4 +Brand#43 |PROMO BURNISHED TIN | 19| 4 +Brand#43 |PROMO BURNISHED TIN | 45| 4 +Brand#43 |PROMO PLATED BRASS | 3| 4 +Brand#43 |PROMO PLATED BRASS | 9| 4 +Brand#43 |PROMO PLATED BRASS | 19| 4 +Brand#43 |PROMO PLATED BRASS | 23| 4 +Brand#43 |PROMO PLATED COPPER | 3| 4 +Brand#43 |PROMO PLATED COPPER | 23| 4 +Brand#43 |PROMO PLATED COPPER | 36| 4 +Brand#43 |PROMO PLATED COPPER | 49| 4 +Brand#43 |PROMO PLATED NICKEL | 3| 4 +Brand#43 |PROMO PLATED NICKEL | 19| 4 +Brand#43 |PROMO PLATED NICKEL | 36| 4 +Brand#43 |PROMO PLATED NICKEL | 49| 4 +Brand#43 |PROMO PLATED STEEL | 3| 4 +Brand#43 |PROMO PLATED STEEL | 19| 4 +Brand#43 |PROMO PLATED STEEL | 23| 4 +Brand#43 |PROMO PLATED STEEL | 36| 4 +Brand#43 |PROMO PLATED STEEL | 49| 4 +Brand#43 |PROMO PLATED TIN | 3| 4 +Brand#43 |PROMO PLATED TIN | 14| 4 +Brand#43 |PROMO PLATED TIN | 49| 4 +Brand#43 |PROMO POLISHED BRASS | 3| 4 +Brand#43 |PROMO POLISHED BRASS | 14| 4 +Brand#43 |PROMO POLISHED BRASS | 19| 4 +Brand#43 |PROMO POLISHED BRASS | 49| 4 +Brand#43 |PROMO POLISHED COPPER | 9| 4 +Brand#43 |PROMO POLISHED COPPER | 45| 4 +Brand#43 |PROMO POLISHED COPPER | 49| 4 +Brand#43 |PROMO POLISHED NICKEL | 9| 4 +Brand#43 |PROMO POLISHED NICKEL | 23| 4 +Brand#43 |PROMO POLISHED NICKEL | 36| 4 +Brand#43 |PROMO POLISHED NICKEL | 45| 4 +Brand#43 |PROMO POLISHED NICKEL | 49| 4 +Brand#43 |PROMO POLISHED STEEL | 19| 4 +Brand#43 |PROMO POLISHED STEEL | 45| 4 +Brand#43 |PROMO POLISHED STEEL | 49| 4 +Brand#43 |PROMO POLISHED TIN | 9| 4 +Brand#43 |PROMO POLISHED TIN | 19| 4 +Brand#43 |PROMO POLISHED TIN | 23| 4 +Brand#43 |PROMO POLISHED TIN | 49| 4 +Brand#43 |SMALL ANODIZED BRASS | 3| 4 +Brand#43 |SMALL ANODIZED BRASS | 9| 4 +Brand#43 |SMALL ANODIZED BRASS | 14| 4 +Brand#43 |SMALL ANODIZED COPPER | 23| 4 +Brand#43 |SMALL ANODIZED COPPER | 45| 4 +Brand#43 |SMALL ANODIZED NICKEL | 9| 4 +Brand#43 |SMALL ANODIZED NICKEL | 49| 4 +Brand#43 |SMALL ANODIZED STEEL | 9| 4 +Brand#43 |SMALL ANODIZED STEEL | 14| 4 +Brand#43 |SMALL ANODIZED STEEL | 19| 4 +Brand#43 |SMALL ANODIZED TIN | 19| 4 +Brand#43 |SMALL ANODIZED TIN | 45| 4 +Brand#43 |SMALL BRUSHED BRASS | 3| 4 +Brand#43 |SMALL BRUSHED BRASS | 14| 4 +Brand#43 |SMALL BRUSHED BRASS | 23| 4 +Brand#43 |SMALL BRUSHED BRASS | 36| 4 +Brand#43 |SMALL BRUSHED COPPER | 14| 4 +Brand#43 |SMALL BRUSHED NICKEL | 3| 4 +Brand#43 |SMALL BRUSHED NICKEL | 14| 4 +Brand#43 |SMALL BRUSHED NICKEL | 19| 4 +Brand#43 |SMALL BRUSHED NICKEL | 45| 4 +Brand#43 |SMALL BRUSHED STEEL | 19| 4 +Brand#43 |SMALL BRUSHED STEEL | 23| 4 +Brand#43 |SMALL BRUSHED STEEL | 49| 4 +Brand#43 |SMALL BRUSHED TIN | 23| 4 +Brand#43 |SMALL BRUSHED TIN | 36| 4 +Brand#43 |SMALL BURNISHED BRASS | 19| 4 +Brand#43 |SMALL BURNISHED BRASS | 23| 4 +Brand#43 |SMALL BURNISHED BRASS | 49| 4 +Brand#43 |SMALL BURNISHED COPPER | 3| 4 +Brand#43 |SMALL BURNISHED COPPER | 9| 4 +Brand#43 |SMALL BURNISHED COPPER | 36| 4 +Brand#43 |SMALL BURNISHED NICKEL | 3| 4 +Brand#43 |SMALL BURNISHED NICKEL | 36| 4 +Brand#43 |SMALL BURNISHED STEEL | 14| 4 +Brand#43 |SMALL BURNISHED STEEL | 19| 4 +Brand#43 |SMALL BURNISHED STEEL | 23| 4 +Brand#43 |SMALL BURNISHED STEEL | 49| 4 +Brand#43 |SMALL BURNISHED TIN | 14| 4 +Brand#43 |SMALL BURNISHED TIN | 19| 4 +Brand#43 |SMALL BURNISHED TIN | 36| 4 +Brand#43 |SMALL PLATED BRASS | 3| 4 +Brand#43 |SMALL PLATED BRASS | 9| 4 +Brand#43 |SMALL PLATED BRASS | 14| 4 +Brand#43 |SMALL PLATED COPPER | 3| 4 +Brand#43 |SMALL PLATED COPPER | 36| 4 +Brand#43 |SMALL PLATED NICKEL | 14| 4 +Brand#43 |SMALL PLATED NICKEL | 36| 4 +Brand#43 |SMALL PLATED STEEL | 9| 4 +Brand#43 |SMALL PLATED STEEL | 23| 4 +Brand#43 |SMALL PLATED STEEL | 45| 4 +Brand#43 |SMALL PLATED STEEL | 49| 4 +Brand#43 |SMALL PLATED TIN | 3| 4 +Brand#43 |SMALL PLATED TIN | 36| 4 +Brand#43 |SMALL PLATED TIN | 49| 4 +Brand#43 |SMALL POLISHED BRASS | 36| 4 +Brand#43 |SMALL POLISHED BRASS | 49| 4 +Brand#43 |SMALL POLISHED COPPER | 23| 4 +Brand#43 |SMALL POLISHED COPPER | 36| 4 +Brand#43 |SMALL POLISHED NICKEL | 9| 4 +Brand#43 |SMALL POLISHED NICKEL | 49| 4 +Brand#43 |SMALL POLISHED STEEL | 3| 4 +Brand#43 |SMALL POLISHED STEEL | 14| 4 +Brand#43 |SMALL POLISHED STEEL | 23| 4 +Brand#43 |SMALL POLISHED STEEL | 36| 4 +Brand#43 |SMALL POLISHED TIN | 3| 4 +Brand#43 |SMALL POLISHED TIN | 9| 4 +Brand#43 |SMALL POLISHED TIN | 23| 4 +Brand#43 |STANDARD ANODIZED BRASS | 3| 4 +Brand#43 |STANDARD ANODIZED BRASS | 9| 4 +Brand#43 |STANDARD ANODIZED BRASS | 14| 4 +Brand#43 |STANDARD ANODIZED BRASS | 19| 4 +Brand#43 |STANDARD ANODIZED BRASS | 45| 4 +Brand#43 |STANDARD ANODIZED COPPER | 19| 4 +Brand#43 |STANDARD ANODIZED COPPER | 23| 4 +Brand#43 |STANDARD ANODIZED COPPER | 45| 4 +Brand#43 |STANDARD ANODIZED NICKEL | 19| 4 +Brand#43 |STANDARD ANODIZED NICKEL | 36| 4 +Brand#43 |STANDARD ANODIZED NICKEL | 45| 4 +Brand#43 |STANDARD ANODIZED STEEL | 19| 4 +Brand#43 |STANDARD ANODIZED TIN | 3| 4 +Brand#43 |STANDARD BRUSHED BRASS | 9| 4 +Brand#43 |STANDARD BRUSHED BRASS | 19| 4 +Brand#43 |STANDARD BRUSHED BRASS | 23| 4 +Brand#43 |STANDARD BRUSHED COPPER | 3| 4 +Brand#43 |STANDARD BRUSHED COPPER | 14| 4 +Brand#43 |STANDARD BRUSHED COPPER | 23| 4 +Brand#43 |STANDARD BRUSHED COPPER | 36| 4 +Brand#43 |STANDARD BRUSHED COPPER | 45| 4 +Brand#43 |STANDARD BRUSHED COPPER | 49| 4 +Brand#43 |STANDARD BRUSHED NICKEL | 14| 4 +Brand#43 |STANDARD BRUSHED STEEL | 3| 4 +Brand#43 |STANDARD BRUSHED STEEL | 9| 4 +Brand#43 |STANDARD BRUSHED STEEL | 23| 4 +Brand#43 |STANDARD BRUSHED STEEL | 45| 4 +Brand#43 |STANDARD BRUSHED STEEL | 49| 4 +Brand#43 |STANDARD BRUSHED TIN | 3| 4 +Brand#43 |STANDARD BRUSHED TIN | 14| 4 +Brand#43 |STANDARD BRUSHED TIN | 23| 4 +Brand#43 |STANDARD BRUSHED TIN | 36| 4 +Brand#43 |STANDARD BURNISHED BRASS | 19| 4 +Brand#43 |STANDARD BURNISHED COPPER| 19| 4 +Brand#43 |STANDARD BURNISHED COPPER| 23| 4 +Brand#43 |STANDARD BURNISHED NICKEL| 3| 4 +Brand#43 |STANDARD BURNISHED NICKEL| 14| 4 +Brand#43 |STANDARD BURNISHED STEEL | 3| 4 +Brand#43 |STANDARD BURNISHED STEEL | 14| 4 +Brand#43 |STANDARD BURNISHED TIN | 9| 4 +Brand#43 |STANDARD BURNISHED TIN | 45| 4 +Brand#43 |STANDARD PLATED BRASS | 9| 4 +Brand#43 |STANDARD PLATED BRASS | 36| 4 +Brand#43 |STANDARD PLATED BRASS | 49| 4 +Brand#43 |STANDARD PLATED COPPER | 9| 4 +Brand#43 |STANDARD PLATED COPPER | 14| 4 +Brand#43 |STANDARD PLATED COPPER | 49| 4 +Brand#43 |STANDARD PLATED NICKEL | 3| 4 +Brand#43 |STANDARD PLATED NICKEL | 9| 4 +Brand#43 |STANDARD PLATED NICKEL | 45| 4 +Brand#43 |STANDARD PLATED STEEL | 9| 4 +Brand#43 |STANDARD PLATED STEEL | 14| 4 +Brand#43 |STANDARD PLATED STEEL | 19| 4 +Brand#43 |STANDARD PLATED STEEL | 45| 4 +Brand#43 |STANDARD PLATED STEEL | 49| 4 +Brand#43 |STANDARD PLATED TIN | 36| 4 +Brand#43 |STANDARD POLISHED BRASS | 23| 4 +Brand#43 |STANDARD POLISHED BRASS | 45| 4 +Brand#43 |STANDARD POLISHED BRASS | 49| 4 +Brand#43 |STANDARD POLISHED COPPER | 9| 4 +Brand#43 |STANDARD POLISHED COPPER | 14| 4 +Brand#43 |STANDARD POLISHED COPPER | 23| 4 +Brand#43 |STANDARD POLISHED COPPER | 36| 4 +Brand#43 |STANDARD POLISHED NICKEL | 9| 4 +Brand#43 |STANDARD POLISHED NICKEL | 19| 4 +Brand#43 |STANDARD POLISHED NICKEL | 49| 4 +Brand#43 |STANDARD POLISHED STEEL | 19| 4 +Brand#43 |STANDARD POLISHED STEEL | 23| 4 +Brand#43 |STANDARD POLISHED STEEL | 45| 4 +Brand#43 |STANDARD POLISHED TIN | 3| 4 +Brand#43 |STANDARD POLISHED TIN | 19| 4 +Brand#43 |STANDARD POLISHED TIN | 45| 4 +Brand#43 |STANDARD POLISHED TIN | 49| 4 +Brand#44 |ECONOMY ANODIZED BRASS | 23| 4 +Brand#44 |ECONOMY ANODIZED BRASS | 36| 4 +Brand#44 |ECONOMY ANODIZED BRASS | 49| 4 +Brand#44 |ECONOMY ANODIZED COPPER | 14| 4 +Brand#44 |ECONOMY ANODIZED COPPER | 19| 4 +Brand#44 |ECONOMY ANODIZED COPPER | 36| 4 +Brand#44 |ECONOMY ANODIZED NICKEL | 9| 4 +Brand#44 |ECONOMY ANODIZED NICKEL | 14| 4 +Brand#44 |ECONOMY ANODIZED NICKEL | 19| 4 +Brand#44 |ECONOMY ANODIZED NICKEL | 49| 4 +Brand#44 |ECONOMY ANODIZED STEEL | 36| 4 +Brand#44 |ECONOMY ANODIZED STEEL | 49| 4 +Brand#44 |ECONOMY ANODIZED TIN | 23| 4 +Brand#44 |ECONOMY ANODIZED TIN | 45| 4 +Brand#44 |ECONOMY ANODIZED TIN | 49| 4 +Brand#44 |ECONOMY BRUSHED BRASS | 3| 4 +Brand#44 |ECONOMY BRUSHED BRASS | 9| 4 +Brand#44 |ECONOMY BRUSHED BRASS | 19| 4 +Brand#44 |ECONOMY BRUSHED BRASS | 45| 4 +Brand#44 |ECONOMY BRUSHED BRASS | 49| 4 +Brand#44 |ECONOMY BRUSHED COPPER | 3| 4 +Brand#44 |ECONOMY BRUSHED COPPER | 9| 4 +Brand#44 |ECONOMY BRUSHED COPPER | 14| 4 +Brand#44 |ECONOMY BRUSHED COPPER | 36| 4 +Brand#44 |ECONOMY BRUSHED COPPER | 45| 4 +Brand#44 |ECONOMY BRUSHED NICKEL | 3| 4 +Brand#44 |ECONOMY BRUSHED NICKEL | 14| 4 +Brand#44 |ECONOMY BRUSHED STEEL | 3| 4 +Brand#44 |ECONOMY BRUSHED STEEL | 23| 4 +Brand#44 |ECONOMY BRUSHED STEEL | 45| 4 +Brand#44 |ECONOMY BRUSHED STEEL | 49| 4 +Brand#44 |ECONOMY BRUSHED TIN | 9| 4 +Brand#44 |ECONOMY BRUSHED TIN | 23| 4 +Brand#44 |ECONOMY BRUSHED TIN | 36| 4 +Brand#44 |ECONOMY BURNISHED BRASS | 3| 4 +Brand#44 |ECONOMY BURNISHED BRASS | 14| 4 +Brand#44 |ECONOMY BURNISHED BRASS | 19| 4 +Brand#44 |ECONOMY BURNISHED BRASS | 49| 4 +Brand#44 |ECONOMY BURNISHED COPPER | 19| 4 +Brand#44 |ECONOMY BURNISHED COPPER | 45| 4 +Brand#44 |ECONOMY BURNISHED NICKEL | 19| 4 +Brand#44 |ECONOMY BURNISHED NICKEL | 36| 4 +Brand#44 |ECONOMY BURNISHED NICKEL | 45| 4 +Brand#44 |ECONOMY BURNISHED STEEL | 3| 4 +Brand#44 |ECONOMY BURNISHED STEEL | 23| 4 +Brand#44 |ECONOMY BURNISHED TIN | 23| 4 +Brand#44 |ECONOMY BURNISHED TIN | 36| 4 +Brand#44 |ECONOMY PLATED BRASS | 14| 4 +Brand#44 |ECONOMY PLATED BRASS | 19| 4 +Brand#44 |ECONOMY PLATED BRASS | 36| 4 +Brand#44 |ECONOMY PLATED BRASS | 45| 4 +Brand#44 |ECONOMY PLATED COPPER | 19| 4 +Brand#44 |ECONOMY PLATED COPPER | 49| 4 +Brand#44 |ECONOMY PLATED NICKEL | 3| 4 +Brand#44 |ECONOMY PLATED NICKEL | 9| 4 +Brand#44 |ECONOMY PLATED NICKEL | 19| 4 +Brand#44 |ECONOMY PLATED NICKEL | 45| 4 +Brand#44 |ECONOMY PLATED NICKEL | 49| 4 +Brand#44 |ECONOMY PLATED STEEL | 9| 4 +Brand#44 |ECONOMY PLATED STEEL | 19| 4 +Brand#44 |ECONOMY PLATED STEEL | 49| 4 +Brand#44 |ECONOMY PLATED TIN | 3| 4 +Brand#44 |ECONOMY PLATED TIN | 9| 4 +Brand#44 |ECONOMY PLATED TIN | 14| 4 +Brand#44 |ECONOMY PLATED TIN | 23| 4 +Brand#44 |ECONOMY PLATED TIN | 36| 4 +Brand#44 |ECONOMY PLATED TIN | 49| 4 +Brand#44 |ECONOMY POLISHED BRASS | 9| 4 +Brand#44 |ECONOMY POLISHED BRASS | 14| 4 +Brand#44 |ECONOMY POLISHED COPPER | 3| 4 +Brand#44 |ECONOMY POLISHED COPPER | 45| 4 +Brand#44 |ECONOMY POLISHED COPPER | 49| 4 +Brand#44 |ECONOMY POLISHED NICKEL | 3| 4 +Brand#44 |ECONOMY POLISHED NICKEL | 14| 4 +Brand#44 |ECONOMY POLISHED NICKEL | 19| 4 +Brand#44 |ECONOMY POLISHED STEEL | 3| 4 +Brand#44 |ECONOMY POLISHED STEEL | 14| 4 +Brand#44 |ECONOMY POLISHED STEEL | 19| 4 +Brand#44 |ECONOMY POLISHED STEEL | 36| 4 +Brand#44 |ECONOMY POLISHED STEEL | 45| 4 +Brand#44 |ECONOMY POLISHED TIN | 9| 4 +Brand#44 |ECONOMY POLISHED TIN | 14| 4 +Brand#44 |ECONOMY POLISHED TIN | 23| 4 +Brand#44 |LARGE ANODIZED BRASS | 14| 4 +Brand#44 |LARGE ANODIZED BRASS | 19| 4 +Brand#44 |LARGE ANODIZED BRASS | 36| 4 +Brand#44 |LARGE ANODIZED COPPER | 23| 4 +Brand#44 |LARGE ANODIZED COPPER | 49| 4 +Brand#44 |LARGE ANODIZED NICKEL | 9| 4 +Brand#44 |LARGE ANODIZED NICKEL | 45| 4 +Brand#44 |LARGE ANODIZED STEEL | 3| 4 +Brand#44 |LARGE ANODIZED STEEL | 9| 4 +Brand#44 |LARGE ANODIZED STEEL | 14| 4 +Brand#44 |LARGE ANODIZED STEEL | 36| 4 +Brand#44 |LARGE ANODIZED STEEL | 45| 4 +Brand#44 |LARGE ANODIZED STEEL | 49| 4 +Brand#44 |LARGE ANODIZED TIN | 9| 4 +Brand#44 |LARGE ANODIZED TIN | 19| 4 +Brand#44 |LARGE ANODIZED TIN | 36| 4 +Brand#44 |LARGE ANODIZED TIN | 45| 4 +Brand#44 |LARGE ANODIZED TIN | 49| 4 +Brand#44 |LARGE BRUSHED BRASS | 3| 4 +Brand#44 |LARGE BRUSHED BRASS | 23| 4 +Brand#44 |LARGE BRUSHED BRASS | 36| 4 +Brand#44 |LARGE BRUSHED BRASS | 45| 4 +Brand#44 |LARGE BRUSHED BRASS | 49| 4 +Brand#44 |LARGE BRUSHED COPPER | 3| 4 +Brand#44 |LARGE BRUSHED COPPER | 19| 4 +Brand#44 |LARGE BRUSHED COPPER | 45| 4 +Brand#44 |LARGE BRUSHED COPPER | 49| 4 +Brand#44 |LARGE BRUSHED NICKEL | 36| 4 +Brand#44 |LARGE BRUSHED NICKEL | 49| 4 +Brand#44 |LARGE BRUSHED STEEL | 19| 4 +Brand#44 |LARGE BRUSHED STEEL | 45| 4 +Brand#44 |LARGE BRUSHED TIN | 36| 4 +Brand#44 |LARGE BRUSHED TIN | 45| 4 +Brand#44 |LARGE BRUSHED TIN | 49| 4 +Brand#44 |LARGE BURNISHED BRASS | 9| 4 +Brand#44 |LARGE BURNISHED BRASS | 23| 4 +Brand#44 |LARGE BURNISHED BRASS | 45| 4 +Brand#44 |LARGE BURNISHED COPPER | 3| 4 +Brand#44 |LARGE BURNISHED COPPER | 36| 4 +Brand#44 |LARGE BURNISHED COPPER | 45| 4 +Brand#44 |LARGE BURNISHED COPPER | 49| 4 +Brand#44 |LARGE BURNISHED NICKEL | 19| 4 +Brand#44 |LARGE BURNISHED NICKEL | 45| 4 +Brand#44 |LARGE BURNISHED STEEL | 9| 4 +Brand#44 |LARGE BURNISHED TIN | 9| 4 +Brand#44 |LARGE BURNISHED TIN | 45| 4 +Brand#44 |LARGE BURNISHED TIN | 49| 4 +Brand#44 |LARGE PLATED BRASS | 36| 4 +Brand#44 |LARGE PLATED COPPER | 3| 4 +Brand#44 |LARGE PLATED NICKEL | 19| 4 +Brand#44 |LARGE PLATED NICKEL | 45| 4 +Brand#44 |LARGE PLATED NICKEL | 49| 4 +Brand#44 |LARGE PLATED STEEL | 19| 4 +Brand#44 |LARGE PLATED STEEL | 49| 4 +Brand#44 |LARGE PLATED TIN | 23| 4 +Brand#44 |LARGE PLATED TIN | 45| 4 +Brand#44 |LARGE POLISHED BRASS | 3| 4 +Brand#44 |LARGE POLISHED COPPER | 3| 4 +Brand#44 |LARGE POLISHED COPPER | 14| 4 +Brand#44 |LARGE POLISHED COPPER | 19| 4 +Brand#44 |LARGE POLISHED NICKEL | 14| 4 +Brand#44 |LARGE POLISHED NICKEL | 45| 4 +Brand#44 |LARGE POLISHED STEEL | 3| 4 +Brand#44 |LARGE POLISHED STEEL | 14| 4 +Brand#44 |LARGE POLISHED STEEL | 23| 4 +Brand#44 |LARGE POLISHED STEEL | 49| 4 +Brand#44 |LARGE POLISHED TIN | 23| 4 +Brand#44 |LARGE POLISHED TIN | 45| 4 +Brand#44 |MEDIUM ANODIZED BRASS | 14| 4 +Brand#44 |MEDIUM ANODIZED BRASS | 19| 4 +Brand#44 |MEDIUM ANODIZED COPPER | 3| 4 +Brand#44 |MEDIUM ANODIZED COPPER | 19| 4 +Brand#44 |MEDIUM ANODIZED COPPER | 23| 4 +Brand#44 |MEDIUM ANODIZED NICKEL | 3| 4 +Brand#44 |MEDIUM ANODIZED STEEL | 19| 4 +Brand#44 |MEDIUM ANODIZED TIN | 3| 4 +Brand#44 |MEDIUM ANODIZED TIN | 14| 4 +Brand#44 |MEDIUM ANODIZED TIN | 19| 4 +Brand#44 |MEDIUM ANODIZED TIN | 23| 4 +Brand#44 |MEDIUM ANODIZED TIN | 36| 4 +Brand#44 |MEDIUM BRUSHED BRASS | 14| 4 +Brand#44 |MEDIUM BRUSHED BRASS | 19| 4 +Brand#44 |MEDIUM BRUSHED BRASS | 23| 4 +Brand#44 |MEDIUM BRUSHED COPPER | 45| 4 +Brand#44 |MEDIUM BRUSHED NICKEL | 9| 4 +Brand#44 |MEDIUM BRUSHED NICKEL | 19| 4 +Brand#44 |MEDIUM BRUSHED STEEL | 9| 4 +Brand#44 |MEDIUM BRUSHED STEEL | 23| 4 +Brand#44 |MEDIUM BRUSHED STEEL | 49| 4 +Brand#44 |MEDIUM BRUSHED TIN | 3| 4 +Brand#44 |MEDIUM BRUSHED TIN | 23| 4 +Brand#44 |MEDIUM BRUSHED TIN | 49| 4 +Brand#44 |MEDIUM BURNISHED BRASS | 14| 4 +Brand#44 |MEDIUM BURNISHED BRASS | 19| 4 +Brand#44 |MEDIUM BURNISHED BRASS | 23| 4 +Brand#44 |MEDIUM BURNISHED BRASS | 49| 4 +Brand#44 |MEDIUM BURNISHED COPPER | 14| 4 +Brand#44 |MEDIUM BURNISHED COPPER | 23| 4 +Brand#44 |MEDIUM BURNISHED NICKEL | 9| 4 +Brand#44 |MEDIUM BURNISHED NICKEL | 19| 4 +Brand#44 |MEDIUM BURNISHED STEEL | 9| 4 +Brand#44 |MEDIUM BURNISHED STEEL | 36| 4 +Brand#44 |MEDIUM BURNISHED STEEL | 45| 4 +Brand#44 |MEDIUM BURNISHED TIN | 3| 4 +Brand#44 |MEDIUM BURNISHED TIN | 9| 4 +Brand#44 |MEDIUM BURNISHED TIN | 14| 4 +Brand#44 |MEDIUM BURNISHED TIN | 36| 4 +Brand#44 |MEDIUM PLATED COPPER | 14| 4 +Brand#44 |MEDIUM PLATED COPPER | 23| 4 +Brand#44 |MEDIUM PLATED COPPER | 36| 4 +Brand#44 |MEDIUM PLATED NICKEL | 9| 4 +Brand#44 |MEDIUM PLATED NICKEL | 14| 4 +Brand#44 |MEDIUM PLATED NICKEL | 19| 4 +Brand#44 |MEDIUM PLATED NICKEL | 36| 4 +Brand#44 |MEDIUM PLATED STEEL | 3| 4 +Brand#44 |MEDIUM PLATED STEEL | 36| 4 +Brand#44 |MEDIUM PLATED TIN | 19| 4 +Brand#44 |MEDIUM PLATED TIN | 45| 4 +Brand#44 |PROMO ANODIZED BRASS | 23| 4 +Brand#44 |PROMO ANODIZED BRASS | 45| 4 +Brand#44 |PROMO ANODIZED COPPER | 3| 4 +Brand#44 |PROMO ANODIZED COPPER | 9| 4 +Brand#44 |PROMO ANODIZED COPPER | 14| 4 +Brand#44 |PROMO ANODIZED COPPER | 49| 4 +Brand#44 |PROMO ANODIZED NICKEL | 3| 4 +Brand#44 |PROMO ANODIZED NICKEL | 49| 4 +Brand#44 |PROMO ANODIZED STEEL | 14| 4 +Brand#44 |PROMO ANODIZED STEEL | 19| 4 +Brand#44 |PROMO ANODIZED STEEL | 45| 4 +Brand#44 |PROMO ANODIZED TIN | 9| 4 +Brand#44 |PROMO ANODIZED TIN | 14| 4 +Brand#44 |PROMO ANODIZED TIN | 36| 4 +Brand#44 |PROMO ANODIZED TIN | 49| 4 +Brand#44 |PROMO BRUSHED BRASS | 14| 4 +Brand#44 |PROMO BRUSHED BRASS | 23| 4 +Brand#44 |PROMO BRUSHED BRASS | 36| 4 +Brand#44 |PROMO BRUSHED BRASS | 45| 4 +Brand#44 |PROMO BRUSHED BRASS | 49| 4 +Brand#44 |PROMO BRUSHED COPPER | 14| 4 +Brand#44 |PROMO BRUSHED COPPER | 19| 4 +Brand#44 |PROMO BRUSHED COPPER | 45| 4 +Brand#44 |PROMO BRUSHED COPPER | 49| 4 +Brand#44 |PROMO BRUSHED NICKEL | 9| 4 +Brand#44 |PROMO BRUSHED NICKEL | 36| 4 +Brand#44 |PROMO BRUSHED NICKEL | 49| 4 +Brand#44 |PROMO BRUSHED TIN | 14| 4 +Brand#44 |PROMO BRUSHED TIN | 23| 4 +Brand#44 |PROMO BRUSHED TIN | 36| 4 +Brand#44 |PROMO BURNISHED BRASS | 9| 4 +Brand#44 |PROMO BURNISHED BRASS | 14| 4 +Brand#44 |PROMO BURNISHED BRASS | 23| 4 +Brand#44 |PROMO BURNISHED BRASS | 45| 4 +Brand#44 |PROMO BURNISHED COPPER | 14| 4 +Brand#44 |PROMO BURNISHED COPPER | 19| 4 +Brand#44 |PROMO BURNISHED COPPER | 36| 4 +Brand#44 |PROMO BURNISHED NICKEL | 9| 4 +Brand#44 |PROMO BURNISHED NICKEL | 19| 4 +Brand#44 |PROMO BURNISHED NICKEL | 23| 4 +Brand#44 |PROMO BURNISHED STEEL | 3| 4 +Brand#44 |PROMO BURNISHED STEEL | 36| 4 +Brand#44 |PROMO BURNISHED TIN | 9| 4 +Brand#44 |PROMO BURNISHED TIN | 23| 4 +Brand#44 |PROMO BURNISHED TIN | 36| 4 +Brand#44 |PROMO BURNISHED TIN | 49| 4 +Brand#44 |PROMO PLATED BRASS | 3| 4 +Brand#44 |PROMO PLATED BRASS | 49| 4 +Brand#44 |PROMO PLATED COPPER | 3| 4 +Brand#44 |PROMO PLATED COPPER | 9| 4 +Brand#44 |PROMO PLATED COPPER | 14| 4 +Brand#44 |PROMO PLATED COPPER | 36| 4 +Brand#44 |PROMO PLATED COPPER | 49| 4 +Brand#44 |PROMO PLATED NICKEL | 14| 4 +Brand#44 |PROMO PLATED NICKEL | 49| 4 +Brand#44 |PROMO PLATED STEEL | 3| 4 +Brand#44 |PROMO PLATED STEEL | 9| 4 +Brand#44 |PROMO PLATED STEEL | 19| 4 +Brand#44 |PROMO PLATED STEEL | 45| 4 +Brand#44 |PROMO PLATED TIN | 23| 4 +Brand#44 |PROMO POLISHED BRASS | 3| 4 +Brand#44 |PROMO POLISHED BRASS | 14| 4 +Brand#44 |PROMO POLISHED BRASS | 19| 4 +Brand#44 |PROMO POLISHED BRASS | 49| 4 +Brand#44 |PROMO POLISHED COPPER | 19| 4 +Brand#44 |PROMO POLISHED COPPER | 49| 4 +Brand#44 |PROMO POLISHED NICKEL | 3| 4 +Brand#44 |PROMO POLISHED NICKEL | 23| 4 +Brand#44 |PROMO POLISHED NICKEL | 36| 4 +Brand#44 |PROMO POLISHED NICKEL | 49| 4 +Brand#44 |PROMO POLISHED STEEL | 14| 4 +Brand#44 |PROMO POLISHED STEEL | 23| 4 +Brand#44 |PROMO POLISHED TIN | 9| 4 +Brand#44 |SMALL ANODIZED BRASS | 14| 4 +Brand#44 |SMALL ANODIZED BRASS | 23| 4 +Brand#44 |SMALL ANODIZED COPPER | 36| 4 +Brand#44 |SMALL ANODIZED COPPER | 45| 4 +Brand#44 |SMALL ANODIZED NICKEL | 3| 4 +Brand#44 |SMALL ANODIZED NICKEL | 9| 4 +Brand#44 |SMALL ANODIZED NICKEL | 14| 4 +Brand#44 |SMALL ANODIZED NICKEL | 19| 4 +Brand#44 |SMALL ANODIZED NICKEL | 36| 4 +Brand#44 |SMALL ANODIZED NICKEL | 45| 4 +Brand#44 |SMALL ANODIZED NICKEL | 49| 4 +Brand#44 |SMALL ANODIZED STEEL | 3| 4 +Brand#44 |SMALL ANODIZED STEEL | 23| 4 +Brand#44 |SMALL ANODIZED STEEL | 49| 4 +Brand#44 |SMALL ANODIZED TIN | 3| 4 +Brand#44 |SMALL ANODIZED TIN | 9| 4 +Brand#44 |SMALL ANODIZED TIN | 36| 4 +Brand#44 |SMALL ANODIZED TIN | 49| 4 +Brand#44 |SMALL BRUSHED BRASS | 3| 4 +Brand#44 |SMALL BRUSHED BRASS | 9| 4 +Brand#44 |SMALL BRUSHED BRASS | 36| 4 +Brand#44 |SMALL BRUSHED COPPER | 9| 4 +Brand#44 |SMALL BRUSHED COPPER | 14| 4 +Brand#44 |SMALL BRUSHED NICKEL | 14| 4 +Brand#44 |SMALL BRUSHED NICKEL | 36| 4 +Brand#44 |SMALL BRUSHED NICKEL | 49| 4 +Brand#44 |SMALL BRUSHED STEEL | 3| 4 +Brand#44 |SMALL BRUSHED STEEL | 9| 4 +Brand#44 |SMALL BRUSHED STEEL | 45| 4 +Brand#44 |SMALL BRUSHED STEEL | 49| 4 +Brand#44 |SMALL BRUSHED TIN | 9| 4 +Brand#44 |SMALL BRUSHED TIN | 23| 4 +Brand#44 |SMALL BURNISHED BRASS | 9| 4 +Brand#44 |SMALL BURNISHED BRASS | 14| 4 +Brand#44 |SMALL BURNISHED BRASS | 19| 4 +Brand#44 |SMALL BURNISHED BRASS | 23| 4 +Brand#44 |SMALL BURNISHED BRASS | 45| 4 +Brand#44 |SMALL BURNISHED COPPER | 9| 4 +Brand#44 |SMALL BURNISHED COPPER | 19| 4 +Brand#44 |SMALL BURNISHED COPPER | 36| 4 +Brand#44 |SMALL BURNISHED COPPER | 45| 4 +Brand#44 |SMALL BURNISHED COPPER | 49| 4 +Brand#44 |SMALL BURNISHED NICKEL | 9| 4 +Brand#44 |SMALL BURNISHED NICKEL | 19| 4 +Brand#44 |SMALL BURNISHED NICKEL | 23| 4 +Brand#44 |SMALL BURNISHED NICKEL | 36| 4 +Brand#44 |SMALL BURNISHED STEEL | 45| 4 +Brand#44 |SMALL BURNISHED STEEL | 49| 4 +Brand#44 |SMALL BURNISHED TIN | 19| 4 +Brand#44 |SMALL PLATED BRASS | 9| 4 +Brand#44 |SMALL PLATED BRASS | 14| 4 +Brand#44 |SMALL PLATED BRASS | 45| 4 +Brand#44 |SMALL PLATED COPPER | 9| 4 +Brand#44 |SMALL PLATED COPPER | 19| 4 +Brand#44 |SMALL PLATED COPPER | 23| 4 +Brand#44 |SMALL PLATED COPPER | 36| 4 +Brand#44 |SMALL PLATED COPPER | 49| 4 +Brand#44 |SMALL PLATED NICKEL | 3| 4 +Brand#44 |SMALL PLATED NICKEL | 19| 4 +Brand#44 |SMALL PLATED NICKEL | 23| 4 +Brand#44 |SMALL PLATED STEEL | 23| 4 +Brand#44 |SMALL PLATED STEEL | 36| 4 +Brand#44 |SMALL PLATED TIN | 3| 4 +Brand#44 |SMALL PLATED TIN | 23| 4 +Brand#44 |SMALL PLATED TIN | 45| 4 +Brand#44 |SMALL PLATED TIN | 49| 4 +Brand#44 |SMALL POLISHED BRASS | 14| 4 +Brand#44 |SMALL POLISHED BRASS | 19| 4 +Brand#44 |SMALL POLISHED BRASS | 23| 4 +Brand#44 |SMALL POLISHED BRASS | 36| 4 +Brand#44 |SMALL POLISHED COPPER | 3| 4 +Brand#44 |SMALL POLISHED COPPER | 19| 4 +Brand#44 |SMALL POLISHED COPPER | 45| 4 +Brand#44 |SMALL POLISHED NICKEL | 36| 4 +Brand#44 |SMALL POLISHED STEEL | 23| 4 +Brand#44 |SMALL POLISHED STEEL | 36| 4 +Brand#44 |SMALL POLISHED STEEL | 45| 4 +Brand#44 |SMALL POLISHED STEEL | 49| 4 +Brand#44 |STANDARD ANODIZED BRASS | 23| 4 +Brand#44 |STANDARD ANODIZED BRASS | 36| 4 +Brand#44 |STANDARD ANODIZED COPPER | 14| 4 +Brand#44 |STANDARD ANODIZED COPPER | 23| 4 +Brand#44 |STANDARD ANODIZED COPPER | 36| 4 +Brand#44 |STANDARD ANODIZED NICKEL | 3| 4 +Brand#44 |STANDARD ANODIZED NICKEL | 14| 4 +Brand#44 |STANDARD ANODIZED NICKEL | 23| 4 +Brand#44 |STANDARD ANODIZED NICKEL | 49| 4 +Brand#44 |STANDARD ANODIZED STEEL | 49| 4 +Brand#44 |STANDARD ANODIZED TIN | 3| 4 +Brand#44 |STANDARD ANODIZED TIN | 14| 4 +Brand#44 |STANDARD ANODIZED TIN | 19| 4 +Brand#44 |STANDARD BRUSHED BRASS | 19| 4 +Brand#44 |STANDARD BRUSHED BRASS | 49| 4 +Brand#44 |STANDARD BRUSHED COPPER | 3| 4 +Brand#44 |STANDARD BRUSHED COPPER | 45| 4 +Brand#44 |STANDARD BRUSHED NICKEL | 3| 4 +Brand#44 |STANDARD BRUSHED NICKEL | 19| 4 +Brand#44 |STANDARD BRUSHED NICKEL | 36| 4 +Brand#44 |STANDARD BRUSHED NICKEL | 45| 4 +Brand#44 |STANDARD BRUSHED NICKEL | 49| 4 +Brand#44 |STANDARD BRUSHED STEEL | 9| 4 +Brand#44 |STANDARD BRUSHED STEEL | 14| 4 +Brand#44 |STANDARD BRUSHED STEEL | 36| 4 +Brand#44 |STANDARD BRUSHED TIN | 14| 4 +Brand#44 |STANDARD BRUSHED TIN | 36| 4 +Brand#44 |STANDARD BURNISHED BRASS | 3| 4 +Brand#44 |STANDARD BURNISHED BRASS | 14| 4 +Brand#44 |STANDARD BURNISHED BRASS | 23| 4 +Brand#44 |STANDARD BURNISHED BRASS | 36| 4 +Brand#44 |STANDARD BURNISHED BRASS | 45| 4 +Brand#44 |STANDARD BURNISHED COPPER| 9| 4 +Brand#44 |STANDARD BURNISHED COPPER| 14| 4 +Brand#44 |STANDARD BURNISHED COPPER| 23| 4 +Brand#44 |STANDARD BURNISHED NICKEL| 3| 4 +Brand#44 |STANDARD BURNISHED NICKEL| 36| 4 +Brand#44 |STANDARD BURNISHED NICKEL| 49| 4 +Brand#44 |STANDARD BURNISHED STEEL | 9| 4 +Brand#44 |STANDARD BURNISHED TIN | 3| 4 +Brand#44 |STANDARD BURNISHED TIN | 23| 4 +Brand#44 |STANDARD BURNISHED TIN | 45| 4 +Brand#44 |STANDARD BURNISHED TIN | 49| 4 +Brand#44 |STANDARD PLATED BRASS | 14| 4 +Brand#44 |STANDARD PLATED BRASS | 19| 4 +Brand#44 |STANDARD PLATED BRASS | 23| 4 +Brand#44 |STANDARD PLATED COPPER | 3| 4 +Brand#44 |STANDARD PLATED COPPER | 36| 4 +Brand#44 |STANDARD PLATED NICKEL | 3| 4 +Brand#44 |STANDARD PLATED NICKEL | 9| 4 +Brand#44 |STANDARD PLATED NICKEL | 23| 4 +Brand#44 |STANDARD PLATED NICKEL | 36| 4 +Brand#44 |STANDARD PLATED NICKEL | 49| 4 +Brand#44 |STANDARD PLATED STEEL | 3| 4 +Brand#44 |STANDARD PLATED STEEL | 9| 4 +Brand#44 |STANDARD PLATED STEEL | 14| 4 +Brand#44 |STANDARD PLATED STEEL | 23| 4 +Brand#44 |STANDARD PLATED STEEL | 49| 4 +Brand#44 |STANDARD PLATED TIN | 14| 4 +Brand#44 |STANDARD PLATED TIN | 36| 4 +Brand#44 |STANDARD PLATED TIN | 45| 4 +Brand#44 |STANDARD POLISHED BRASS | 3| 4 +Brand#44 |STANDARD POLISHED BRASS | 9| 4 +Brand#44 |STANDARD POLISHED BRASS | 19| 4 +Brand#44 |STANDARD POLISHED COPPER | 9| 4 +Brand#44 |STANDARD POLISHED NICKEL | 9| 4 +Brand#44 |STANDARD POLISHED NICKEL | 14| 4 +Brand#44 |STANDARD POLISHED NICKEL | 23| 4 +Brand#44 |STANDARD POLISHED NICKEL | 49| 4 +Brand#44 |STANDARD POLISHED STEEL | 3| 4 +Brand#44 |STANDARD POLISHED STEEL | 36| 4 +Brand#44 |STANDARD POLISHED STEEL | 45| 4 +Brand#44 |STANDARD POLISHED TIN | 3| 4 +Brand#44 |STANDARD POLISHED TIN | 49| 4 +Brand#51 |ECONOMY ANODIZED BRASS | 3| 4 +Brand#51 |ECONOMY ANODIZED BRASS | 14| 4 +Brand#51 |ECONOMY ANODIZED BRASS | 23| 4 +Brand#51 |ECONOMY ANODIZED COPPER | 9| 4 +Brand#51 |ECONOMY ANODIZED COPPER | 14| 4 +Brand#51 |ECONOMY ANODIZED COPPER | 36| 4 +Brand#51 |ECONOMY ANODIZED NICKEL | 9| 4 +Brand#51 |ECONOMY ANODIZED NICKEL | 49| 4 +Brand#51 |ECONOMY ANODIZED STEEL | 19| 4 +Brand#51 |ECONOMY ANODIZED STEEL | 23| 4 +Brand#51 |ECONOMY ANODIZED TIN | 3| 4 +Brand#51 |ECONOMY ANODIZED TIN | 45| 4 +Brand#51 |ECONOMY ANODIZED TIN | 49| 4 +Brand#51 |ECONOMY BRUSHED BRASS | 9| 4 +Brand#51 |ECONOMY BRUSHED BRASS | 14| 4 +Brand#51 |ECONOMY BRUSHED BRASS | 19| 4 +Brand#51 |ECONOMY BRUSHED BRASS | 23| 4 +Brand#51 |ECONOMY BRUSHED BRASS | 36| 4 +Brand#51 |ECONOMY BRUSHED BRASS | 45| 4 +Brand#51 |ECONOMY BRUSHED COPPER | 9| 4 +Brand#51 |ECONOMY BRUSHED COPPER | 19| 4 +Brand#51 |ECONOMY BRUSHED NICKEL | 3| 4 +Brand#51 |ECONOMY BRUSHED NICKEL | 23| 4 +Brand#51 |ECONOMY BRUSHED NICKEL | 45| 4 +Brand#51 |ECONOMY BRUSHED STEEL | 3| 4 +Brand#51 |ECONOMY BRUSHED STEEL | 19| 4 +Brand#51 |ECONOMY BRUSHED TIN | 3| 4 +Brand#51 |ECONOMY BRUSHED TIN | 9| 4 +Brand#51 |ECONOMY BRUSHED TIN | 14| 4 +Brand#51 |ECONOMY BRUSHED TIN | 49| 4 +Brand#51 |ECONOMY BURNISHED BRASS | 9| 4 +Brand#51 |ECONOMY BURNISHED BRASS | 19| 4 +Brand#51 |ECONOMY BURNISHED BRASS | 45| 4 +Brand#51 |ECONOMY BURNISHED BRASS | 49| 4 +Brand#51 |ECONOMY BURNISHED COPPER | 3| 4 +Brand#51 |ECONOMY BURNISHED COPPER | 9| 4 +Brand#51 |ECONOMY BURNISHED COPPER | 14| 4 +Brand#51 |ECONOMY BURNISHED COPPER | 19| 4 +Brand#51 |ECONOMY BURNISHED COPPER | 36| 4 +Brand#51 |ECONOMY BURNISHED COPPER | 49| 4 +Brand#51 |ECONOMY BURNISHED NICKEL | 3| 4 +Brand#51 |ECONOMY BURNISHED NICKEL | 14| 4 +Brand#51 |ECONOMY BURNISHED NICKEL | 23| 4 +Brand#51 |ECONOMY BURNISHED NICKEL | 45| 4 +Brand#51 |ECONOMY BURNISHED STEEL | 3| 4 +Brand#51 |ECONOMY BURNISHED STEEL | 45| 4 +Brand#51 |ECONOMY BURNISHED STEEL | 49| 4 +Brand#51 |ECONOMY BURNISHED TIN | 9| 4 +Brand#51 |ECONOMY BURNISHED TIN | 19| 4 +Brand#51 |ECONOMY BURNISHED TIN | 49| 4 +Brand#51 |ECONOMY PLATED BRASS | 14| 4 +Brand#51 |ECONOMY PLATED BRASS | 19| 4 +Brand#51 |ECONOMY PLATED BRASS | 49| 4 +Brand#51 |ECONOMY PLATED COPPER | 3| 4 +Brand#51 |ECONOMY PLATED COPPER | 9| 4 +Brand#51 |ECONOMY PLATED COPPER | 14| 4 +Brand#51 |ECONOMY PLATED COPPER | 19| 4 +Brand#51 |ECONOMY PLATED STEEL | 3| 4 +Brand#51 |ECONOMY PLATED STEEL | 14| 4 +Brand#51 |ECONOMY PLATED STEEL | 36| 4 +Brand#51 |ECONOMY PLATED STEEL | 45| 4 +Brand#51 |ECONOMY PLATED STEEL | 49| 4 +Brand#51 |ECONOMY POLISHED BRASS | 3| 4 +Brand#51 |ECONOMY POLISHED BRASS | 9| 4 +Brand#51 |ECONOMY POLISHED BRASS | 19| 4 +Brand#51 |ECONOMY POLISHED COPPER | 3| 4 +Brand#51 |ECONOMY POLISHED COPPER | 14| 4 +Brand#51 |ECONOMY POLISHED COPPER | 19| 4 +Brand#51 |ECONOMY POLISHED COPPER | 45| 4 +Brand#51 |ECONOMY POLISHED COPPER | 49| 4 +Brand#51 |ECONOMY POLISHED NICKEL | 45| 4 +Brand#51 |ECONOMY POLISHED NICKEL | 49| 4 +Brand#51 |ECONOMY POLISHED STEEL | 23| 4 +Brand#51 |ECONOMY POLISHED STEEL | 49| 4 +Brand#51 |ECONOMY POLISHED TIN | 3| 4 +Brand#51 |ECONOMY POLISHED TIN | 9| 4 +Brand#51 |ECONOMY POLISHED TIN | 23| 4 +Brand#51 |ECONOMY POLISHED TIN | 45| 4 +Brand#51 |ECONOMY POLISHED TIN | 49| 4 +Brand#51 |LARGE ANODIZED BRASS | 9| 4 +Brand#51 |LARGE ANODIZED BRASS | 14| 4 +Brand#51 |LARGE ANODIZED BRASS | 36| 4 +Brand#51 |LARGE ANODIZED BRASS | 45| 4 +Brand#51 |LARGE ANODIZED BRASS | 49| 4 +Brand#51 |LARGE ANODIZED COPPER | 3| 4 +Brand#51 |LARGE ANODIZED COPPER | 9| 4 +Brand#51 |LARGE ANODIZED NICKEL | 3| 4 +Brand#51 |LARGE ANODIZED NICKEL | 9| 4 +Brand#51 |LARGE ANODIZED NICKEL | 23| 4 +Brand#51 |LARGE ANODIZED STEEL | 14| 4 +Brand#51 |LARGE ANODIZED STEEL | 19| 4 +Brand#51 |LARGE ANODIZED STEEL | 23| 4 +Brand#51 |LARGE ANODIZED STEEL | 36| 4 +Brand#51 |LARGE ANODIZED STEEL | 49| 4 +Brand#51 |LARGE ANODIZED TIN | 36| 4 +Brand#51 |LARGE BRUSHED BRASS | 3| 4 +Brand#51 |LARGE BRUSHED BRASS | 14| 4 +Brand#51 |LARGE BRUSHED BRASS | 19| 4 +Brand#51 |LARGE BRUSHED BRASS | 36| 4 +Brand#51 |LARGE BRUSHED COPPER | 3| 4 +Brand#51 |LARGE BRUSHED COPPER | 45| 4 +Brand#51 |LARGE BRUSHED NICKEL | 3| 4 +Brand#51 |LARGE BRUSHED NICKEL | 23| 4 +Brand#51 |LARGE BRUSHED STEEL | 3| 4 +Brand#51 |LARGE BRUSHED STEEL | 9| 4 +Brand#51 |LARGE BRUSHED STEEL | 14| 4 +Brand#51 |LARGE BRUSHED STEEL | 23| 4 +Brand#51 |LARGE BRUSHED TIN | 3| 4 +Brand#51 |LARGE BRUSHED TIN | 9| 4 +Brand#51 |LARGE BRUSHED TIN | 19| 4 +Brand#51 |LARGE BRUSHED TIN | 23| 4 +Brand#51 |LARGE BRUSHED TIN | 36| 4 +Brand#51 |LARGE BRUSHED TIN | 45| 4 +Brand#51 |LARGE BURNISHED BRASS | 9| 4 +Brand#51 |LARGE BURNISHED BRASS | 19| 4 +Brand#51 |LARGE BURNISHED BRASS | 23| 4 +Brand#51 |LARGE BURNISHED COPPER | 19| 4 +Brand#51 |LARGE BURNISHED COPPER | 45| 4 +Brand#51 |LARGE BURNISHED NICKEL | 9| 4 +Brand#51 |LARGE BURNISHED NICKEL | 14| 4 +Brand#51 |LARGE BURNISHED NICKEL | 19| 4 +Brand#51 |LARGE BURNISHED NICKEL | 36| 4 +Brand#51 |LARGE BURNISHED NICKEL | 45| 4 +Brand#51 |LARGE BURNISHED NICKEL | 49| 4 +Brand#51 |LARGE BURNISHED STEEL | 19| 4 +Brand#51 |LARGE BURNISHED STEEL | 45| 4 +Brand#51 |LARGE BURNISHED TIN | 3| 4 +Brand#51 |LARGE BURNISHED TIN | 9| 4 +Brand#51 |LARGE BURNISHED TIN | 14| 4 +Brand#51 |LARGE BURNISHED TIN | 36| 4 +Brand#51 |LARGE BURNISHED TIN | 49| 4 +Brand#51 |LARGE PLATED BRASS | 9| 4 +Brand#51 |LARGE PLATED BRASS | 14| 4 +Brand#51 |LARGE PLATED BRASS | 19| 4 +Brand#51 |LARGE PLATED COPPER | 3| 4 +Brand#51 |LARGE PLATED COPPER | 14| 4 +Brand#51 |LARGE PLATED COPPER | 19| 4 +Brand#51 |LARGE PLATED NICKEL | 14| 4 +Brand#51 |LARGE PLATED STEEL | 9| 4 +Brand#51 |LARGE PLATED STEEL | 14| 4 +Brand#51 |LARGE PLATED STEEL | 19| 4 +Brand#51 |LARGE PLATED STEEL | 23| 4 +Brand#51 |LARGE PLATED TIN | 45| 4 +Brand#51 |LARGE PLATED TIN | 49| 4 +Brand#51 |LARGE POLISHED BRASS | 14| 4 +Brand#51 |LARGE POLISHED BRASS | 19| 4 +Brand#51 |LARGE POLISHED BRASS | 49| 4 +Brand#51 |LARGE POLISHED COPPER | 9| 4 +Brand#51 |LARGE POLISHED COPPER | 19| 4 +Brand#51 |LARGE POLISHED COPPER | 49| 4 +Brand#51 |LARGE POLISHED NICKEL | 3| 4 +Brand#51 |LARGE POLISHED NICKEL | 23| 4 +Brand#51 |LARGE POLISHED NICKEL | 36| 4 +Brand#51 |LARGE POLISHED NICKEL | 45| 4 +Brand#51 |LARGE POLISHED STEEL | 19| 4 +Brand#51 |LARGE POLISHED STEEL | 23| 4 +Brand#51 |LARGE POLISHED STEEL | 36| 4 +Brand#51 |LARGE POLISHED TIN | 19| 4 +Brand#51 |MEDIUM ANODIZED BRASS | 14| 4 +Brand#51 |MEDIUM ANODIZED BRASS | 19| 4 +Brand#51 |MEDIUM ANODIZED BRASS | 36| 4 +Brand#51 |MEDIUM ANODIZED COPPER | 19| 4 +Brand#51 |MEDIUM ANODIZED COPPER | 36| 4 +Brand#51 |MEDIUM ANODIZED STEEL | 19| 4 +Brand#51 |MEDIUM ANODIZED STEEL | 45| 4 +Brand#51 |MEDIUM ANODIZED TIN | 49| 4 +Brand#51 |MEDIUM BRUSHED BRASS | 3| 4 +Brand#51 |MEDIUM BRUSHED BRASS | 23| 4 +Brand#51 |MEDIUM BRUSHED BRASS | 36| 4 +Brand#51 |MEDIUM BRUSHED BRASS | 45| 4 +Brand#51 |MEDIUM BRUSHED COPPER | 9| 4 +Brand#51 |MEDIUM BRUSHED COPPER | 14| 4 +Brand#51 |MEDIUM BRUSHED COPPER | 23| 4 +Brand#51 |MEDIUM BRUSHED COPPER | 36| 4 +Brand#51 |MEDIUM BRUSHED NICKEL | 3| 4 +Brand#51 |MEDIUM BRUSHED NICKEL | 9| 4 +Brand#51 |MEDIUM BRUSHED NICKEL | 19| 4 +Brand#51 |MEDIUM BRUSHED NICKEL | 23| 4 +Brand#51 |MEDIUM BRUSHED NICKEL | 36| 4 +Brand#51 |MEDIUM BRUSHED STEEL | 3| 4 +Brand#51 |MEDIUM BRUSHED STEEL | 9| 4 +Brand#51 |MEDIUM BRUSHED STEEL | 19| 4 +Brand#51 |MEDIUM BRUSHED STEEL | 45| 4 +Brand#51 |MEDIUM BRUSHED TIN | 3| 4 +Brand#51 |MEDIUM BRUSHED TIN | 19| 4 +Brand#51 |MEDIUM BRUSHED TIN | 36| 4 +Brand#51 |MEDIUM BURNISHED BRASS | 3| 4 +Brand#51 |MEDIUM BURNISHED BRASS | 19| 4 +Brand#51 |MEDIUM BURNISHED BRASS | 23| 4 +Brand#51 |MEDIUM BURNISHED COPPER | 14| 4 +Brand#51 |MEDIUM BURNISHED COPPER | 23| 4 +Brand#51 |MEDIUM BURNISHED COPPER | 36| 4 +Brand#51 |MEDIUM BURNISHED COPPER | 45| 4 +Brand#51 |MEDIUM BURNISHED COPPER | 49| 4 +Brand#51 |MEDIUM BURNISHED NICKEL | 3| 4 +Brand#51 |MEDIUM BURNISHED NICKEL | 19| 4 +Brand#51 |MEDIUM BURNISHED NICKEL | 45| 4 +Brand#51 |MEDIUM BURNISHED STEEL | 19| 4 +Brand#51 |MEDIUM BURNISHED STEEL | 36| 4 +Brand#51 |MEDIUM BURNISHED TIN | 3| 4 +Brand#51 |MEDIUM BURNISHED TIN | 14| 4 +Brand#51 |MEDIUM BURNISHED TIN | 19| 4 +Brand#51 |MEDIUM BURNISHED TIN | 23| 4 +Brand#51 |MEDIUM BURNISHED TIN | 36| 4 +Brand#51 |MEDIUM BURNISHED TIN | 45| 4 +Brand#51 |MEDIUM PLATED BRASS | 3| 4 +Brand#51 |MEDIUM PLATED BRASS | 23| 4 +Brand#51 |MEDIUM PLATED BRASS | 36| 4 +Brand#51 |MEDIUM PLATED COPPER | 3| 4 +Brand#51 |MEDIUM PLATED COPPER | 14| 4 +Brand#51 |MEDIUM PLATED COPPER | 23| 4 +Brand#51 |MEDIUM PLATED COPPER | 36| 4 +Brand#51 |MEDIUM PLATED COPPER | 45| 4 +Brand#51 |MEDIUM PLATED COPPER | 49| 4 +Brand#51 |MEDIUM PLATED NICKEL | 19| 4 +Brand#51 |MEDIUM PLATED STEEL | 14| 4 +Brand#51 |MEDIUM PLATED STEEL | 19| 4 +Brand#51 |MEDIUM PLATED STEEL | 23| 4 +Brand#51 |MEDIUM PLATED STEEL | 36| 4 +Brand#51 |MEDIUM PLATED STEEL | 45| 4 +Brand#51 |MEDIUM PLATED TIN | 3| 4 +Brand#51 |MEDIUM PLATED TIN | 9| 4 +Brand#51 |MEDIUM PLATED TIN | 19| 4 +Brand#51 |MEDIUM PLATED TIN | 49| 4 +Brand#51 |PROMO ANODIZED BRASS | 45| 4 +Brand#51 |PROMO ANODIZED BRASS | 49| 4 +Brand#51 |PROMO ANODIZED COPPER | 3| 4 +Brand#51 |PROMO ANODIZED COPPER | 9| 4 +Brand#51 |PROMO ANODIZED COPPER | 14| 4 +Brand#51 |PROMO ANODIZED NICKEL | 3| 4 +Brand#51 |PROMO ANODIZED NICKEL | 36| 4 +Brand#51 |PROMO ANODIZED STEEL | 3| 4 +Brand#51 |PROMO ANODIZED STEEL | 23| 4 +Brand#51 |PROMO ANODIZED TIN | 3| 4 +Brand#51 |PROMO ANODIZED TIN | 45| 4 +Brand#51 |PROMO BRUSHED BRASS | 3| 4 +Brand#51 |PROMO BRUSHED BRASS | 14| 4 +Brand#51 |PROMO BRUSHED BRASS | 36| 4 +Brand#51 |PROMO BRUSHED BRASS | 49| 4 +Brand#51 |PROMO BRUSHED COPPER | 3| 4 +Brand#51 |PROMO BRUSHED COPPER | 9| 4 +Brand#51 |PROMO BRUSHED COPPER | 14| 4 +Brand#51 |PROMO BRUSHED COPPER | 45| 4 +Brand#51 |PROMO BRUSHED NICKEL | 45| 4 +Brand#51 |PROMO BRUSHED STEEL | 3| 4 +Brand#51 |PROMO BRUSHED STEEL | 14| 4 +Brand#51 |PROMO BRUSHED STEEL | 23| 4 +Brand#51 |PROMO BRUSHED STEEL | 45| 4 +Brand#51 |PROMO BRUSHED TIN | 9| 4 +Brand#51 |PROMO BRUSHED TIN | 19| 4 +Brand#51 |PROMO BRUSHED TIN | 49| 4 +Brand#51 |PROMO BURNISHED BRASS | 36| 4 +Brand#51 |PROMO BURNISHED BRASS | 49| 4 +Brand#51 |PROMO BURNISHED COPPER | 14| 4 +Brand#51 |PROMO BURNISHED COPPER | 36| 4 +Brand#51 |PROMO BURNISHED COPPER | 45| 4 +Brand#51 |PROMO BURNISHED COPPER | 49| 4 +Brand#51 |PROMO BURNISHED NICKEL | 9| 4 +Brand#51 |PROMO BURNISHED NICKEL | 19| 4 +Brand#51 |PROMO BURNISHED NICKEL | 23| 4 +Brand#51 |PROMO BURNISHED NICKEL | 36| 4 +Brand#51 |PROMO BURNISHED NICKEL | 45| 4 +Brand#51 |PROMO BURNISHED NICKEL | 49| 4 +Brand#51 |PROMO BURNISHED STEEL | 3| 4 +Brand#51 |PROMO BURNISHED STEEL | 19| 4 +Brand#51 |PROMO BURNISHED STEEL | 45| 4 +Brand#51 |PROMO BURNISHED TIN | 49| 4 +Brand#51 |PROMO PLATED BRASS | 3| 4 +Brand#51 |PROMO PLATED BRASS | 23| 4 +Brand#51 |PROMO PLATED BRASS | 45| 4 +Brand#51 |PROMO PLATED COPPER | 3| 4 +Brand#51 |PROMO PLATED COPPER | 45| 4 +Brand#51 |PROMO PLATED COPPER | 49| 4 +Brand#51 |PROMO PLATED NICKEL | 3| 4 +Brand#51 |PROMO PLATED STEEL | 19| 4 +Brand#51 |PROMO PLATED TIN | 23| 4 +Brand#51 |PROMO PLATED TIN | 36| 4 +Brand#51 |PROMO PLATED TIN | 45| 4 +Brand#51 |PROMO POLISHED BRASS | 14| 4 +Brand#51 |PROMO POLISHED BRASS | 36| 4 +Brand#51 |PROMO POLISHED BRASS | 45| 4 +Brand#51 |PROMO POLISHED COPPER | 23| 4 +Brand#51 |PROMO POLISHED COPPER | 45| 4 +Brand#51 |PROMO POLISHED COPPER | 49| 4 +Brand#51 |PROMO POLISHED NICKEL | 9| 4 +Brand#51 |PROMO POLISHED NICKEL | 14| 4 +Brand#51 |PROMO POLISHED NICKEL | 36| 4 +Brand#51 |PROMO POLISHED NICKEL | 45| 4 +Brand#51 |PROMO POLISHED NICKEL | 49| 4 +Brand#51 |PROMO POLISHED STEEL | 3| 4 +Brand#51 |PROMO POLISHED STEEL | 9| 4 +Brand#51 |PROMO POLISHED STEEL | 14| 4 +Brand#51 |PROMO POLISHED STEEL | 23| 4 +Brand#51 |PROMO POLISHED STEEL | 49| 4 +Brand#51 |PROMO POLISHED TIN | 3| 4 +Brand#51 |PROMO POLISHED TIN | 19| 4 +Brand#51 |PROMO POLISHED TIN | 23| 4 +Brand#51 |PROMO POLISHED TIN | 45| 4 +Brand#51 |PROMO POLISHED TIN | 49| 4 +Brand#51 |SMALL ANODIZED BRASS | 3| 4 +Brand#51 |SMALL ANODIZED BRASS | 14| 4 +Brand#51 |SMALL ANODIZED BRASS | 19| 4 +Brand#51 |SMALL ANODIZED BRASS | 36| 4 +Brand#51 |SMALL ANODIZED BRASS | 49| 4 +Brand#51 |SMALL ANODIZED COPPER | 3| 4 +Brand#51 |SMALL ANODIZED COPPER | 14| 4 +Brand#51 |SMALL ANODIZED COPPER | 19| 4 +Brand#51 |SMALL ANODIZED NICKEL | 3| 4 +Brand#51 |SMALL ANODIZED NICKEL | 23| 4 +Brand#51 |SMALL ANODIZED STEEL | 9| 4 +Brand#51 |SMALL ANODIZED STEEL | 19| 4 +Brand#51 |SMALL ANODIZED TIN | 23| 4 +Brand#51 |SMALL ANODIZED TIN | 36| 4 +Brand#51 |SMALL ANODIZED TIN | 45| 4 +Brand#51 |SMALL ANODIZED TIN | 49| 4 +Brand#51 |SMALL BRUSHED BRASS | 14| 4 +Brand#51 |SMALL BRUSHED BRASS | 23| 4 +Brand#51 |SMALL BRUSHED BRASS | 36| 4 +Brand#51 |SMALL BRUSHED COPPER | 14| 4 +Brand#51 |SMALL BRUSHED COPPER | 23| 4 +Brand#51 |SMALL BRUSHED NICKEL | 19| 4 +Brand#51 |SMALL BRUSHED NICKEL | 49| 4 +Brand#51 |SMALL BRUSHED STEEL | 19| 4 +Brand#51 |SMALL BRUSHED STEEL | 23| 4 +Brand#51 |SMALL BRUSHED STEEL | 45| 4 +Brand#51 |SMALL BRUSHED STEEL | 49| 4 +Brand#51 |SMALL BRUSHED TIN | 3| 4 +Brand#51 |SMALL BRUSHED TIN | 14| 4 +Brand#51 |SMALL BRUSHED TIN | 49| 4 +Brand#51 |SMALL BURNISHED BRASS | 3| 4 +Brand#51 |SMALL BURNISHED BRASS | 45| 4 +Brand#51 |SMALL BURNISHED COPPER | 9| 4 +Brand#51 |SMALL BURNISHED COPPER | 49| 4 +Brand#51 |SMALL BURNISHED NICKEL | 9| 4 +Brand#51 |SMALL BURNISHED NICKEL | 36| 4 +Brand#51 |SMALL BURNISHED STEEL | 3| 4 +Brand#51 |SMALL BURNISHED STEEL | 9| 4 +Brand#51 |SMALL BURNISHED STEEL | 23| 4 +Brand#51 |SMALL BURNISHED TIN | 14| 4 +Brand#51 |SMALL BURNISHED TIN | 19| 4 +Brand#51 |SMALL BURNISHED TIN | 36| 4 +Brand#51 |SMALL BURNISHED TIN | 45| 4 +Brand#51 |SMALL PLATED BRASS | 9| 4 +Brand#51 |SMALL PLATED BRASS | 14| 4 +Brand#51 |SMALL PLATED BRASS | 45| 4 +Brand#51 |SMALL PLATED BRASS | 49| 4 +Brand#51 |SMALL PLATED COPPER | 3| 4 +Brand#51 |SMALL PLATED NICKEL | 3| 4 +Brand#51 |SMALL PLATED NICKEL | 19| 4 +Brand#51 |SMALL PLATED NICKEL | 23| 4 +Brand#51 |SMALL PLATED NICKEL | 45| 4 +Brand#51 |SMALL PLATED STEEL | 3| 4 +Brand#51 |SMALL PLATED STEEL | 14| 4 +Brand#51 |SMALL PLATED STEEL | 23| 4 +Brand#51 |SMALL PLATED TIN | 3| 4 +Brand#51 |SMALL PLATED TIN | 45| 4 +Brand#51 |SMALL PLATED TIN | 49| 4 +Brand#51 |SMALL POLISHED BRASS | 3| 4 +Brand#51 |SMALL POLISHED BRASS | 9| 4 +Brand#51 |SMALL POLISHED BRASS | 14| 4 +Brand#51 |SMALL POLISHED BRASS | 23| 4 +Brand#51 |SMALL POLISHED BRASS | 49| 4 +Brand#51 |SMALL POLISHED COPPER | 9| 4 +Brand#51 |SMALL POLISHED COPPER | 14| 4 +Brand#51 |SMALL POLISHED COPPER | 19| 4 +Brand#51 |SMALL POLISHED COPPER | 49| 4 +Brand#51 |SMALL POLISHED NICKEL | 9| 4 +Brand#51 |SMALL POLISHED NICKEL | 14| 4 +Brand#51 |SMALL POLISHED NICKEL | 36| 4 +Brand#51 |SMALL POLISHED NICKEL | 45| 4 +Brand#51 |SMALL POLISHED NICKEL | 49| 4 +Brand#51 |SMALL POLISHED STEEL | 9| 4 +Brand#51 |SMALL POLISHED STEEL | 19| 4 +Brand#51 |SMALL POLISHED STEEL | 36| 4 +Brand#51 |SMALL POLISHED STEEL | 49| 4 +Brand#51 |SMALL POLISHED TIN | 3| 4 +Brand#51 |SMALL POLISHED TIN | 9| 4 +Brand#51 |SMALL POLISHED TIN | 14| 4 +Brand#51 |SMALL POLISHED TIN | 45| 4 +Brand#51 |STANDARD ANODIZED BRASS | 3| 4 +Brand#51 |STANDARD ANODIZED BRASS | 14| 4 +Brand#51 |STANDARD ANODIZED BRASS | 45| 4 +Brand#51 |STANDARD ANODIZED COPPER | 3| 4 +Brand#51 |STANDARD ANODIZED COPPER | 9| 4 +Brand#51 |STANDARD ANODIZED COPPER | 23| 4 +Brand#51 |STANDARD ANODIZED COPPER | 45| 4 +Brand#51 |STANDARD ANODIZED NICKEL | 14| 4 +Brand#51 |STANDARD ANODIZED STEEL | 3| 4 +Brand#51 |STANDARD ANODIZED STEEL | 14| 4 +Brand#51 |STANDARD ANODIZED STEEL | 23| 4 +Brand#51 |STANDARD ANODIZED STEEL | 45| 4 +Brand#51 |STANDARD ANODIZED TIN | 3| 4 +Brand#51 |STANDARD ANODIZED TIN | 36| 4 +Brand#51 |STANDARD ANODIZED TIN | 49| 4 +Brand#51 |STANDARD BRUSHED BRASS | 3| 4 +Brand#51 |STANDARD BRUSHED BRASS | 14| 4 +Brand#51 |STANDARD BRUSHED BRASS | 23| 4 +Brand#51 |STANDARD BRUSHED BRASS | 49| 4 +Brand#51 |STANDARD BRUSHED COPPER | 9| 4 +Brand#51 |STANDARD BRUSHED COPPER | 14| 4 +Brand#51 |STANDARD BRUSHED COPPER | 49| 4 +Brand#51 |STANDARD BRUSHED NICKEL | 3| 4 +Brand#51 |STANDARD BRUSHED NICKEL | 36| 4 +Brand#51 |STANDARD BRUSHED STEEL | 3| 4 +Brand#51 |STANDARD BRUSHED STEEL | 9| 4 +Brand#51 |STANDARD BRUSHED TIN | 3| 4 +Brand#51 |STANDARD BRUSHED TIN | 14| 4 +Brand#51 |STANDARD BRUSHED TIN | 49| 4 +Brand#51 |STANDARD BURNISHED BRASS | 9| 4 +Brand#51 |STANDARD BURNISHED BRASS | 36| 4 +Brand#51 |STANDARD BURNISHED BRASS | 45| 4 +Brand#51 |STANDARD BURNISHED BRASS | 49| 4 +Brand#51 |STANDARD BURNISHED COPPER| 9| 4 +Brand#51 |STANDARD BURNISHED COPPER| 19| 4 +Brand#51 |STANDARD BURNISHED COPPER| 45| 4 +Brand#51 |STANDARD BURNISHED COPPER| 49| 4 +Brand#51 |STANDARD BURNISHED NICKEL| 45| 4 +Brand#51 |STANDARD BURNISHED STEEL | 3| 4 +Brand#51 |STANDARD BURNISHED STEEL | 49| 4 +Brand#51 |STANDARD BURNISHED TIN | 3| 4 +Brand#51 |STANDARD BURNISHED TIN | 23| 4 +Brand#51 |STANDARD BURNISHED TIN | 45| 4 +Brand#51 |STANDARD BURNISHED TIN | 49| 4 +Brand#51 |STANDARD PLATED BRASS | 9| 4 +Brand#51 |STANDARD PLATED BRASS | 14| 4 +Brand#51 |STANDARD PLATED COPPER | 3| 4 +Brand#51 |STANDARD PLATED COPPER | 14| 4 +Brand#51 |STANDARD PLATED COPPER | 23| 4 +Brand#51 |STANDARD PLATED COPPER | 49| 4 +Brand#51 |STANDARD PLATED NICKEL | 3| 4 +Brand#51 |STANDARD PLATED NICKEL | 23| 4 +Brand#51 |STANDARD PLATED NICKEL | 36| 4 +Brand#51 |STANDARD PLATED NICKEL | 45| 4 +Brand#51 |STANDARD PLATED NICKEL | 49| 4 +Brand#51 |STANDARD PLATED STEEL | 3| 4 +Brand#51 |STANDARD PLATED STEEL | 9| 4 +Brand#51 |STANDARD PLATED STEEL | 14| 4 +Brand#51 |STANDARD PLATED STEEL | 23| 4 +Brand#51 |STANDARD PLATED STEEL | 36| 4 +Brand#51 |STANDARD PLATED STEEL | 49| 4 +Brand#51 |STANDARD PLATED TIN | 3| 4 +Brand#51 |STANDARD PLATED TIN | 49| 4 +Brand#51 |STANDARD POLISHED BRASS | 9| 4 +Brand#51 |STANDARD POLISHED BRASS | 14| 4 +Brand#51 |STANDARD POLISHED BRASS | 19| 4 +Brand#51 |STANDARD POLISHED BRASS | 36| 4 +Brand#51 |STANDARD POLISHED BRASS | 49| 4 +Brand#51 |STANDARD POLISHED COPPER | 14| 4 +Brand#51 |STANDARD POLISHED COPPER | 19| 4 +Brand#51 |STANDARD POLISHED COPPER | 23| 4 +Brand#51 |STANDARD POLISHED COPPER | 36| 4 +Brand#51 |STANDARD POLISHED NICKEL | 14| 4 +Brand#51 |STANDARD POLISHED NICKEL | 23| 4 +Brand#51 |STANDARD POLISHED STEEL | 3| 4 +Brand#51 |STANDARD POLISHED STEEL | 23| 4 +Brand#51 |STANDARD POLISHED TIN | 9| 4 +Brand#51 |STANDARD POLISHED TIN | 36| 4 +Brand#51 |STANDARD POLISHED TIN | 45| 4 +Brand#52 |ECONOMY ANODIZED BRASS | 23| 4 +Brand#52 |ECONOMY ANODIZED COPPER | 3| 4 +Brand#52 |ECONOMY ANODIZED COPPER | 9| 4 +Brand#52 |ECONOMY ANODIZED COPPER | 14| 4 +Brand#52 |ECONOMY ANODIZED COPPER | 45| 4 +Brand#52 |ECONOMY ANODIZED COPPER | 49| 4 +Brand#52 |ECONOMY ANODIZED NICKEL | 19| 4 +Brand#52 |ECONOMY ANODIZED NICKEL | 36| 4 +Brand#52 |ECONOMY ANODIZED NICKEL | 49| 4 +Brand#52 |ECONOMY ANODIZED STEEL | 9| 4 +Brand#52 |ECONOMY ANODIZED STEEL | 45| 4 +Brand#52 |ECONOMY ANODIZED TIN | 23| 4 +Brand#52 |ECONOMY BRUSHED BRASS | 3| 4 +Brand#52 |ECONOMY BRUSHED BRASS | 23| 4 +Brand#52 |ECONOMY BRUSHED COPPER | 3| 4 +Brand#52 |ECONOMY BRUSHED COPPER | 9| 4 +Brand#52 |ECONOMY BRUSHED COPPER | 14| 4 +Brand#52 |ECONOMY BRUSHED COPPER | 36| 4 +Brand#52 |ECONOMY BRUSHED NICKEL | 14| 4 +Brand#52 |ECONOMY BRUSHED NICKEL | 19| 4 +Brand#52 |ECONOMY BRUSHED NICKEL | 36| 4 +Brand#52 |ECONOMY BRUSHED NICKEL | 49| 4 +Brand#52 |ECONOMY BRUSHED STEEL | 45| 4 +Brand#52 |ECONOMY BRUSHED STEEL | 49| 4 +Brand#52 |ECONOMY BRUSHED TIN | 3| 4 +Brand#52 |ECONOMY BRUSHED TIN | 19| 4 +Brand#52 |ECONOMY BRUSHED TIN | 23| 4 +Brand#52 |ECONOMY BURNISHED BRASS | 3| 4 +Brand#52 |ECONOMY BURNISHED BRASS | 9| 4 +Brand#52 |ECONOMY BURNISHED BRASS | 14| 4 +Brand#52 |ECONOMY BURNISHED BRASS | 19| 4 +Brand#52 |ECONOMY BURNISHED BRASS | 23| 4 +Brand#52 |ECONOMY BURNISHED BRASS | 36| 4 +Brand#52 |ECONOMY BURNISHED BRASS | 45| 4 +Brand#52 |ECONOMY BURNISHED BRASS | 49| 4 +Brand#52 |ECONOMY BURNISHED COPPER | 23| 4 +Brand#52 |ECONOMY BURNISHED COPPER | 36| 4 +Brand#52 |ECONOMY BURNISHED COPPER | 49| 4 +Brand#52 |ECONOMY BURNISHED NICKEL | 3| 4 +Brand#52 |ECONOMY BURNISHED NICKEL | 9| 4 +Brand#52 |ECONOMY BURNISHED STEEL | 3| 4 +Brand#52 |ECONOMY BURNISHED STEEL | 23| 4 +Brand#52 |ECONOMY BURNISHED STEEL | 49| 4 +Brand#52 |ECONOMY BURNISHED TIN | 9| 4 +Brand#52 |ECONOMY BURNISHED TIN | 23| 4 +Brand#52 |ECONOMY BURNISHED TIN | 36| 4 +Brand#52 |ECONOMY BURNISHED TIN | 45| 4 +Brand#52 |ECONOMY PLATED BRASS | 9| 4 +Brand#52 |ECONOMY PLATED COPPER | 14| 4 +Brand#52 |ECONOMY PLATED COPPER | 23| 4 +Brand#52 |ECONOMY PLATED COPPER | 45| 4 +Brand#52 |ECONOMY PLATED NICKEL | 9| 4 +Brand#52 |ECONOMY PLATED NICKEL | 19| 4 +Brand#52 |ECONOMY PLATED STEEL | 9| 4 +Brand#52 |ECONOMY PLATED STEEL | 19| 4 +Brand#52 |ECONOMY PLATED STEEL | 23| 4 +Brand#52 |ECONOMY PLATED STEEL | 36| 4 +Brand#52 |ECONOMY PLATED TIN | 45| 4 +Brand#52 |ECONOMY PLATED TIN | 49| 4 +Brand#52 |ECONOMY POLISHED BRASS | 9| 4 +Brand#52 |ECONOMY POLISHED COPPER | 9| 4 +Brand#52 |ECONOMY POLISHED COPPER | 36| 4 +Brand#52 |ECONOMY POLISHED NICKEL | 3| 4 +Brand#52 |ECONOMY POLISHED NICKEL | 9| 4 +Brand#52 |ECONOMY POLISHED NICKEL | 36| 4 +Brand#52 |ECONOMY POLISHED NICKEL | 49| 4 +Brand#52 |ECONOMY POLISHED STEEL | 14| 4 +Brand#52 |ECONOMY POLISHED STEEL | 19| 4 +Brand#52 |ECONOMY POLISHED STEEL | 23| 4 +Brand#52 |ECONOMY POLISHED STEEL | 36| 4 +Brand#52 |ECONOMY POLISHED TIN | 3| 4 +Brand#52 |ECONOMY POLISHED TIN | 9| 4 +Brand#52 |LARGE ANODIZED BRASS | 19| 4 +Brand#52 |LARGE ANODIZED BRASS | 36| 4 +Brand#52 |LARGE ANODIZED BRASS | 49| 4 +Brand#52 |LARGE ANODIZED COPPER | 3| 4 +Brand#52 |LARGE ANODIZED COPPER | 9| 4 +Brand#52 |LARGE ANODIZED COPPER | 19| 4 +Brand#52 |LARGE ANODIZED COPPER | 23| 4 +Brand#52 |LARGE ANODIZED COPPER | 36| 4 +Brand#52 |LARGE ANODIZED NICKEL | 9| 4 +Brand#52 |LARGE ANODIZED NICKEL | 14| 4 +Brand#52 |LARGE ANODIZED NICKEL | 19| 4 +Brand#52 |LARGE ANODIZED NICKEL | 49| 4 +Brand#52 |LARGE ANODIZED STEEL | 3| 4 +Brand#52 |LARGE ANODIZED STEEL | 14| 4 +Brand#52 |LARGE ANODIZED TIN | 19| 4 +Brand#52 |LARGE ANODIZED TIN | 23| 4 +Brand#52 |LARGE ANODIZED TIN | 45| 4 +Brand#52 |LARGE ANODIZED TIN | 49| 4 +Brand#52 |LARGE BRUSHED BRASS | 9| 4 +Brand#52 |LARGE BRUSHED BRASS | 36| 4 +Brand#52 |LARGE BRUSHED COPPER | 9| 4 +Brand#52 |LARGE BRUSHED COPPER | 19| 4 +Brand#52 |LARGE BRUSHED COPPER | 45| 4 +Brand#52 |LARGE BRUSHED NICKEL | 3| 4 +Brand#52 |LARGE BRUSHED NICKEL | 9| 4 +Brand#52 |LARGE BRUSHED NICKEL | 19| 4 +Brand#52 |LARGE BRUSHED NICKEL | 23| 4 +Brand#52 |LARGE BRUSHED NICKEL | 45| 4 +Brand#52 |LARGE BRUSHED NICKEL | 49| 4 +Brand#52 |LARGE BRUSHED STEEL | 9| 4 +Brand#52 |LARGE BRUSHED STEEL | 45| 4 +Brand#52 |LARGE BRUSHED STEEL | 49| 4 +Brand#52 |LARGE BRUSHED TIN | 3| 4 +Brand#52 |LARGE BRUSHED TIN | 14| 4 +Brand#52 |LARGE BRUSHED TIN | 36| 4 +Brand#52 |LARGE BURNISHED BRASS | 3| 4 +Brand#52 |LARGE BURNISHED BRASS | 9| 4 +Brand#52 |LARGE BURNISHED BRASS | 23| 4 +Brand#52 |LARGE BURNISHED BRASS | 45| 4 +Brand#52 |LARGE BURNISHED COPPER | 36| 4 +Brand#52 |LARGE BURNISHED COPPER | 49| 4 +Brand#52 |LARGE BURNISHED NICKEL | 14| 4 +Brand#52 |LARGE BURNISHED NICKEL | 19| 4 +Brand#52 |LARGE BURNISHED NICKEL | 36| 4 +Brand#52 |LARGE BURNISHED NICKEL | 45| 4 +Brand#52 |LARGE BURNISHED STEEL | 36| 4 +Brand#52 |LARGE BURNISHED TIN | 9| 4 +Brand#52 |LARGE BURNISHED TIN | 19| 4 +Brand#52 |LARGE BURNISHED TIN | 36| 4 +Brand#52 |LARGE BURNISHED TIN | 49| 4 +Brand#52 |LARGE PLATED BRASS | 3| 4 +Brand#52 |LARGE PLATED COPPER | 9| 4 +Brand#52 |LARGE PLATED COPPER | 49| 4 +Brand#52 |LARGE PLATED NICKEL | 9| 4 +Brand#52 |LARGE PLATED NICKEL | 36| 4 +Brand#52 |LARGE PLATED STEEL | 9| 4 +Brand#52 |LARGE PLATED STEEL | 19| 4 +Brand#52 |LARGE PLATED STEEL | 45| 4 +Brand#52 |LARGE PLATED TIN | 9| 4 +Brand#52 |LARGE POLISHED BRASS | 36| 4 +Brand#52 |LARGE POLISHED COPPER | 23| 4 +Brand#52 |LARGE POLISHED COPPER | 45| 4 +Brand#52 |LARGE POLISHED NICKEL | 3| 4 +Brand#52 |LARGE POLISHED NICKEL | 14| 4 +Brand#52 |LARGE POLISHED NICKEL | 19| 4 +Brand#52 |LARGE POLISHED NICKEL | 36| 4 +Brand#52 |LARGE POLISHED NICKEL | 45| 4 +Brand#52 |LARGE POLISHED STEEL | 3| 4 +Brand#52 |LARGE POLISHED STEEL | 9| 4 +Brand#52 |LARGE POLISHED TIN | 3| 4 +Brand#52 |MEDIUM ANODIZED BRASS | 14| 4 +Brand#52 |MEDIUM ANODIZED BRASS | 23| 4 +Brand#52 |MEDIUM ANODIZED BRASS | 45| 4 +Brand#52 |MEDIUM ANODIZED BRASS | 49| 4 +Brand#52 |MEDIUM ANODIZED COPPER | 9| 4 +Brand#52 |MEDIUM ANODIZED NICKEL | 3| 4 +Brand#52 |MEDIUM ANODIZED NICKEL | 19| 4 +Brand#52 |MEDIUM ANODIZED NICKEL | 36| 4 +Brand#52 |MEDIUM ANODIZED STEEL | 3| 4 +Brand#52 |MEDIUM ANODIZED STEEL | 14| 4 +Brand#52 |MEDIUM ANODIZED TIN | 14| 4 +Brand#52 |MEDIUM ANODIZED TIN | 36| 4 +Brand#52 |MEDIUM BRUSHED BRASS | 19| 4 +Brand#52 |MEDIUM BRUSHED COPPER | 19| 4 +Brand#52 |MEDIUM BRUSHED COPPER | 23| 4 +Brand#52 |MEDIUM BRUSHED COPPER | 45| 4 +Brand#52 |MEDIUM BRUSHED NICKEL | 3| 4 +Brand#52 |MEDIUM BRUSHED NICKEL | 9| 4 +Brand#52 |MEDIUM BRUSHED STEEL | 3| 4 +Brand#52 |MEDIUM BRUSHED STEEL | 9| 4 +Brand#52 |MEDIUM BRUSHED STEEL | 19| 4 +Brand#52 |MEDIUM BRUSHED TIN | 3| 4 +Brand#52 |MEDIUM BRUSHED TIN | 45| 4 +Brand#52 |MEDIUM BURNISHED BRASS | 19| 4 +Brand#52 |MEDIUM BURNISHED BRASS | 23| 4 +Brand#52 |MEDIUM BURNISHED BRASS | 36| 4 +Brand#52 |MEDIUM BURNISHED COPPER | 9| 4 +Brand#52 |MEDIUM BURNISHED COPPER | 19| 4 +Brand#52 |MEDIUM BURNISHED COPPER | 45| 4 +Brand#52 |MEDIUM BURNISHED COPPER | 49| 4 +Brand#52 |MEDIUM BURNISHED NICKEL | 3| 4 +Brand#52 |MEDIUM BURNISHED NICKEL | 9| 4 +Brand#52 |MEDIUM BURNISHED STEEL | 9| 4 +Brand#52 |MEDIUM BURNISHED STEEL | 14| 4 +Brand#52 |MEDIUM BURNISHED STEEL | 23| 4 +Brand#52 |MEDIUM BURNISHED STEEL | 36| 4 +Brand#52 |MEDIUM BURNISHED STEEL | 45| 4 +Brand#52 |MEDIUM BURNISHED STEEL | 49| 4 +Brand#52 |MEDIUM BURNISHED TIN | 36| 4 +Brand#52 |MEDIUM PLATED BRASS | 3| 4 +Brand#52 |MEDIUM PLATED BRASS | 9| 4 +Brand#52 |MEDIUM PLATED BRASS | 19| 4 +Brand#52 |MEDIUM PLATED BRASS | 36| 4 +Brand#52 |MEDIUM PLATED BRASS | 45| 4 +Brand#52 |MEDIUM PLATED COPPER | 3| 4 +Brand#52 |MEDIUM PLATED COPPER | 45| 4 +Brand#52 |MEDIUM PLATED COPPER | 49| 4 +Brand#52 |MEDIUM PLATED NICKEL | 9| 4 +Brand#52 |MEDIUM PLATED NICKEL | 14| 4 +Brand#52 |MEDIUM PLATED NICKEL | 45| 4 +Brand#52 |MEDIUM PLATED STEEL | 3| 4 +Brand#52 |MEDIUM PLATED STEEL | 9| 4 +Brand#52 |MEDIUM PLATED STEEL | 14| 4 +Brand#52 |MEDIUM PLATED STEEL | 19| 4 +Brand#52 |MEDIUM PLATED STEEL | 23| 4 +Brand#52 |MEDIUM PLATED STEEL | 45| 4 +Brand#52 |MEDIUM PLATED STEEL | 49| 4 +Brand#52 |MEDIUM PLATED TIN | 19| 4 +Brand#52 |PROMO ANODIZED BRASS | 14| 4 +Brand#52 |PROMO ANODIZED BRASS | 19| 4 +Brand#52 |PROMO ANODIZED COPPER | 3| 4 +Brand#52 |PROMO ANODIZED COPPER | 9| 4 +Brand#52 |PROMO ANODIZED COPPER | 45| 4 +Brand#52 |PROMO ANODIZED NICKEL | 14| 4 +Brand#52 |PROMO ANODIZED NICKEL | 19| 4 +Brand#52 |PROMO ANODIZED NICKEL | 23| 4 +Brand#52 |PROMO ANODIZED NICKEL | 36| 4 +Brand#52 |PROMO ANODIZED NICKEL | 45| 4 +Brand#52 |PROMO ANODIZED STEEL | 3| 4 +Brand#52 |PROMO ANODIZED STEEL | 14| 4 +Brand#52 |PROMO ANODIZED STEEL | 45| 4 +Brand#52 |PROMO ANODIZED TIN | 45| 4 +Brand#52 |PROMO BRUSHED BRASS | 19| 4 +Brand#52 |PROMO BRUSHED BRASS | 23| 4 +Brand#52 |PROMO BRUSHED BRASS | 49| 4 +Brand#52 |PROMO BRUSHED COPPER | 3| 4 +Brand#52 |PROMO BRUSHED COPPER | 9| 4 +Brand#52 |PROMO BRUSHED COPPER | 19| 4 +Brand#52 |PROMO BRUSHED COPPER | 23| 4 +Brand#52 |PROMO BRUSHED COPPER | 36| 4 +Brand#52 |PROMO BRUSHED NICKEL | 14| 4 +Brand#52 |PROMO BRUSHED NICKEL | 36| 4 +Brand#52 |PROMO BRUSHED STEEL | 3| 4 +Brand#52 |PROMO BRUSHED STEEL | 19| 4 +Brand#52 |PROMO BRUSHED STEEL | 45| 4 +Brand#52 |PROMO BRUSHED STEEL | 49| 4 +Brand#52 |PROMO BRUSHED TIN | 3| 4 +Brand#52 |PROMO BRUSHED TIN | 19| 4 +Brand#52 |PROMO BRUSHED TIN | 23| 4 +Brand#52 |PROMO BRUSHED TIN | 45| 4 +Brand#52 |PROMO BRUSHED TIN | 49| 4 +Brand#52 |PROMO BURNISHED BRASS | 45| 4 +Brand#52 |PROMO BURNISHED BRASS | 49| 4 +Brand#52 |PROMO BURNISHED COPPER | 9| 4 +Brand#52 |PROMO BURNISHED COPPER | 36| 4 +Brand#52 |PROMO BURNISHED NICKEL | 45| 4 +Brand#52 |PROMO BURNISHED STEEL | 9| 4 +Brand#52 |PROMO BURNISHED STEEL | 14| 4 +Brand#52 |PROMO BURNISHED STEEL | 23| 4 +Brand#52 |PROMO BURNISHED STEEL | 36| 4 +Brand#52 |PROMO BURNISHED STEEL | 49| 4 +Brand#52 |PROMO BURNISHED TIN | 9| 4 +Brand#52 |PROMO BURNISHED TIN | 14| 4 +Brand#52 |PROMO BURNISHED TIN | 36| 4 +Brand#52 |PROMO BURNISHED TIN | 49| 4 +Brand#52 |PROMO PLATED BRASS | 19| 4 +Brand#52 |PROMO PLATED BRASS | 23| 4 +Brand#52 |PROMO PLATED BRASS | 36| 4 +Brand#52 |PROMO PLATED COPPER | 19| 4 +Brand#52 |PROMO PLATED COPPER | 23| 4 +Brand#52 |PROMO PLATED NICKEL | 3| 4 +Brand#52 |PROMO PLATED STEEL | 36| 4 +Brand#52 |PROMO PLATED STEEL | 45| 4 +Brand#52 |PROMO PLATED TIN | 14| 4 +Brand#52 |PROMO PLATED TIN | 19| 4 +Brand#52 |PROMO PLATED TIN | 49| 4 +Brand#52 |PROMO POLISHED BRASS | 9| 4 +Brand#52 |PROMO POLISHED BRASS | 49| 4 +Brand#52 |PROMO POLISHED COPPER | 3| 4 +Brand#52 |PROMO POLISHED COPPER | 9| 4 +Brand#52 |PROMO POLISHED NICKEL | 3| 4 +Brand#52 |PROMO POLISHED NICKEL | 9| 4 +Brand#52 |PROMO POLISHED NICKEL | 19| 4 +Brand#52 |PROMO POLISHED NICKEL | 36| 4 +Brand#52 |PROMO POLISHED NICKEL | 45| 4 +Brand#52 |PROMO POLISHED STEEL | 3| 4 +Brand#52 |PROMO POLISHED STEEL | 9| 4 +Brand#52 |PROMO POLISHED STEEL | 14| 4 +Brand#52 |PROMO POLISHED STEEL | 36| 4 +Brand#52 |PROMO POLISHED TIN | 36| 4 +Brand#52 |SMALL ANODIZED BRASS | 49| 4 +Brand#52 |SMALL ANODIZED COPPER | 49| 4 +Brand#52 |SMALL ANODIZED NICKEL | 9| 4 +Brand#52 |SMALL ANODIZED NICKEL | 23| 4 +Brand#52 |SMALL ANODIZED NICKEL | 49| 4 +Brand#52 |SMALL ANODIZED STEEL | 9| 4 +Brand#52 |SMALL ANODIZED STEEL | 19| 4 +Brand#52 |SMALL ANODIZED STEEL | 49| 4 +Brand#52 |SMALL ANODIZED TIN | 3| 4 +Brand#52 |SMALL BRUSHED BRASS | 3| 4 +Brand#52 |SMALL BRUSHED BRASS | 23| 4 +Brand#52 |SMALL BRUSHED BRASS | 45| 4 +Brand#52 |SMALL BRUSHED COPPER | 3| 4 +Brand#52 |SMALL BRUSHED COPPER | 19| 4 +Brand#52 |SMALL BRUSHED COPPER | 36| 4 +Brand#52 |SMALL BRUSHED COPPER | 45| 4 +Brand#52 |SMALL BRUSHED COPPER | 49| 4 +Brand#52 |SMALL BRUSHED NICKEL | 3| 4 +Brand#52 |SMALL BRUSHED NICKEL | 23| 4 +Brand#52 |SMALL BRUSHED NICKEL | 36| 4 +Brand#52 |SMALL BRUSHED NICKEL | 45| 4 +Brand#52 |SMALL BRUSHED STEEL | 3| 4 +Brand#52 |SMALL BRUSHED STEEL | 14| 4 +Brand#52 |SMALL BRUSHED STEEL | 23| 4 +Brand#52 |SMALL BRUSHED TIN | 9| 4 +Brand#52 |SMALL BRUSHED TIN | 14| 4 +Brand#52 |SMALL BURNISHED BRASS | 3| 4 +Brand#52 |SMALL BURNISHED BRASS | 23| 4 +Brand#52 |SMALL BURNISHED BRASS | 36| 4 +Brand#52 |SMALL BURNISHED BRASS | 49| 4 +Brand#52 |SMALL BURNISHED COPPER | 3| 4 +Brand#52 |SMALL BURNISHED COPPER | 36| 4 +Brand#52 |SMALL BURNISHED COPPER | 49| 4 +Brand#52 |SMALL BURNISHED NICKEL | 23| 4 +Brand#52 |SMALL BURNISHED STEEL | 36| 4 +Brand#52 |SMALL BURNISHED STEEL | 45| 4 +Brand#52 |SMALL BURNISHED STEEL | 49| 4 +Brand#52 |SMALL BURNISHED TIN | 9| 4 +Brand#52 |SMALL BURNISHED TIN | 19| 4 +Brand#52 |SMALL BURNISHED TIN | 23| 4 +Brand#52 |SMALL BURNISHED TIN | 45| 4 +Brand#52 |SMALL BURNISHED TIN | 49| 4 +Brand#52 |SMALL PLATED BRASS | 14| 4 +Brand#52 |SMALL PLATED BRASS | 19| 4 +Brand#52 |SMALL PLATED COPPER | 9| 4 +Brand#52 |SMALL PLATED COPPER | 45| 4 +Brand#52 |SMALL PLATED NICKEL | 9| 4 +Brand#52 |SMALL PLATED NICKEL | 49| 4 +Brand#52 |SMALL PLATED STEEL | 9| 4 +Brand#52 |SMALL PLATED STEEL | 49| 4 +Brand#52 |SMALL PLATED TIN | 9| 4 +Brand#52 |SMALL PLATED TIN | 45| 4 +Brand#52 |SMALL PLATED TIN | 49| 4 +Brand#52 |SMALL POLISHED BRASS | 9| 4 +Brand#52 |SMALL POLISHED BRASS | 36| 4 +Brand#52 |SMALL POLISHED BRASS | 45| 4 +Brand#52 |SMALL POLISHED COPPER | 3| 4 +Brand#52 |SMALL POLISHED COPPER | 14| 4 +Brand#52 |SMALL POLISHED COPPER | 23| 4 +Brand#52 |SMALL POLISHED NICKEL | 14| 4 +Brand#52 |SMALL POLISHED NICKEL | 23| 4 +Brand#52 |SMALL POLISHED NICKEL | 36| 4 +Brand#52 |SMALL POLISHED NICKEL | 45| 4 +Brand#52 |SMALL POLISHED NICKEL | 49| 4 +Brand#52 |SMALL POLISHED STEEL | 45| 4 +Brand#52 |SMALL POLISHED TIN | 3| 4 +Brand#52 |SMALL POLISHED TIN | 23| 4 +Brand#52 |SMALL POLISHED TIN | 36| 4 +Brand#52 |SMALL POLISHED TIN | 45| 4 +Brand#52 |SMALL POLISHED TIN | 49| 4 +Brand#52 |STANDARD ANODIZED BRASS | 3| 4 +Brand#52 |STANDARD ANODIZED BRASS | 19| 4 +Brand#52 |STANDARD ANODIZED BRASS | 36| 4 +Brand#52 |STANDARD ANODIZED COPPER | 14| 4 +Brand#52 |STANDARD ANODIZED COPPER | 23| 4 +Brand#52 |STANDARD ANODIZED NICKEL | 9| 4 +Brand#52 |STANDARD ANODIZED NICKEL | 19| 4 +Brand#52 |STANDARD ANODIZED NICKEL | 36| 4 +Brand#52 |STANDARD ANODIZED NICKEL | 45| 4 +Brand#52 |STANDARD ANODIZED NICKEL | 49| 4 +Brand#52 |STANDARD ANODIZED STEEL | 9| 4 +Brand#52 |STANDARD ANODIZED STEEL | 36| 4 +Brand#52 |STANDARD ANODIZED STEEL | 45| 4 +Brand#52 |STANDARD ANODIZED TIN | 9| 4 +Brand#52 |STANDARD ANODIZED TIN | 23| 4 +Brand#52 |STANDARD ANODIZED TIN | 36| 4 +Brand#52 |STANDARD ANODIZED TIN | 49| 4 +Brand#52 |STANDARD BRUSHED BRASS | 9| 4 +Brand#52 |STANDARD BRUSHED BRASS | 23| 4 +Brand#52 |STANDARD BRUSHED BRASS | 45| 4 +Brand#52 |STANDARD BRUSHED BRASS | 49| 4 +Brand#52 |STANDARD BRUSHED COPPER | 23| 4 +Brand#52 |STANDARD BRUSHED COPPER | 49| 4 +Brand#52 |STANDARD BRUSHED NICKEL | 45| 4 +Brand#52 |STANDARD BRUSHED STEEL | 3| 4 +Brand#52 |STANDARD BRUSHED STEEL | 19| 4 +Brand#52 |STANDARD BRUSHED STEEL | 36| 4 +Brand#52 |STANDARD BRUSHED STEEL | 45| 4 +Brand#52 |STANDARD BRUSHED TIN | 14| 4 +Brand#52 |STANDARD BRUSHED TIN | 19| 4 +Brand#52 |STANDARD BRUSHED TIN | 23| 4 +Brand#52 |STANDARD BRUSHED TIN | 45| 4 +Brand#52 |STANDARD BURNISHED BRASS | 9| 4 +Brand#52 |STANDARD BURNISHED BRASS | 45| 4 +Brand#52 |STANDARD BURNISHED COPPER| 9| 4 +Brand#52 |STANDARD BURNISHED COPPER| 36| 4 +Brand#52 |STANDARD BURNISHED COPPER| 45| 4 +Brand#52 |STANDARD BURNISHED NICKEL| 9| 4 +Brand#52 |STANDARD BURNISHED NICKEL| 14| 4 +Brand#52 |STANDARD BURNISHED NICKEL| 19| 4 +Brand#52 |STANDARD BURNISHED NICKEL| 23| 4 +Brand#52 |STANDARD BURNISHED NICKEL| 45| 4 +Brand#52 |STANDARD BURNISHED STEEL | 19| 4 +Brand#52 |STANDARD BURNISHED STEEL | 45| 4 +Brand#52 |STANDARD BURNISHED TIN | 3| 4 +Brand#52 |STANDARD BURNISHED TIN | 36| 4 +Brand#52 |STANDARD PLATED BRASS | 3| 4 +Brand#52 |STANDARD PLATED BRASS | 9| 4 +Brand#52 |STANDARD PLATED BRASS | 14| 4 +Brand#52 |STANDARD PLATED COPPER | 14| 4 +Brand#52 |STANDARD PLATED COPPER | 19| 4 +Brand#52 |STANDARD PLATED COPPER | 36| 4 +Brand#52 |STANDARD PLATED NICKEL | 19| 4 +Brand#52 |STANDARD PLATED NICKEL | 23| 4 +Brand#52 |STANDARD PLATED NICKEL | 36| 4 +Brand#52 |STANDARD PLATED NICKEL | 49| 4 +Brand#52 |STANDARD PLATED STEEL | 23| 4 +Brand#52 |STANDARD PLATED STEEL | 49| 4 +Brand#52 |STANDARD PLATED TIN | 19| 4 +Brand#52 |STANDARD POLISHED BRASS | 19| 4 +Brand#52 |STANDARD POLISHED BRASS | 23| 4 +Brand#52 |STANDARD POLISHED COPPER | 3| 4 +Brand#52 |STANDARD POLISHED COPPER | 19| 4 +Brand#52 |STANDARD POLISHED COPPER | 23| 4 +Brand#52 |STANDARD POLISHED COPPER | 45| 4 +Brand#52 |STANDARD POLISHED COPPER | 49| 4 +Brand#52 |STANDARD POLISHED NICKEL | 9| 4 +Brand#52 |STANDARD POLISHED STEEL | 3| 4 +Brand#52 |STANDARD POLISHED STEEL | 14| 4 +Brand#52 |STANDARD POLISHED STEEL | 19| 4 +Brand#52 |STANDARD POLISHED TIN | 9| 4 +Brand#52 |STANDARD POLISHED TIN | 45| 4 +Brand#53 |ECONOMY ANODIZED BRASS | 3| 4 +Brand#53 |ECONOMY ANODIZED BRASS | 14| 4 +Brand#53 |ECONOMY ANODIZED BRASS | 23| 4 +Brand#53 |ECONOMY ANODIZED COPPER | 3| 4 +Brand#53 |ECONOMY ANODIZED COPPER | 9| 4 +Brand#53 |ECONOMY ANODIZED COPPER | 14| 4 +Brand#53 |ECONOMY ANODIZED COPPER | 49| 4 +Brand#53 |ECONOMY ANODIZED NICKEL | 3| 4 +Brand#53 |ECONOMY ANODIZED NICKEL | 23| 4 +Brand#53 |ECONOMY ANODIZED NICKEL | 45| 4 +Brand#53 |ECONOMY ANODIZED NICKEL | 49| 4 +Brand#53 |ECONOMY ANODIZED STEEL | 3| 4 +Brand#53 |ECONOMY ANODIZED STEEL | 19| 4 +Brand#53 |ECONOMY ANODIZED STEEL | 36| 4 +Brand#53 |ECONOMY ANODIZED STEEL | 49| 4 +Brand#53 |ECONOMY ANODIZED TIN | 19| 4 +Brand#53 |ECONOMY ANODIZED TIN | 49| 4 +Brand#53 |ECONOMY BRUSHED BRASS | 9| 4 +Brand#53 |ECONOMY BRUSHED BRASS | 14| 4 +Brand#53 |ECONOMY BRUSHED COPPER | 9| 4 +Brand#53 |ECONOMY BRUSHED COPPER | 14| 4 +Brand#53 |ECONOMY BRUSHED COPPER | 19| 4 +Brand#53 |ECONOMY BRUSHED COPPER | 23| 4 +Brand#53 |ECONOMY BRUSHED COPPER | 36| 4 +Brand#53 |ECONOMY BRUSHED NICKEL | 3| 4 +Brand#53 |ECONOMY BRUSHED NICKEL | 45| 4 +Brand#53 |ECONOMY BRUSHED STEEL | 9| 4 +Brand#53 |ECONOMY BRUSHED STEEL | 14| 4 +Brand#53 |ECONOMY BRUSHED STEEL | 36| 4 +Brand#53 |ECONOMY BRUSHED TIN | 14| 4 +Brand#53 |ECONOMY BRUSHED TIN | 23| 4 +Brand#53 |ECONOMY BRUSHED TIN | 45| 4 +Brand#53 |ECONOMY BRUSHED TIN | 49| 4 +Brand#53 |ECONOMY BURNISHED BRASS | 3| 4 +Brand#53 |ECONOMY BURNISHED BRASS | 14| 4 +Brand#53 |ECONOMY BURNISHED BRASS | 19| 4 +Brand#53 |ECONOMY BURNISHED BRASS | 23| 4 +Brand#53 |ECONOMY BURNISHED BRASS | 36| 4 +Brand#53 |ECONOMY BURNISHED COPPER | 3| 4 +Brand#53 |ECONOMY BURNISHED COPPER | 36| 4 +Brand#53 |ECONOMY BURNISHED COPPER | 49| 4 +Brand#53 |ECONOMY BURNISHED NICKEL | 9| 4 +Brand#53 |ECONOMY BURNISHED NICKEL | 49| 4 +Brand#53 |ECONOMY BURNISHED STEEL | 3| 4 +Brand#53 |ECONOMY BURNISHED STEEL | 9| 4 +Brand#53 |ECONOMY BURNISHED STEEL | 14| 4 +Brand#53 |ECONOMY BURNISHED STEEL | 49| 4 +Brand#53 |ECONOMY BURNISHED TIN | 9| 4 +Brand#53 |ECONOMY BURNISHED TIN | 19| 4 +Brand#53 |ECONOMY BURNISHED TIN | 36| 4 +Brand#53 |ECONOMY BURNISHED TIN | 45| 4 +Brand#53 |ECONOMY PLATED BRASS | 3| 4 +Brand#53 |ECONOMY PLATED BRASS | 49| 4 +Brand#53 |ECONOMY PLATED COPPER | 14| 4 +Brand#53 |ECONOMY PLATED NICKEL | 14| 4 +Brand#53 |ECONOMY PLATED NICKEL | 19| 4 +Brand#53 |ECONOMY PLATED NICKEL | 36| 4 +Brand#53 |ECONOMY PLATED NICKEL | 45| 4 +Brand#53 |ECONOMY PLATED NICKEL | 49| 4 +Brand#53 |ECONOMY PLATED STEEL | 14| 4 +Brand#53 |ECONOMY PLATED STEEL | 19| 4 +Brand#53 |ECONOMY PLATED STEEL | 23| 4 +Brand#53 |ECONOMY PLATED TIN | 36| 4 +Brand#53 |ECONOMY PLATED TIN | 49| 4 +Brand#53 |ECONOMY POLISHED BRASS | 3| 4 +Brand#53 |ECONOMY POLISHED BRASS | 9| 4 +Brand#53 |ECONOMY POLISHED BRASS | 23| 4 +Brand#53 |ECONOMY POLISHED BRASS | 36| 4 +Brand#53 |ECONOMY POLISHED BRASS | 45| 4 +Brand#53 |ECONOMY POLISHED BRASS | 49| 4 +Brand#53 |ECONOMY POLISHED COPPER | 9| 4 +Brand#53 |ECONOMY POLISHED COPPER | 36| 4 +Brand#53 |ECONOMY POLISHED COPPER | 45| 4 +Brand#53 |ECONOMY POLISHED COPPER | 49| 4 +Brand#53 |ECONOMY POLISHED NICKEL | 14| 4 +Brand#53 |ECONOMY POLISHED NICKEL | 19| 4 +Brand#53 |ECONOMY POLISHED NICKEL | 45| 4 +Brand#53 |ECONOMY POLISHED NICKEL | 49| 4 +Brand#53 |ECONOMY POLISHED STEEL | 19| 4 +Brand#53 |ECONOMY POLISHED TIN | 23| 4 +Brand#53 |LARGE ANODIZED BRASS | 3| 4 +Brand#53 |LARGE ANODIZED BRASS | 9| 4 +Brand#53 |LARGE ANODIZED BRASS | 49| 4 +Brand#53 |LARGE ANODIZED COPPER | 3| 4 +Brand#53 |LARGE ANODIZED COPPER | 23| 4 +Brand#53 |LARGE ANODIZED COPPER | 36| 4 +Brand#53 |LARGE ANODIZED NICKEL | 3| 4 +Brand#53 |LARGE ANODIZED NICKEL | 14| 4 +Brand#53 |LARGE ANODIZED NICKEL | 19| 4 +Brand#53 |LARGE ANODIZED NICKEL | 23| 4 +Brand#53 |LARGE ANODIZED NICKEL | 36| 4 +Brand#53 |LARGE ANODIZED NICKEL | 45| 4 +Brand#53 |LARGE ANODIZED NICKEL | 49| 4 +Brand#53 |LARGE ANODIZED STEEL | 9| 4 +Brand#53 |LARGE ANODIZED STEEL | 14| 4 +Brand#53 |LARGE ANODIZED STEEL | 36| 4 +Brand#53 |LARGE ANODIZED TIN | 3| 4 +Brand#53 |LARGE ANODIZED TIN | 14| 4 +Brand#53 |LARGE ANODIZED TIN | 19| 4 +Brand#53 |LARGE BRUSHED BRASS | 3| 4 +Brand#53 |LARGE BRUSHED BRASS | 23| 4 +Brand#53 |LARGE BRUSHED BRASS | 45| 4 +Brand#53 |LARGE BRUSHED COPPER | 3| 4 +Brand#53 |LARGE BRUSHED COPPER | 9| 4 +Brand#53 |LARGE BRUSHED COPPER | 23| 4 +Brand#53 |LARGE BRUSHED NICKEL | 3| 4 +Brand#53 |LARGE BRUSHED NICKEL | 14| 4 +Brand#53 |LARGE BRUSHED NICKEL | 19| 4 +Brand#53 |LARGE BRUSHED NICKEL | 36| 4 +Brand#53 |LARGE BRUSHED NICKEL | 49| 4 +Brand#53 |LARGE BRUSHED STEEL | 3| 4 +Brand#53 |LARGE BRUSHED STEEL | 14| 4 +Brand#53 |LARGE BRUSHED STEEL | 23| 4 +Brand#53 |LARGE BRUSHED STEEL | 49| 4 +Brand#53 |LARGE BRUSHED TIN | 14| 4 +Brand#53 |LARGE BRUSHED TIN | 45| 4 +Brand#53 |LARGE BRUSHED TIN | 49| 4 +Brand#53 |LARGE BURNISHED BRASS | 19| 4 +Brand#53 |LARGE BURNISHED BRASS | 23| 4 +Brand#53 |LARGE BURNISHED BRASS | 36| 4 +Brand#53 |LARGE BURNISHED BRASS | 45| 4 +Brand#53 |LARGE BURNISHED COPPER | 19| 4 +Brand#53 |LARGE BURNISHED COPPER | 45| 4 +Brand#53 |LARGE BURNISHED COPPER | 49| 4 +Brand#53 |LARGE BURNISHED NICKEL | 36| 4 +Brand#53 |LARGE BURNISHED STEEL | 9| 4 +Brand#53 |LARGE BURNISHED STEEL | 49| 4 +Brand#53 |LARGE BURNISHED TIN | 3| 4 +Brand#53 |LARGE BURNISHED TIN | 23| 4 +Brand#53 |LARGE BURNISHED TIN | 49| 4 +Brand#53 |LARGE PLATED BRASS | 14| 4 +Brand#53 |LARGE PLATED BRASS | 19| 4 +Brand#53 |LARGE PLATED BRASS | 45| 4 +Brand#53 |LARGE PLATED COPPER | 14| 4 +Brand#53 |LARGE PLATED COPPER | 23| 4 +Brand#53 |LARGE PLATED COPPER | 45| 4 +Brand#53 |LARGE PLATED NICKEL | 19| 4 +Brand#53 |LARGE PLATED NICKEL | 23| 4 +Brand#53 |LARGE PLATED NICKEL | 36| 4 +Brand#53 |LARGE PLATED STEEL | 19| 4 +Brand#53 |LARGE PLATED STEEL | 49| 4 +Brand#53 |LARGE PLATED TIN | 3| 4 +Brand#53 |LARGE PLATED TIN | 19| 4 +Brand#53 |LARGE POLISHED BRASS | 9| 4 +Brand#53 |LARGE POLISHED BRASS | 19| 4 +Brand#53 |LARGE POLISHED COPPER | 14| 4 +Brand#53 |LARGE POLISHED COPPER | 19| 4 +Brand#53 |LARGE POLISHED COPPER | 36| 4 +Brand#53 |LARGE POLISHED NICKEL | 45| 4 +Brand#53 |LARGE POLISHED STEEL | 9| 4 +Brand#53 |LARGE POLISHED TIN | 14| 4 +Brand#53 |LARGE POLISHED TIN | 19| 4 +Brand#53 |LARGE POLISHED TIN | 36| 4 +Brand#53 |LARGE POLISHED TIN | 45| 4 +Brand#53 |MEDIUM ANODIZED BRASS | 9| 4 +Brand#53 |MEDIUM ANODIZED BRASS | 19| 4 +Brand#53 |MEDIUM ANODIZED BRASS | 23| 4 +Brand#53 |MEDIUM ANODIZED BRASS | 45| 4 +Brand#53 |MEDIUM ANODIZED COPPER | 36| 4 +Brand#53 |MEDIUM ANODIZED COPPER | 49| 4 +Brand#53 |MEDIUM ANODIZED NICKEL | 3| 4 +Brand#53 |MEDIUM ANODIZED NICKEL | 9| 4 +Brand#53 |MEDIUM ANODIZED STEEL | 3| 4 +Brand#53 |MEDIUM ANODIZED STEEL | 19| 4 +Brand#53 |MEDIUM ANODIZED STEEL | 45| 4 +Brand#53 |MEDIUM ANODIZED TIN | 9| 4 +Brand#53 |MEDIUM ANODIZED TIN | 19| 4 +Brand#53 |MEDIUM ANODIZED TIN | 45| 4 +Brand#53 |MEDIUM BRUSHED BRASS | 14| 4 +Brand#53 |MEDIUM BRUSHED BRASS | 19| 4 +Brand#53 |MEDIUM BRUSHED BRASS | 36| 4 +Brand#53 |MEDIUM BRUSHED BRASS | 45| 4 +Brand#53 |MEDIUM BRUSHED COPPER | 3| 4 +Brand#53 |MEDIUM BRUSHED COPPER | 14| 4 +Brand#53 |MEDIUM BRUSHED COPPER | 19| 4 +Brand#53 |MEDIUM BRUSHED COPPER | 23| 4 +Brand#53 |MEDIUM BRUSHED NICKEL | 36| 4 +Brand#53 |MEDIUM BRUSHED STEEL | 9| 4 +Brand#53 |MEDIUM BRUSHED STEEL | 19| 4 +Brand#53 |MEDIUM BRUSHED TIN | 14| 4 +Brand#53 |MEDIUM BRUSHED TIN | 49| 4 +Brand#53 |MEDIUM BURNISHED BRASS | 9| 4 +Brand#53 |MEDIUM BURNISHED BRASS | 19| 4 +Brand#53 |MEDIUM BURNISHED BRASS | 23| 4 +Brand#53 |MEDIUM BURNISHED BRASS | 36| 4 +Brand#53 |MEDIUM BURNISHED BRASS | 45| 4 +Brand#53 |MEDIUM BURNISHED COPPER | 23| 4 +Brand#53 |MEDIUM BURNISHED COPPER | 36| 4 +Brand#53 |MEDIUM BURNISHED STEEL | 3| 4 +Brand#53 |MEDIUM BURNISHED STEEL | 45| 4 +Brand#53 |MEDIUM BURNISHED TIN | 3| 4 +Brand#53 |MEDIUM BURNISHED TIN | 19| 4 +Brand#53 |MEDIUM BURNISHED TIN | 23| 4 +Brand#53 |MEDIUM BURNISHED TIN | 36| 4 +Brand#53 |MEDIUM BURNISHED TIN | 49| 4 +Brand#53 |MEDIUM PLATED BRASS | 3| 4 +Brand#53 |MEDIUM PLATED BRASS | 23| 4 +Brand#53 |MEDIUM PLATED COPPER | 36| 4 +Brand#53 |MEDIUM PLATED COPPER | 45| 4 +Brand#53 |MEDIUM PLATED COPPER | 49| 4 +Brand#53 |MEDIUM PLATED NICKEL | 9| 4 +Brand#53 |MEDIUM PLATED NICKEL | 14| 4 +Brand#53 |MEDIUM PLATED NICKEL | 19| 4 +Brand#53 |MEDIUM PLATED NICKEL | 49| 4 +Brand#53 |MEDIUM PLATED STEEL | 3| 4 +Brand#53 |MEDIUM PLATED STEEL | 9| 4 +Brand#53 |MEDIUM PLATED STEEL | 36| 4 +Brand#53 |MEDIUM PLATED STEEL | 49| 4 +Brand#53 |MEDIUM PLATED TIN | 3| 4 +Brand#53 |MEDIUM PLATED TIN | 9| 4 +Brand#53 |MEDIUM PLATED TIN | 19| 4 +Brand#53 |MEDIUM PLATED TIN | 23| 4 +Brand#53 |MEDIUM PLATED TIN | 36| 4 +Brand#53 |MEDIUM PLATED TIN | 49| 4 +Brand#53 |PROMO ANODIZED BRASS | 14| 4 +Brand#53 |PROMO ANODIZED COPPER | 19| 4 +Brand#53 |PROMO ANODIZED COPPER | 45| 4 +Brand#53 |PROMO ANODIZED NICKEL | 9| 4 +Brand#53 |PROMO ANODIZED NICKEL | 14| 4 +Brand#53 |PROMO ANODIZED NICKEL | 19| 4 +Brand#53 |PROMO ANODIZED NICKEL | 23| 4 +Brand#53 |PROMO ANODIZED NICKEL | 45| 4 +Brand#53 |PROMO ANODIZED STEEL | 23| 4 +Brand#53 |PROMO ANODIZED STEEL | 36| 4 +Brand#53 |PROMO ANODIZED STEEL | 49| 4 +Brand#53 |PROMO ANODIZED TIN | 3| 4 +Brand#53 |PROMO ANODIZED TIN | 9| 4 +Brand#53 |PROMO ANODIZED TIN | 14| 4 +Brand#53 |PROMO ANODIZED TIN | 23| 4 +Brand#53 |PROMO BRUSHED BRASS | 3| 4 +Brand#53 |PROMO BRUSHED BRASS | 9| 4 +Brand#53 |PROMO BRUSHED BRASS | 14| 4 +Brand#53 |PROMO BRUSHED BRASS | 19| 4 +Brand#53 |PROMO BRUSHED BRASS | 23| 4 +Brand#53 |PROMO BRUSHED COPPER | 19| 4 +Brand#53 |PROMO BRUSHED COPPER | 45| 4 +Brand#53 |PROMO BRUSHED NICKEL | 36| 4 +Brand#53 |PROMO BRUSHED NICKEL | 45| 4 +Brand#53 |PROMO BRUSHED STEEL | 9| 4 +Brand#53 |PROMO BRUSHED STEEL | 36| 4 +Brand#53 |PROMO BRUSHED STEEL | 45| 4 +Brand#53 |PROMO BRUSHED TIN | 3| 4 +Brand#53 |PROMO BRUSHED TIN | 45| 4 +Brand#53 |PROMO BURNISHED BRASS | 3| 4 +Brand#53 |PROMO BURNISHED BRASS | 9| 4 +Brand#53 |PROMO BURNISHED BRASS | 45| 4 +Brand#53 |PROMO BURNISHED COPPER | 3| 4 +Brand#53 |PROMO BURNISHED COPPER | 19| 4 +Brand#53 |PROMO BURNISHED COPPER | 23| 4 +Brand#53 |PROMO BURNISHED NICKEL | 3| 4 +Brand#53 |PROMO BURNISHED NICKEL | 23| 4 +Brand#53 |PROMO BURNISHED STEEL | 19| 4 +Brand#53 |PROMO BURNISHED TIN | 14| 4 +Brand#53 |PROMO BURNISHED TIN | 36| 4 +Brand#53 |PROMO PLATED BRASS | 3| 4 +Brand#53 |PROMO PLATED BRASS | 9| 4 +Brand#53 |PROMO PLATED BRASS | 14| 4 +Brand#53 |PROMO PLATED COPPER | 19| 4 +Brand#53 |PROMO PLATED NICKEL | 3| 4 +Brand#53 |PROMO PLATED NICKEL | 9| 4 +Brand#53 |PROMO PLATED NICKEL | 14| 4 +Brand#53 |PROMO PLATED NICKEL | 19| 4 +Brand#53 |PROMO PLATED NICKEL | 23| 4 +Brand#53 |PROMO PLATED NICKEL | 45| 4 +Brand#53 |PROMO PLATED STEEL | 3| 4 +Brand#53 |PROMO PLATED STEEL | 14| 4 +Brand#53 |PROMO PLATED STEEL | 23| 4 +Brand#53 |PROMO PLATED STEEL | 36| 4 +Brand#53 |PROMO PLATED STEEL | 45| 4 +Brand#53 |PROMO PLATED TIN | 36| 4 +Brand#53 |PROMO POLISHED BRASS | 23| 4 +Brand#53 |PROMO POLISHED BRASS | 49| 4 +Brand#53 |PROMO POLISHED COPPER | 9| 4 +Brand#53 |PROMO POLISHED COPPER | 14| 4 +Brand#53 |PROMO POLISHED COPPER | 36| 4 +Brand#53 |PROMO POLISHED COPPER | 45| 4 +Brand#53 |PROMO POLISHED NICKEL | 14| 4 +Brand#53 |PROMO POLISHED NICKEL | 36| 4 +Brand#53 |PROMO POLISHED STEEL | 14| 4 +Brand#53 |PROMO POLISHED STEEL | 19| 4 +Brand#53 |PROMO POLISHED STEEL | 23| 4 +Brand#53 |PROMO POLISHED TIN | 3| 4 +Brand#53 |PROMO POLISHED TIN | 9| 4 +Brand#53 |PROMO POLISHED TIN | 19| 4 +Brand#53 |PROMO POLISHED TIN | 23| 4 +Brand#53 |SMALL ANODIZED BRASS | 14| 4 +Brand#53 |SMALL ANODIZED BRASS | 36| 4 +Brand#53 |SMALL ANODIZED COPPER | 14| 4 +Brand#53 |SMALL ANODIZED COPPER | 45| 4 +Brand#53 |SMALL ANODIZED COPPER | 49| 4 +Brand#53 |SMALL ANODIZED NICKEL | 14| 4 +Brand#53 |SMALL ANODIZED STEEL | 14| 4 +Brand#53 |SMALL ANODIZED STEEL | 36| 4 +Brand#53 |SMALL ANODIZED TIN | 14| 4 +Brand#53 |SMALL ANODIZED TIN | 19| 4 +Brand#53 |SMALL ANODIZED TIN | 23| 4 +Brand#53 |SMALL BRUSHED BRASS | 3| 4 +Brand#53 |SMALL BRUSHED BRASS | 19| 4 +Brand#53 |SMALL BRUSHED BRASS | 23| 4 +Brand#53 |SMALL BRUSHED BRASS | 45| 4 +Brand#53 |SMALL BRUSHED BRASS | 49| 4 +Brand#53 |SMALL BRUSHED COPPER | 9| 4 +Brand#53 |SMALL BRUSHED COPPER | 19| 4 +Brand#53 |SMALL BRUSHED COPPER | 23| 4 +Brand#53 |SMALL BRUSHED COPPER | 45| 4 +Brand#53 |SMALL BRUSHED NICKEL | 9| 4 +Brand#53 |SMALL BRUSHED NICKEL | 14| 4 +Brand#53 |SMALL BRUSHED NICKEL | 19| 4 +Brand#53 |SMALL BRUSHED NICKEL | 23| 4 +Brand#53 |SMALL BRUSHED NICKEL | 36| 4 +Brand#53 |SMALL BRUSHED STEEL | 14| 4 +Brand#53 |SMALL BRUSHED STEEL | 19| 4 +Brand#53 |SMALL BRUSHED TIN | 9| 4 +Brand#53 |SMALL BRUSHED TIN | 36| 4 +Brand#53 |SMALL BURNISHED BRASS | 19| 4 +Brand#53 |SMALL BURNISHED NICKEL | 3| 4 +Brand#53 |SMALL BURNISHED NICKEL | 19| 4 +Brand#53 |SMALL BURNISHED STEEL | 3| 4 +Brand#53 |SMALL BURNISHED STEEL | 14| 4 +Brand#53 |SMALL BURNISHED STEEL | 23| 4 +Brand#53 |SMALL BURNISHED STEEL | 45| 4 +Brand#53 |SMALL BURNISHED TIN | 9| 4 +Brand#53 |SMALL BURNISHED TIN | 19| 4 +Brand#53 |SMALL BURNISHED TIN | 36| 4 +Brand#53 |SMALL BURNISHED TIN | 45| 4 +Brand#53 |SMALL BURNISHED TIN | 49| 4 +Brand#53 |SMALL PLATED BRASS | 14| 4 +Brand#53 |SMALL PLATED BRASS | 19| 4 +Brand#53 |SMALL PLATED BRASS | 23| 4 +Brand#53 |SMALL PLATED COPPER | 45| 4 +Brand#53 |SMALL PLATED NICKEL | 36| 4 +Brand#53 |SMALL PLATED NICKEL | 49| 4 +Brand#53 |SMALL PLATED STEEL | 9| 4 +Brand#53 |SMALL PLATED STEEL | 45| 4 +Brand#53 |SMALL PLATED STEEL | 49| 4 +Brand#53 |SMALL PLATED TIN | 3| 4 +Brand#53 |SMALL PLATED TIN | 23| 4 +Brand#53 |SMALL PLATED TIN | 49| 4 +Brand#53 |SMALL POLISHED BRASS | 23| 4 +Brand#53 |SMALL POLISHED COPPER | 3| 4 +Brand#53 |SMALL POLISHED COPPER | 14| 4 +Brand#53 |SMALL POLISHED COPPER | 36| 4 +Brand#53 |SMALL POLISHED COPPER | 45| 4 +Brand#53 |SMALL POLISHED COPPER | 49| 4 +Brand#53 |SMALL POLISHED NICKEL | 9| 4 +Brand#53 |SMALL POLISHED STEEL | 9| 4 +Brand#53 |SMALL POLISHED STEEL | 19| 4 +Brand#53 |SMALL POLISHED TIN | 9| 4 +Brand#53 |SMALL POLISHED TIN | 14| 4 +Brand#53 |STANDARD ANODIZED BRASS | 3| 4 +Brand#53 |STANDARD ANODIZED BRASS | 9| 4 +Brand#53 |STANDARD ANODIZED BRASS | 49| 4 +Brand#53 |STANDARD ANODIZED COPPER | 3| 4 +Brand#53 |STANDARD ANODIZED COPPER | 23| 4 +Brand#53 |STANDARD ANODIZED COPPER | 45| 4 +Brand#53 |STANDARD ANODIZED COPPER | 49| 4 +Brand#53 |STANDARD ANODIZED NICKEL | 23| 4 +Brand#53 |STANDARD ANODIZED NICKEL | 45| 4 +Brand#53 |STANDARD ANODIZED NICKEL | 49| 4 +Brand#53 |STANDARD ANODIZED STEEL | 3| 4 +Brand#53 |STANDARD ANODIZED STEEL | 14| 4 +Brand#53 |STANDARD ANODIZED STEEL | 36| 4 +Brand#53 |STANDARD ANODIZED TIN | 9| 4 +Brand#53 |STANDARD ANODIZED TIN | 36| 4 +Brand#53 |STANDARD BRUSHED BRASS | 23| 4 +Brand#53 |STANDARD BRUSHED BRASS | 45| 4 +Brand#53 |STANDARD BRUSHED COPPER | 14| 4 +Brand#53 |STANDARD BRUSHED COPPER | 19| 4 +Brand#53 |STANDARD BRUSHED COPPER | 23| 4 +Brand#53 |STANDARD BRUSHED COPPER | 36| 4 +Brand#53 |STANDARD BRUSHED COPPER | 45| 4 +Brand#53 |STANDARD BRUSHED NICKEL | 19| 4 +Brand#53 |STANDARD BRUSHED NICKEL | 23| 4 +Brand#53 |STANDARD BRUSHED STEEL | 3| 4 +Brand#53 |STANDARD BRUSHED STEEL | 9| 4 +Brand#53 |STANDARD BRUSHED STEEL | 14| 4 +Brand#53 |STANDARD BRUSHED STEEL | 19| 4 +Brand#53 |STANDARD BRUSHED STEEL | 36| 4 +Brand#53 |STANDARD BRUSHED TIN | 3| 4 +Brand#53 |STANDARD BRUSHED TIN | 9| 4 +Brand#53 |STANDARD BRUSHED TIN | 23| 4 +Brand#53 |STANDARD BURNISHED BRASS | 3| 4 +Brand#53 |STANDARD BURNISHED BRASS | 14| 4 +Brand#53 |STANDARD BURNISHED BRASS | 23| 4 +Brand#53 |STANDARD BURNISHED BRASS | 45| 4 +Brand#53 |STANDARD BURNISHED COPPER| 9| 4 +Brand#53 |STANDARD BURNISHED COPPER| 14| 4 +Brand#53 |STANDARD BURNISHED COPPER| 49| 4 +Brand#53 |STANDARD BURNISHED NICKEL| 3| 4 +Brand#53 |STANDARD BURNISHED NICKEL| 9| 4 +Brand#53 |STANDARD BURNISHED NICKEL| 14| 4 +Brand#53 |STANDARD BURNISHED NICKEL| 19| 4 +Brand#53 |STANDARD BURNISHED STEEL | 9| 4 +Brand#53 |STANDARD BURNISHED STEEL | 14| 4 +Brand#53 |STANDARD BURNISHED STEEL | 45| 4 +Brand#53 |STANDARD BURNISHED TIN | 9| 4 +Brand#53 |STANDARD BURNISHED TIN | 23| 4 +Brand#53 |STANDARD BURNISHED TIN | 45| 4 +Brand#53 |STANDARD BURNISHED TIN | 49| 4 +Brand#53 |STANDARD PLATED BRASS | 14| 4 +Brand#53 |STANDARD PLATED BRASS | 45| 4 +Brand#53 |STANDARD PLATED BRASS | 49| 4 +Brand#53 |STANDARD PLATED COPPER | 9| 4 +Brand#53 |STANDARD PLATED COPPER | 14| 4 +Brand#53 |STANDARD PLATED COPPER | 19| 4 +Brand#53 |STANDARD PLATED COPPER | 23| 4 +Brand#53 |STANDARD PLATED COPPER | 49| 4 +Brand#53 |STANDARD PLATED NICKEL | 3| 4 +Brand#53 |STANDARD PLATED NICKEL | 9| 4 +Brand#53 |STANDARD PLATED NICKEL | 23| 4 +Brand#53 |STANDARD PLATED NICKEL | 49| 4 +Brand#53 |STANDARD PLATED STEEL | 3| 4 +Brand#53 |STANDARD PLATED STEEL | 9| 4 +Brand#53 |STANDARD PLATED STEEL | 36| 4 +Brand#53 |STANDARD PLATED STEEL | 49| 4 +Brand#53 |STANDARD PLATED TIN | 3| 4 +Brand#53 |STANDARD PLATED TIN | 49| 4 +Brand#53 |STANDARD POLISHED BRASS | 9| 4 +Brand#53 |STANDARD POLISHED BRASS | 14| 4 +Brand#53 |STANDARD POLISHED BRASS | 23| 4 +Brand#53 |STANDARD POLISHED COPPER | 9| 4 +Brand#53 |STANDARD POLISHED COPPER | 23| 4 +Brand#53 |STANDARD POLISHED NICKEL | 19| 4 +Brand#53 |STANDARD POLISHED NICKEL | 45| 4 +Brand#53 |STANDARD POLISHED STEEL | 3| 4 +Brand#53 |STANDARD POLISHED STEEL | 36| 4 +Brand#53 |STANDARD POLISHED TIN | 3| 4 +Brand#53 |STANDARD POLISHED TIN | 36| 4 +Brand#54 |ECONOMY ANODIZED BRASS | 9| 4 +Brand#54 |ECONOMY ANODIZED BRASS | 19| 4 +Brand#54 |ECONOMY ANODIZED BRASS | 23| 4 +Brand#54 |ECONOMY ANODIZED BRASS | 45| 4 +Brand#54 |ECONOMY ANODIZED BRASS | 49| 4 +Brand#54 |ECONOMY ANODIZED COPPER | 3| 4 +Brand#54 |ECONOMY ANODIZED COPPER | 9| 4 +Brand#54 |ECONOMY ANODIZED COPPER | 23| 4 +Brand#54 |ECONOMY ANODIZED COPPER | 36| 4 +Brand#54 |ECONOMY ANODIZED COPPER | 45| 4 +Brand#54 |ECONOMY ANODIZED COPPER | 49| 4 +Brand#54 |ECONOMY ANODIZED NICKEL | 3| 4 +Brand#54 |ECONOMY ANODIZED NICKEL | 14| 4 +Brand#54 |ECONOMY ANODIZED NICKEL | 19| 4 +Brand#54 |ECONOMY ANODIZED NICKEL | 45| 4 +Brand#54 |ECONOMY ANODIZED STEEL | 3| 4 +Brand#54 |ECONOMY ANODIZED STEEL | 14| 4 +Brand#54 |ECONOMY ANODIZED STEEL | 36| 4 +Brand#54 |ECONOMY ANODIZED STEEL | 45| 4 +Brand#54 |ECONOMY ANODIZED TIN | 9| 4 +Brand#54 |ECONOMY ANODIZED TIN | 23| 4 +Brand#54 |ECONOMY ANODIZED TIN | 49| 4 +Brand#54 |ECONOMY BRUSHED COPPER | 19| 4 +Brand#54 |ECONOMY BRUSHED COPPER | 23| 4 +Brand#54 |ECONOMY BRUSHED COPPER | 36| 4 +Brand#54 |ECONOMY BRUSHED COPPER | 49| 4 +Brand#54 |ECONOMY BRUSHED NICKEL | 3| 4 +Brand#54 |ECONOMY BRUSHED NICKEL | 19| 4 +Brand#54 |ECONOMY BRUSHED NICKEL | 45| 4 +Brand#54 |ECONOMY BRUSHED STEEL | 9| 4 +Brand#54 |ECONOMY BRUSHED TIN | 19| 4 +Brand#54 |ECONOMY BRUSHED TIN | 49| 4 +Brand#54 |ECONOMY BURNISHED BRASS | 3| 4 +Brand#54 |ECONOMY BURNISHED BRASS | 23| 4 +Brand#54 |ECONOMY BURNISHED BRASS | 49| 4 +Brand#54 |ECONOMY BURNISHED COPPER | 23| 4 +Brand#54 |ECONOMY BURNISHED NICKEL | 3| 4 +Brand#54 |ECONOMY BURNISHED NICKEL | 14| 4 +Brand#54 |ECONOMY BURNISHED NICKEL | 45| 4 +Brand#54 |ECONOMY BURNISHED NICKEL | 49| 4 +Brand#54 |ECONOMY BURNISHED STEEL | 19| 4 +Brand#54 |ECONOMY BURNISHED TIN | 3| 4 +Brand#54 |ECONOMY BURNISHED TIN | 19| 4 +Brand#54 |ECONOMY BURNISHED TIN | 49| 4 +Brand#54 |ECONOMY PLATED BRASS | 9| 4 +Brand#54 |ECONOMY PLATED BRASS | 14| 4 +Brand#54 |ECONOMY PLATED BRASS | 19| 4 +Brand#54 |ECONOMY PLATED BRASS | 23| 4 +Brand#54 |ECONOMY PLATED BRASS | 36| 4 +Brand#54 |ECONOMY PLATED BRASS | 45| 4 +Brand#54 |ECONOMY PLATED COPPER | 3| 4 +Brand#54 |ECONOMY PLATED COPPER | 23| 4 +Brand#54 |ECONOMY PLATED NICKEL | 3| 4 +Brand#54 |ECONOMY PLATED NICKEL | 14| 4 +Brand#54 |ECONOMY PLATED NICKEL | 19| 4 +Brand#54 |ECONOMY PLATED STEEL | 14| 4 +Brand#54 |ECONOMY PLATED STEEL | 23| 4 +Brand#54 |ECONOMY PLATED STEEL | 36| 4 +Brand#54 |ECONOMY PLATED STEEL | 45| 4 +Brand#54 |ECONOMY PLATED STEEL | 49| 4 +Brand#54 |ECONOMY PLATED TIN | 3| 4 +Brand#54 |ECONOMY PLATED TIN | 9| 4 +Brand#54 |ECONOMY PLATED TIN | 14| 4 +Brand#54 |ECONOMY PLATED TIN | 19| 4 +Brand#54 |ECONOMY PLATED TIN | 45| 4 +Brand#54 |ECONOMY POLISHED BRASS | 3| 4 +Brand#54 |ECONOMY POLISHED BRASS | 19| 4 +Brand#54 |ECONOMY POLISHED COPPER | 14| 4 +Brand#54 |ECONOMY POLISHED NICKEL | 19| 4 +Brand#54 |ECONOMY POLISHED STEEL | 9| 4 +Brand#54 |ECONOMY POLISHED TIN | 14| 4 +Brand#54 |ECONOMY POLISHED TIN | 49| 4 +Brand#54 |LARGE ANODIZED BRASS | 14| 4 +Brand#54 |LARGE ANODIZED BRASS | 23| 4 +Brand#54 |LARGE ANODIZED BRASS | 36| 4 +Brand#54 |LARGE ANODIZED BRASS | 49| 4 +Brand#54 |LARGE ANODIZED COPPER | 19| 4 +Brand#54 |LARGE ANODIZED COPPER | 23| 4 +Brand#54 |LARGE ANODIZED COPPER | 36| 4 +Brand#54 |LARGE ANODIZED NICKEL | 3| 4 +Brand#54 |LARGE ANODIZED NICKEL | 14| 4 +Brand#54 |LARGE ANODIZED NICKEL | 19| 4 +Brand#54 |LARGE ANODIZED NICKEL | 36| 4 +Brand#54 |LARGE ANODIZED NICKEL | 45| 4 +Brand#54 |LARGE ANODIZED STEEL | 3| 4 +Brand#54 |LARGE ANODIZED STEEL | 19| 4 +Brand#54 |LARGE ANODIZED STEEL | 36| 4 +Brand#54 |LARGE ANODIZED TIN | 3| 4 +Brand#54 |LARGE ANODIZED TIN | 9| 4 +Brand#54 |LARGE ANODIZED TIN | 19| 4 +Brand#54 |LARGE ANODIZED TIN | 45| 4 +Brand#54 |LARGE BRUSHED BRASS | 36| 4 +Brand#54 |LARGE BRUSHED COPPER | 3| 4 +Brand#54 |LARGE BRUSHED COPPER | 36| 4 +Brand#54 |LARGE BRUSHED COPPER | 49| 4 +Brand#54 |LARGE BRUSHED NICKEL | 14| 4 +Brand#54 |LARGE BRUSHED NICKEL | 19| 4 +Brand#54 |LARGE BRUSHED NICKEL | 45| 4 +Brand#54 |LARGE BRUSHED NICKEL | 49| 4 +Brand#54 |LARGE BRUSHED STEEL | 3| 4 +Brand#54 |LARGE BRUSHED STEEL | 9| 4 +Brand#54 |LARGE BRUSHED STEEL | 19| 4 +Brand#54 |LARGE BRUSHED STEEL | 23| 4 +Brand#54 |LARGE BRUSHED STEEL | 45| 4 +Brand#54 |LARGE BRUSHED TIN | 14| 4 +Brand#54 |LARGE BRUSHED TIN | 19| 4 +Brand#54 |LARGE BRUSHED TIN | 45| 4 +Brand#54 |LARGE BURNISHED BRASS | 14| 4 +Brand#54 |LARGE BURNISHED BRASS | 19| 4 +Brand#54 |LARGE BURNISHED BRASS | 36| 4 +Brand#54 |LARGE BURNISHED NICKEL | 3| 4 +Brand#54 |LARGE BURNISHED NICKEL | 19| 4 +Brand#54 |LARGE BURNISHED NICKEL | 45| 4 +Brand#54 |LARGE BURNISHED STEEL | 9| 4 +Brand#54 |LARGE BURNISHED STEEL | 36| 4 +Brand#54 |LARGE BURNISHED STEEL | 45| 4 +Brand#54 |LARGE BURNISHED TIN | 9| 4 +Brand#54 |LARGE BURNISHED TIN | 23| 4 +Brand#54 |LARGE BURNISHED TIN | 36| 4 +Brand#54 |LARGE PLATED BRASS | 3| 4 +Brand#54 |LARGE PLATED BRASS | 14| 4 +Brand#54 |LARGE PLATED COPPER | 14| 4 +Brand#54 |LARGE PLATED COPPER | 36| 4 +Brand#54 |LARGE PLATED NICKEL | 9| 4 +Brand#54 |LARGE PLATED NICKEL | 14| 4 +Brand#54 |LARGE PLATED NICKEL | 19| 4 +Brand#54 |LARGE PLATED NICKEL | 45| 4 +Brand#54 |LARGE PLATED NICKEL | 49| 4 +Brand#54 |LARGE PLATED STEEL | 45| 4 +Brand#54 |LARGE PLATED TIN | 3| 4 +Brand#54 |LARGE PLATED TIN | 14| 4 +Brand#54 |LARGE PLATED TIN | 49| 4 +Brand#54 |LARGE POLISHED BRASS | 3| 4 +Brand#54 |LARGE POLISHED BRASS | 14| 4 +Brand#54 |LARGE POLISHED BRASS | 19| 4 +Brand#54 |LARGE POLISHED BRASS | 36| 4 +Brand#54 |LARGE POLISHED COPPER | 14| 4 +Brand#54 |LARGE POLISHED COPPER | 23| 4 +Brand#54 |LARGE POLISHED COPPER | 36| 4 +Brand#54 |LARGE POLISHED COPPER | 49| 4 +Brand#54 |LARGE POLISHED NICKEL | 45| 4 +Brand#54 |LARGE POLISHED NICKEL | 49| 4 +Brand#54 |LARGE POLISHED STEEL | 9| 4 +Brand#54 |LARGE POLISHED STEEL | 23| 4 +Brand#54 |LARGE POLISHED STEEL | 36| 4 +Brand#54 |LARGE POLISHED TIN | 3| 4 +Brand#54 |LARGE POLISHED TIN | 9| 4 +Brand#54 |LARGE POLISHED TIN | 23| 4 +Brand#54 |MEDIUM ANODIZED BRASS | 19| 4 +Brand#54 |MEDIUM ANODIZED BRASS | 23| 4 +Brand#54 |MEDIUM ANODIZED BRASS | 45| 4 +Brand#54 |MEDIUM ANODIZED COPPER | 3| 4 +Brand#54 |MEDIUM ANODIZED COPPER | 14| 4 +Brand#54 |MEDIUM ANODIZED COPPER | 36| 4 +Brand#54 |MEDIUM ANODIZED COPPER | 45| 4 +Brand#54 |MEDIUM ANODIZED NICKEL | 9| 4 +Brand#54 |MEDIUM ANODIZED STEEL | 14| 4 +Brand#54 |MEDIUM ANODIZED STEEL | 45| 4 +Brand#54 |MEDIUM ANODIZED TIN | 14| 4 +Brand#54 |MEDIUM ANODIZED TIN | 49| 4 +Brand#54 |MEDIUM BRUSHED BRASS | 36| 4 +Brand#54 |MEDIUM BRUSHED COPPER | 9| 4 +Brand#54 |MEDIUM BRUSHED COPPER | 45| 4 +Brand#54 |MEDIUM BRUSHED COPPER | 49| 4 +Brand#54 |MEDIUM BRUSHED NICKEL | 3| 4 +Brand#54 |MEDIUM BRUSHED NICKEL | 19| 4 +Brand#54 |MEDIUM BRUSHED NICKEL | 45| 4 +Brand#54 |MEDIUM BRUSHED NICKEL | 49| 4 +Brand#54 |MEDIUM BRUSHED STEEL | 3| 4 +Brand#54 |MEDIUM BRUSHED STEEL | 14| 4 +Brand#54 |MEDIUM BRUSHED STEEL | 19| 4 +Brand#54 |MEDIUM BRUSHED STEEL | 23| 4 +Brand#54 |MEDIUM BRUSHED TIN | 3| 4 +Brand#54 |MEDIUM BRUSHED TIN | 19| 4 +Brand#54 |MEDIUM BRUSHED TIN | 45| 4 +Brand#54 |MEDIUM BURNISHED BRASS | 3| 4 +Brand#54 |MEDIUM BURNISHED BRASS | 9| 4 +Brand#54 |MEDIUM BURNISHED BRASS | 14| 4 +Brand#54 |MEDIUM BURNISHED BRASS | 19| 4 +Brand#54 |MEDIUM BURNISHED BRASS | 45| 4 +Brand#54 |MEDIUM BURNISHED COPPER | 9| 4 +Brand#54 |MEDIUM BURNISHED COPPER | 49| 4 +Brand#54 |MEDIUM BURNISHED NICKEL | 3| 4 +Brand#54 |MEDIUM BURNISHED NICKEL | 14| 4 +Brand#54 |MEDIUM BURNISHED NICKEL | 23| 4 +Brand#54 |MEDIUM BURNISHED NICKEL | 36| 4 +Brand#54 |MEDIUM BURNISHED STEEL | 9| 4 +Brand#54 |MEDIUM BURNISHED STEEL | 23| 4 +Brand#54 |MEDIUM BURNISHED STEEL | 36| 4 +Brand#54 |MEDIUM BURNISHED TIN | 14| 4 +Brand#54 |MEDIUM BURNISHED TIN | 49| 4 +Brand#54 |MEDIUM PLATED BRASS | 9| 4 +Brand#54 |MEDIUM PLATED BRASS | 14| 4 +Brand#54 |MEDIUM PLATED BRASS | 19| 4 +Brand#54 |MEDIUM PLATED BRASS | 45| 4 +Brand#54 |MEDIUM PLATED COPPER | 3| 4 +Brand#54 |MEDIUM PLATED COPPER | 19| 4 +Brand#54 |MEDIUM PLATED NICKEL | 3| 4 +Brand#54 |MEDIUM PLATED NICKEL | 36| 4 +Brand#54 |MEDIUM PLATED STEEL | 3| 4 +Brand#54 |MEDIUM PLATED STEEL | 9| 4 +Brand#54 |MEDIUM PLATED STEEL | 19| 4 +Brand#54 |MEDIUM PLATED STEEL | 23| 4 +Brand#54 |MEDIUM PLATED STEEL | 36| 4 +Brand#54 |MEDIUM PLATED STEEL | 45| 4 +Brand#54 |MEDIUM PLATED STEEL | 49| 4 +Brand#54 |MEDIUM PLATED TIN | 3| 4 +Brand#54 |MEDIUM PLATED TIN | 9| 4 +Brand#54 |MEDIUM PLATED TIN | 14| 4 +Brand#54 |MEDIUM PLATED TIN | 36| 4 +Brand#54 |PROMO ANODIZED COPPER | 19| 4 +Brand#54 |PROMO ANODIZED NICKEL | 3| 4 +Brand#54 |PROMO ANODIZED NICKEL | 9| 4 +Brand#54 |PROMO ANODIZED NICKEL | 19| 4 +Brand#54 |PROMO ANODIZED NICKEL | 45| 4 +Brand#54 |PROMO ANODIZED NICKEL | 49| 4 +Brand#54 |PROMO ANODIZED STEEL | 45| 4 +Brand#54 |PROMO ANODIZED STEEL | 49| 4 +Brand#54 |PROMO ANODIZED TIN | 3| 4 +Brand#54 |PROMO ANODIZED TIN | 23| 4 +Brand#54 |PROMO ANODIZED TIN | 36| 4 +Brand#54 |PROMO BRUSHED BRASS | 3| 4 +Brand#54 |PROMO BRUSHED BRASS | 36| 4 +Brand#54 |PROMO BRUSHED BRASS | 45| 4 +Brand#54 |PROMO BRUSHED COPPER | 9| 4 +Brand#54 |PROMO BRUSHED COPPER | 19| 4 +Brand#54 |PROMO BRUSHED COPPER | 36| 4 +Brand#54 |PROMO BRUSHED NICKEL | 14| 4 +Brand#54 |PROMO BRUSHED NICKEL | 36| 4 +Brand#54 |PROMO BRUSHED NICKEL | 45| 4 +Brand#54 |PROMO BRUSHED NICKEL | 49| 4 +Brand#54 |PROMO BRUSHED STEEL | 9| 4 +Brand#54 |PROMO BRUSHED STEEL | 23| 4 +Brand#54 |PROMO BRUSHED TIN | 19| 4 +Brand#54 |PROMO BRUSHED TIN | 23| 4 +Brand#54 |PROMO BRUSHED TIN | 36| 4 +Brand#54 |PROMO BURNISHED BRASS | 3| 4 +Brand#54 |PROMO BURNISHED BRASS | 23| 4 +Brand#54 |PROMO BURNISHED BRASS | 45| 4 +Brand#54 |PROMO BURNISHED COPPER | 3| 4 +Brand#54 |PROMO BURNISHED COPPER | 19| 4 +Brand#54 |PROMO BURNISHED COPPER | 23| 4 +Brand#54 |PROMO BURNISHED COPPER | 36| 4 +Brand#54 |PROMO BURNISHED COPPER | 45| 4 +Brand#54 |PROMO BURNISHED NICKEL | 3| 4 +Brand#54 |PROMO BURNISHED NICKEL | 14| 4 +Brand#54 |PROMO BURNISHED STEEL | 19| 4 +Brand#54 |PROMO BURNISHED STEEL | 45| 4 +Brand#54 |PROMO BURNISHED STEEL | 49| 4 +Brand#54 |PROMO BURNISHED TIN | 49| 4 +Brand#54 |PROMO PLATED BRASS | 3| 4 +Brand#54 |PROMO PLATED BRASS | 9| 4 +Brand#54 |PROMO PLATED BRASS | 14| 4 +Brand#54 |PROMO PLATED BRASS | 36| 4 +Brand#54 |PROMO PLATED COPPER | 3| 4 +Brand#54 |PROMO PLATED COPPER | 14| 4 +Brand#54 |PROMO PLATED COPPER | 19| 4 +Brand#54 |PROMO PLATED NICKEL | 23| 4 +Brand#54 |PROMO PLATED NICKEL | 36| 4 +Brand#54 |PROMO PLATED NICKEL | 45| 4 +Brand#54 |PROMO PLATED STEEL | 3| 4 +Brand#54 |PROMO PLATED STEEL | 14| 4 +Brand#54 |PROMO PLATED STEEL | 19| 4 +Brand#54 |PROMO PLATED STEEL | 23| 4 +Brand#54 |PROMO PLATED TIN | 9| 4 +Brand#54 |PROMO PLATED TIN | 19| 4 +Brand#54 |PROMO POLISHED BRASS | 3| 4 +Brand#54 |PROMO POLISHED BRASS | 19| 4 +Brand#54 |PROMO POLISHED BRASS | 23| 4 +Brand#54 |PROMO POLISHED BRASS | 45| 4 +Brand#54 |PROMO POLISHED BRASS | 49| 4 +Brand#54 |PROMO POLISHED COPPER | 9| 4 +Brand#54 |PROMO POLISHED COPPER | 49| 4 +Brand#54 |PROMO POLISHED NICKEL | 3| 4 +Brand#54 |PROMO POLISHED NICKEL | 9| 4 +Brand#54 |PROMO POLISHED NICKEL | 45| 4 +Brand#54 |PROMO POLISHED NICKEL | 49| 4 +Brand#54 |PROMO POLISHED TIN | 9| 4 +Brand#54 |PROMO POLISHED TIN | 36| 4 +Brand#54 |SMALL ANODIZED BRASS | 3| 4 +Brand#54 |SMALL ANODIZED BRASS | 36| 4 +Brand#54 |SMALL ANODIZED BRASS | 49| 4 +Brand#54 |SMALL ANODIZED COPPER | 9| 4 +Brand#54 |SMALL ANODIZED COPPER | 36| 4 +Brand#54 |SMALL ANODIZED NICKEL | 3| 4 +Brand#54 |SMALL ANODIZED NICKEL | 9| 4 +Brand#54 |SMALL ANODIZED NICKEL | 36| 4 +Brand#54 |SMALL ANODIZED STEEL | 14| 4 +Brand#54 |SMALL ANODIZED STEEL | 19| 4 +Brand#54 |SMALL ANODIZED TIN | 3| 4 +Brand#54 |SMALL ANODIZED TIN | 9| 4 +Brand#54 |SMALL ANODIZED TIN | 19| 4 +Brand#54 |SMALL ANODIZED TIN | 23| 4 +Brand#54 |SMALL ANODIZED TIN | 45| 4 +Brand#54 |SMALL ANODIZED TIN | 49| 4 +Brand#54 |SMALL BRUSHED BRASS | 3| 4 +Brand#54 |SMALL BRUSHED BRASS | 14| 4 +Brand#54 |SMALL BRUSHED BRASS | 45| 4 +Brand#54 |SMALL BRUSHED COPPER | 3| 4 +Brand#54 |SMALL BRUSHED COPPER | 14| 4 +Brand#54 |SMALL BRUSHED COPPER | 36| 4 +Brand#54 |SMALL BRUSHED COPPER | 49| 4 +Brand#54 |SMALL BRUSHED NICKEL | 3| 4 +Brand#54 |SMALL BRUSHED NICKEL | 9| 4 +Brand#54 |SMALL BRUSHED NICKEL | 19| 4 +Brand#54 |SMALL BRUSHED NICKEL | 23| 4 +Brand#54 |SMALL BRUSHED NICKEL | 49| 4 +Brand#54 |SMALL BRUSHED STEEL | 3| 4 +Brand#54 |SMALL BRUSHED STEEL | 9| 4 +Brand#54 |SMALL BRUSHED STEEL | 45| 4 +Brand#54 |SMALL BRUSHED STEEL | 49| 4 +Brand#54 |SMALL BRUSHED TIN | 9| 4 +Brand#54 |SMALL BURNISHED BRASS | 19| 4 +Brand#54 |SMALL BURNISHED BRASS | 36| 4 +Brand#54 |SMALL BURNISHED BRASS | 49| 4 +Brand#54 |SMALL BURNISHED COPPER | 9| 4 +Brand#54 |SMALL BURNISHED COPPER | 36| 4 +Brand#54 |SMALL BURNISHED NICKEL | 9| 4 +Brand#54 |SMALL BURNISHED NICKEL | 19| 4 +Brand#54 |SMALL BURNISHED NICKEL | 23| 4 +Brand#54 |SMALL BURNISHED NICKEL | 45| 4 +Brand#54 |SMALL BURNISHED STEEL | 14| 4 +Brand#54 |SMALL BURNISHED STEEL | 23| 4 +Brand#54 |SMALL BURNISHED STEEL | 36| 4 +Brand#54 |SMALL BURNISHED STEEL | 49| 4 +Brand#54 |SMALL BURNISHED TIN | 3| 4 +Brand#54 |SMALL BURNISHED TIN | 14| 4 +Brand#54 |SMALL BURNISHED TIN | 36| 4 +Brand#54 |SMALL BURNISHED TIN | 45| 4 +Brand#54 |SMALL PLATED BRASS | 36| 4 +Brand#54 |SMALL PLATED BRASS | 45| 4 +Brand#54 |SMALL PLATED BRASS | 49| 4 +Brand#54 |SMALL PLATED COPPER | 9| 4 +Brand#54 |SMALL PLATED COPPER | 49| 4 +Brand#54 |SMALL PLATED NICKEL | 3| 4 +Brand#54 |SMALL PLATED NICKEL | 19| 4 +Brand#54 |SMALL PLATED NICKEL | 49| 4 +Brand#54 |SMALL PLATED STEEL | 3| 4 +Brand#54 |SMALL PLATED STEEL | 9| 4 +Brand#54 |SMALL PLATED STEEL | 19| 4 +Brand#54 |SMALL PLATED STEEL | 36| 4 +Brand#54 |SMALL PLATED STEEL | 45| 4 +Brand#54 |SMALL PLATED TIN | 9| 4 +Brand#54 |SMALL PLATED TIN | 49| 4 +Brand#54 |SMALL POLISHED BRASS | 14| 4 +Brand#54 |SMALL POLISHED BRASS | 23| 4 +Brand#54 |SMALL POLISHED BRASS | 49| 4 +Brand#54 |SMALL POLISHED COPPER | 9| 4 +Brand#54 |SMALL POLISHED COPPER | 23| 4 +Brand#54 |SMALL POLISHED NICKEL | 9| 4 +Brand#54 |SMALL POLISHED NICKEL | 19| 4 +Brand#54 |SMALL POLISHED NICKEL | 45| 4 +Brand#54 |SMALL POLISHED STEEL | 14| 4 +Brand#54 |SMALL POLISHED STEEL | 19| 4 +Brand#54 |SMALL POLISHED STEEL | 36| 4 +Brand#54 |SMALL POLISHED STEEL | 45| 4 +Brand#54 |SMALL POLISHED TIN | 3| 4 +Brand#54 |SMALL POLISHED TIN | 9| 4 +Brand#54 |SMALL POLISHED TIN | 14| 4 +Brand#54 |SMALL POLISHED TIN | 19| 4 +Brand#54 |STANDARD ANODIZED BRASS | 14| 4 +Brand#54 |STANDARD ANODIZED BRASS | 19| 4 +Brand#54 |STANDARD ANODIZED BRASS | 36| 4 +Brand#54 |STANDARD ANODIZED BRASS | 49| 4 +Brand#54 |STANDARD ANODIZED COPPER | 3| 4 +Brand#54 |STANDARD ANODIZED COPPER | 19| 4 +Brand#54 |STANDARD ANODIZED COPPER | 45| 4 +Brand#54 |STANDARD ANODIZED NICKEL | 14| 4 +Brand#54 |STANDARD ANODIZED NICKEL | 45| 4 +Brand#54 |STANDARD ANODIZED STEEL | 9| 4 +Brand#54 |STANDARD ANODIZED STEEL | 19| 4 +Brand#54 |STANDARD ANODIZED STEEL | 36| 4 +Brand#54 |STANDARD ANODIZED STEEL | 45| 4 +Brand#54 |STANDARD ANODIZED TIN | 3| 4 +Brand#54 |STANDARD ANODIZED TIN | 23| 4 +Brand#54 |STANDARD ANODIZED TIN | 36| 4 +Brand#54 |STANDARD ANODIZED TIN | 49| 4 +Brand#54 |STANDARD BRUSHED BRASS | 3| 4 +Brand#54 |STANDARD BRUSHED BRASS | 23| 4 +Brand#54 |STANDARD BRUSHED COPPER | 3| 4 +Brand#54 |STANDARD BRUSHED COPPER | 9| 4 +Brand#54 |STANDARD BRUSHED NICKEL | 19| 4 +Brand#54 |STANDARD BRUSHED NICKEL | 45| 4 +Brand#54 |STANDARD BRUSHED STEEL | 3| 4 +Brand#54 |STANDARD BRUSHED STEEL | 14| 4 +Brand#54 |STANDARD BRUSHED STEEL | 19| 4 +Brand#54 |STANDARD BRUSHED TIN | 3| 4 +Brand#54 |STANDARD BRUSHED TIN | 36| 4 +Brand#54 |STANDARD BURNISHED BRASS | 19| 4 +Brand#54 |STANDARD BURNISHED BRASS | 23| 4 +Brand#54 |STANDARD BURNISHED BRASS | 49| 4 +Brand#54 |STANDARD BURNISHED COPPER| 14| 4 +Brand#54 |STANDARD BURNISHED COPPER| 23| 4 +Brand#54 |STANDARD BURNISHED NICKEL| 9| 4 +Brand#54 |STANDARD BURNISHED NICKEL| 19| 4 +Brand#54 |STANDARD BURNISHED NICKEL| 36| 4 +Brand#54 |STANDARD BURNISHED STEEL | 3| 4 +Brand#54 |STANDARD BURNISHED STEEL | 9| 4 +Brand#54 |STANDARD BURNISHED STEEL | 36| 4 +Brand#54 |STANDARD BURNISHED STEEL | 45| 4 +Brand#54 |STANDARD BURNISHED TIN | 3| 4 +Brand#54 |STANDARD BURNISHED TIN | 9| 4 +Brand#54 |STANDARD BURNISHED TIN | 36| 4 +Brand#54 |STANDARD BURNISHED TIN | 45| 4 +Brand#54 |STANDARD PLATED BRASS | 9| 4 +Brand#54 |STANDARD PLATED BRASS | 14| 4 +Brand#54 |STANDARD PLATED BRASS | 36| 4 +Brand#54 |STANDARD PLATED BRASS | 49| 4 +Brand#54 |STANDARD PLATED COPPER | 14| 4 +Brand#54 |STANDARD PLATED NICKEL | 3| 4 +Brand#54 |STANDARD PLATED NICKEL | 23| 4 +Brand#54 |STANDARD PLATED STEEL | 3| 4 +Brand#54 |STANDARD PLATED STEEL | 9| 4 +Brand#54 |STANDARD PLATED STEEL | 14| 4 +Brand#54 |STANDARD PLATED STEEL | 19| 4 +Brand#54 |STANDARD PLATED STEEL | 23| 4 +Brand#54 |STANDARD PLATED STEEL | 49| 4 +Brand#54 |STANDARD PLATED TIN | 9| 4 +Brand#54 |STANDARD POLISHED BRASS | 36| 4 +Brand#54 |STANDARD POLISHED COPPER | 36| 4 +Brand#54 |STANDARD POLISHED COPPER | 49| 4 +Brand#54 |STANDARD POLISHED NICKEL | 3| 4 +Brand#54 |STANDARD POLISHED NICKEL | 9| 4 +Brand#54 |STANDARD POLISHED NICKEL | 19| 4 +Brand#54 |STANDARD POLISHED NICKEL | 45| 4 +Brand#54 |STANDARD POLISHED NICKEL | 49| 4 +Brand#54 |STANDARD POLISHED STEEL | 3| 4 +Brand#54 |STANDARD POLISHED STEEL | 23| 4 +Brand#54 |STANDARD POLISHED STEEL | 45| 4 +Brand#54 |STANDARD POLISHED TIN | 3| 4 +Brand#54 |STANDARD POLISHED TIN | 23| 4 +Brand#55 |ECONOMY ANODIZED BRASS | 3| 4 +Brand#55 |ECONOMY ANODIZED BRASS | 14| 4 +Brand#55 |ECONOMY ANODIZED BRASS | 19| 4 +Brand#55 |ECONOMY ANODIZED BRASS | 23| 4 +Brand#55 |ECONOMY ANODIZED BRASS | 49| 4 +Brand#55 |ECONOMY ANODIZED COPPER | 3| 4 +Brand#55 |ECONOMY ANODIZED COPPER | 19| 4 +Brand#55 |ECONOMY ANODIZED COPPER | 36| 4 +Brand#55 |ECONOMY ANODIZED NICKEL | 3| 4 +Brand#55 |ECONOMY ANODIZED NICKEL | 19| 4 +Brand#55 |ECONOMY ANODIZED NICKEL | 23| 4 +Brand#55 |ECONOMY ANODIZED NICKEL | 36| 4 +Brand#55 |ECONOMY ANODIZED STEEL | 3| 4 +Brand#55 |ECONOMY ANODIZED STEEL | 23| 4 +Brand#55 |ECONOMY ANODIZED STEEL | 45| 4 +Brand#55 |ECONOMY ANODIZED TIN | 3| 4 +Brand#55 |ECONOMY BRUSHED BRASS | 9| 4 +Brand#55 |ECONOMY BRUSHED BRASS | 14| 4 +Brand#55 |ECONOMY BRUSHED BRASS | 19| 4 +Brand#55 |ECONOMY BRUSHED BRASS | 36| 4 +Brand#55 |ECONOMY BRUSHED BRASS | 45| 4 +Brand#55 |ECONOMY BRUSHED BRASS | 49| 4 +Brand#55 |ECONOMY BRUSHED COPPER | 3| 4 +Brand#55 |ECONOMY BRUSHED COPPER | 19| 4 +Brand#55 |ECONOMY BRUSHED COPPER | 45| 4 +Brand#55 |ECONOMY BRUSHED COPPER | 49| 4 +Brand#55 |ECONOMY BRUSHED NICKEL | 3| 4 +Brand#55 |ECONOMY BRUSHED NICKEL | 9| 4 +Brand#55 |ECONOMY BRUSHED NICKEL | 14| 4 +Brand#55 |ECONOMY BRUSHED NICKEL | 36| 4 +Brand#55 |ECONOMY BRUSHED NICKEL | 49| 4 +Brand#55 |ECONOMY BRUSHED STEEL | 14| 4 +Brand#55 |ECONOMY BRUSHED STEEL | 19| 4 +Brand#55 |ECONOMY BRUSHED STEEL | 23| 4 +Brand#55 |ECONOMY BRUSHED STEEL | 45| 4 +Brand#55 |ECONOMY BRUSHED TIN | 9| 4 +Brand#55 |ECONOMY BRUSHED TIN | 14| 4 +Brand#55 |ECONOMY BRUSHED TIN | 19| 4 +Brand#55 |ECONOMY BRUSHED TIN | 49| 4 +Brand#55 |ECONOMY BURNISHED BRASS | 36| 4 +Brand#55 |ECONOMY BURNISHED BRASS | 45| 4 +Brand#55 |ECONOMY BURNISHED BRASS | 49| 4 +Brand#55 |ECONOMY BURNISHED COPPER | 3| 4 +Brand#55 |ECONOMY BURNISHED COPPER | 14| 4 +Brand#55 |ECONOMY BURNISHED COPPER | 36| 4 +Brand#55 |ECONOMY BURNISHED NICKEL | 9| 4 +Brand#55 |ECONOMY BURNISHED NICKEL | 36| 4 +Brand#55 |ECONOMY BURNISHED NICKEL | 45| 4 +Brand#55 |ECONOMY BURNISHED STEEL | 3| 4 +Brand#55 |ECONOMY BURNISHED STEEL | 14| 4 +Brand#55 |ECONOMY BURNISHED STEEL | 36| 4 +Brand#55 |ECONOMY BURNISHED STEEL | 45| 4 +Brand#55 |ECONOMY BURNISHED TIN | 14| 4 +Brand#55 |ECONOMY PLATED BRASS | 3| 4 +Brand#55 |ECONOMY PLATED BRASS | 9| 4 +Brand#55 |ECONOMY PLATED BRASS | 14| 4 +Brand#55 |ECONOMY PLATED BRASS | 23| 4 +Brand#55 |ECONOMY PLATED BRASS | 36| 4 +Brand#55 |ECONOMY PLATED COPPER | 3| 4 +Brand#55 |ECONOMY PLATED COPPER | 9| 4 +Brand#55 |ECONOMY PLATED COPPER | 14| 4 +Brand#55 |ECONOMY PLATED NICKEL | 45| 4 +Brand#55 |ECONOMY PLATED STEEL | 3| 4 +Brand#55 |ECONOMY PLATED STEEL | 19| 4 +Brand#55 |ECONOMY PLATED STEEL | 36| 4 +Brand#55 |ECONOMY PLATED TIN | 3| 4 +Brand#55 |ECONOMY PLATED TIN | 14| 4 +Brand#55 |ECONOMY PLATED TIN | 36| 4 +Brand#55 |ECONOMY PLATED TIN | 45| 4 +Brand#55 |ECONOMY PLATED TIN | 49| 4 +Brand#55 |ECONOMY POLISHED BRASS | 3| 4 +Brand#55 |ECONOMY POLISHED BRASS | 9| 4 +Brand#55 |ECONOMY POLISHED BRASS | 14| 4 +Brand#55 |ECONOMY POLISHED BRASS | 36| 4 +Brand#55 |ECONOMY POLISHED BRASS | 45| 4 +Brand#55 |ECONOMY POLISHED COPPER | 14| 4 +Brand#55 |ECONOMY POLISHED NICKEL | 3| 4 +Brand#55 |ECONOMY POLISHED NICKEL | 23| 4 +Brand#55 |ECONOMY POLISHED NICKEL | 36| 4 +Brand#55 |ECONOMY POLISHED STEEL | 9| 4 +Brand#55 |ECONOMY POLISHED STEEL | 36| 4 +Brand#55 |ECONOMY POLISHED STEEL | 45| 4 +Brand#55 |ECONOMY POLISHED TIN | 3| 4 +Brand#55 |ECONOMY POLISHED TIN | 23| 4 +Brand#55 |ECONOMY POLISHED TIN | 45| 4 +Brand#55 |ECONOMY POLISHED TIN | 49| 4 +Brand#55 |LARGE ANODIZED BRASS | 3| 4 +Brand#55 |LARGE ANODIZED BRASS | 14| 4 +Brand#55 |LARGE ANODIZED BRASS | 19| 4 +Brand#55 |LARGE ANODIZED BRASS | 45| 4 +Brand#55 |LARGE ANODIZED BRASS | 49| 4 +Brand#55 |LARGE ANODIZED COPPER | 19| 4 +Brand#55 |LARGE ANODIZED COPPER | 49| 4 +Brand#55 |LARGE ANODIZED NICKEL | 3| 4 +Brand#55 |LARGE ANODIZED NICKEL | 49| 4 +Brand#55 |LARGE ANODIZED STEEL | 3| 4 +Brand#55 |LARGE ANODIZED STEEL | 19| 4 +Brand#55 |LARGE ANODIZED STEEL | 36| 4 +Brand#55 |LARGE ANODIZED STEEL | 45| 4 +Brand#55 |LARGE ANODIZED STEEL | 49| 4 +Brand#55 |LARGE ANODIZED TIN | 9| 4 +Brand#55 |LARGE ANODIZED TIN | 23| 4 +Brand#55 |LARGE BRUSHED BRASS | 19| 4 +Brand#55 |LARGE BRUSHED BRASS | 23| 4 +Brand#55 |LARGE BRUSHED BRASS | 36| 4 +Brand#55 |LARGE BRUSHED BRASS | 45| 4 +Brand#55 |LARGE BRUSHED COPPER | 36| 4 +Brand#55 |LARGE BRUSHED COPPER | 45| 4 +Brand#55 |LARGE BRUSHED NICKEL | 9| 4 +Brand#55 |LARGE BRUSHED NICKEL | 45| 4 +Brand#55 |LARGE BRUSHED NICKEL | 49| 4 +Brand#55 |LARGE BRUSHED STEEL | 3| 4 +Brand#55 |LARGE BRUSHED STEEL | 19| 4 +Brand#55 |LARGE BRUSHED STEEL | 36| 4 +Brand#55 |LARGE BRUSHED STEEL | 45| 4 +Brand#55 |LARGE BRUSHED TIN | 3| 4 +Brand#55 |LARGE BRUSHED TIN | 14| 4 +Brand#55 |LARGE BRUSHED TIN | 23| 4 +Brand#55 |LARGE BRUSHED TIN | 36| 4 +Brand#55 |LARGE BURNISHED BRASS | 9| 4 +Brand#55 |LARGE BURNISHED BRASS | 23| 4 +Brand#55 |LARGE BURNISHED BRASS | 36| 4 +Brand#55 |LARGE BURNISHED COPPER | 23| 4 +Brand#55 |LARGE BURNISHED COPPER | 45| 4 +Brand#55 |LARGE BURNISHED NICKEL | 3| 4 +Brand#55 |LARGE BURNISHED NICKEL | 9| 4 +Brand#55 |LARGE BURNISHED STEEL | 14| 4 +Brand#55 |LARGE BURNISHED TIN | 23| 4 +Brand#55 |LARGE BURNISHED TIN | 45| 4 +Brand#55 |LARGE PLATED BRASS | 19| 4 +Brand#55 |LARGE PLATED BRASS | 36| 4 +Brand#55 |LARGE PLATED BRASS | 49| 4 +Brand#55 |LARGE PLATED COPPER | 3| 4 +Brand#55 |LARGE PLATED COPPER | 19| 4 +Brand#55 |LARGE PLATED COPPER | 36| 4 +Brand#55 |LARGE PLATED NICKEL | 3| 4 +Brand#55 |LARGE PLATED NICKEL | 23| 4 +Brand#55 |LARGE PLATED NICKEL | 45| 4 +Brand#55 |LARGE PLATED NICKEL | 49| 4 +Brand#55 |LARGE PLATED STEEL | 9| 4 +Brand#55 |LARGE PLATED STEEL | 45| 4 +Brand#55 |LARGE PLATED TIN | 3| 4 +Brand#55 |LARGE PLATED TIN | 23| 4 +Brand#55 |LARGE PLATED TIN | 49| 4 +Brand#55 |LARGE POLISHED BRASS | 9| 4 +Brand#55 |LARGE POLISHED BRASS | 14| 4 +Brand#55 |LARGE POLISHED BRASS | 19| 4 +Brand#55 |LARGE POLISHED COPPER | 3| 4 +Brand#55 |LARGE POLISHED COPPER | 14| 4 +Brand#55 |LARGE POLISHED COPPER | 19| 4 +Brand#55 |LARGE POLISHED COPPER | 23| 4 +Brand#55 |LARGE POLISHED COPPER | 45| 4 +Brand#55 |LARGE POLISHED COPPER | 49| 4 +Brand#55 |LARGE POLISHED NICKEL | 23| 4 +Brand#55 |LARGE POLISHED NICKEL | 45| 4 +Brand#55 |LARGE POLISHED STEEL | 23| 4 +Brand#55 |LARGE POLISHED STEEL | 36| 4 +Brand#55 |LARGE POLISHED STEEL | 49| 4 +Brand#55 |LARGE POLISHED TIN | 3| 4 +Brand#55 |LARGE POLISHED TIN | 19| 4 +Brand#55 |LARGE POLISHED TIN | 23| 4 +Brand#55 |LARGE POLISHED TIN | 49| 4 +Brand#55 |MEDIUM ANODIZED BRASS | 3| 4 +Brand#55 |MEDIUM ANODIZED BRASS | 14| 4 +Brand#55 |MEDIUM ANODIZED BRASS | 19| 4 +Brand#55 |MEDIUM ANODIZED BRASS | 45| 4 +Brand#55 |MEDIUM ANODIZED COPPER | 9| 4 +Brand#55 |MEDIUM ANODIZED COPPER | 23| 4 +Brand#55 |MEDIUM ANODIZED COPPER | 45| 4 +Brand#55 |MEDIUM ANODIZED NICKEL | 3| 4 +Brand#55 |MEDIUM ANODIZED NICKEL | 9| 4 +Brand#55 |MEDIUM ANODIZED NICKEL | 23| 4 +Brand#55 |MEDIUM ANODIZED STEEL | 9| 4 +Brand#55 |MEDIUM ANODIZED STEEL | 23| 4 +Brand#55 |MEDIUM ANODIZED STEEL | 36| 4 +Brand#55 |MEDIUM ANODIZED STEEL | 45| 4 +Brand#55 |MEDIUM ANODIZED STEEL | 49| 4 +Brand#55 |MEDIUM ANODIZED TIN | 3| 4 +Brand#55 |MEDIUM ANODIZED TIN | 9| 4 +Brand#55 |MEDIUM ANODIZED TIN | 14| 4 +Brand#55 |MEDIUM ANODIZED TIN | 19| 4 +Brand#55 |MEDIUM ANODIZED TIN | 36| 4 +Brand#55 |MEDIUM BRUSHED BRASS | 3| 4 +Brand#55 |MEDIUM BRUSHED BRASS | 9| 4 +Brand#55 |MEDIUM BRUSHED BRASS | 36| 4 +Brand#55 |MEDIUM BRUSHED BRASS | 45| 4 +Brand#55 |MEDIUM BRUSHED COPPER | 9| 4 +Brand#55 |MEDIUM BRUSHED COPPER | 14| 4 +Brand#55 |MEDIUM BRUSHED COPPER | 19| 4 +Brand#55 |MEDIUM BRUSHED COPPER | 36| 4 +Brand#55 |MEDIUM BRUSHED NICKEL | 14| 4 +Brand#55 |MEDIUM BRUSHED NICKEL | 49| 4 +Brand#55 |MEDIUM BRUSHED STEEL | 3| 4 +Brand#55 |MEDIUM BRUSHED TIN | 23| 4 +Brand#55 |MEDIUM BRUSHED TIN | 49| 4 +Brand#55 |MEDIUM BURNISHED BRASS | 9| 4 +Brand#55 |MEDIUM BURNISHED BRASS | 23| 4 +Brand#55 |MEDIUM BURNISHED BRASS | 45| 4 +Brand#55 |MEDIUM BURNISHED BRASS | 49| 4 +Brand#55 |MEDIUM BURNISHED COPPER | 9| 4 +Brand#55 |MEDIUM BURNISHED COPPER | 14| 4 +Brand#55 |MEDIUM BURNISHED COPPER | 19| 4 +Brand#55 |MEDIUM BURNISHED NICKEL | 3| 4 +Brand#55 |MEDIUM BURNISHED NICKEL | 9| 4 +Brand#55 |MEDIUM BURNISHED NICKEL | 14| 4 +Brand#55 |MEDIUM BURNISHED NICKEL | 36| 4 +Brand#55 |MEDIUM BURNISHED STEEL | 9| 4 +Brand#55 |MEDIUM BURNISHED TIN | 3| 4 +Brand#55 |MEDIUM BURNISHED TIN | 23| 4 +Brand#55 |MEDIUM BURNISHED TIN | 49| 4 +Brand#55 |MEDIUM PLATED BRASS | 9| 4 +Brand#55 |MEDIUM PLATED BRASS | 14| 4 +Brand#55 |MEDIUM PLATED BRASS | 36| 4 +Brand#55 |MEDIUM PLATED BRASS | 49| 4 +Brand#55 |MEDIUM PLATED COPPER | 49| 4 +Brand#55 |MEDIUM PLATED NICKEL | 9| 4 +Brand#55 |MEDIUM PLATED NICKEL | 14| 4 +Brand#55 |MEDIUM PLATED NICKEL | 45| 4 +Brand#55 |MEDIUM PLATED STEEL | 9| 4 +Brand#55 |MEDIUM PLATED STEEL | 23| 4 +Brand#55 |MEDIUM PLATED STEEL | 49| 4 +Brand#55 |MEDIUM PLATED TIN | 45| 4 +Brand#55 |MEDIUM PLATED TIN | 49| 4 +Brand#55 |PROMO ANODIZED BRASS | 9| 4 +Brand#55 |PROMO ANODIZED COPPER | 19| 4 +Brand#55 |PROMO ANODIZED NICKEL | 23| 4 +Brand#55 |PROMO ANODIZED NICKEL | 45| 4 +Brand#55 |PROMO ANODIZED STEEL | 9| 4 +Brand#55 |PROMO ANODIZED STEEL | 14| 4 +Brand#55 |PROMO ANODIZED STEEL | 23| 4 +Brand#55 |PROMO ANODIZED TIN | 9| 4 +Brand#55 |PROMO ANODIZED TIN | 23| 4 +Brand#55 |PROMO BRUSHED BRASS | 14| 4 +Brand#55 |PROMO BRUSHED BRASS | 19| 4 +Brand#55 |PROMO BRUSHED BRASS | 49| 4 +Brand#55 |PROMO BRUSHED COPPER | 14| 4 +Brand#55 |PROMO BRUSHED COPPER | 23| 4 +Brand#55 |PROMO BRUSHED COPPER | 36| 4 +Brand#55 |PROMO BRUSHED COPPER | 45| 4 +Brand#55 |PROMO BRUSHED COPPER | 49| 4 +Brand#55 |PROMO BRUSHED NICKEL | 3| 4 +Brand#55 |PROMO BRUSHED NICKEL | 19| 4 +Brand#55 |PROMO BRUSHED STEEL | 14| 4 +Brand#55 |PROMO BRUSHED STEEL | 19| 4 +Brand#55 |PROMO BRUSHED TIN | 19| 4 +Brand#55 |PROMO BURNISHED BRASS | 9| 4 +Brand#55 |PROMO BURNISHED BRASS | 14| 4 +Brand#55 |PROMO BURNISHED BRASS | 19| 4 +Brand#55 |PROMO BURNISHED COPPER | 3| 4 +Brand#55 |PROMO BURNISHED COPPER | 49| 4 +Brand#55 |PROMO BURNISHED NICKEL | 14| 4 +Brand#55 |PROMO BURNISHED NICKEL | 19| 4 +Brand#55 |PROMO BURNISHED NICKEL | 23| 4 +Brand#55 |PROMO BURNISHED NICKEL | 45| 4 +Brand#55 |PROMO BURNISHED NICKEL | 49| 4 +Brand#55 |PROMO BURNISHED STEEL | 19| 4 +Brand#55 |PROMO BURNISHED STEEL | 36| 4 +Brand#55 |PROMO BURNISHED TIN | 3| 4 +Brand#55 |PROMO BURNISHED TIN | 14| 4 +Brand#55 |PROMO BURNISHED TIN | 23| 4 +Brand#55 |PROMO PLATED BRASS | 3| 4 +Brand#55 |PROMO PLATED BRASS | 49| 4 +Brand#55 |PROMO PLATED COPPER | 3| 4 +Brand#55 |PROMO PLATED COPPER | 45| 4 +Brand#55 |PROMO PLATED NICKEL | 3| 4 +Brand#55 |PROMO PLATED NICKEL | 23| 4 +Brand#55 |PROMO PLATED STEEL | 3| 4 +Brand#55 |PROMO PLATED STEEL | 23| 4 +Brand#55 |PROMO PLATED STEEL | 36| 4 +Brand#55 |PROMO PLATED STEEL | 45| 4 +Brand#55 |PROMO PLATED STEEL | 49| 4 +Brand#55 |PROMO PLATED TIN | 3| 4 +Brand#55 |PROMO PLATED TIN | 19| 4 +Brand#55 |PROMO PLATED TIN | 23| 4 +Brand#55 |PROMO POLISHED BRASS | 14| 4 +Brand#55 |PROMO POLISHED COPPER | 3| 4 +Brand#55 |PROMO POLISHED COPPER | 19| 4 +Brand#55 |PROMO POLISHED COPPER | 45| 4 +Brand#55 |PROMO POLISHED COPPER | 49| 4 +Brand#55 |PROMO POLISHED NICKEL | 3| 4 +Brand#55 |PROMO POLISHED NICKEL | 14| 4 +Brand#55 |PROMO POLISHED NICKEL | 19| 4 +Brand#55 |PROMO POLISHED NICKEL | 23| 4 +Brand#55 |PROMO POLISHED NICKEL | 36| 4 +Brand#55 |PROMO POLISHED STEEL | 19| 4 +Brand#55 |PROMO POLISHED STEEL | 45| 4 +Brand#55 |PROMO POLISHED STEEL | 49| 4 +Brand#55 |PROMO POLISHED TIN | 3| 4 +Brand#55 |PROMO POLISHED TIN | 9| 4 +Brand#55 |PROMO POLISHED TIN | 14| 4 +Brand#55 |PROMO POLISHED TIN | 19| 4 +Brand#55 |PROMO POLISHED TIN | 23| 4 +Brand#55 |PROMO POLISHED TIN | 36| 4 +Brand#55 |PROMO POLISHED TIN | 45| 4 +Brand#55 |PROMO POLISHED TIN | 49| 4 +Brand#55 |SMALL ANODIZED BRASS | 23| 4 +Brand#55 |SMALL ANODIZED BRASS | 36| 4 +Brand#55 |SMALL ANODIZED BRASS | 45| 4 +Brand#55 |SMALL ANODIZED COPPER | 9| 4 +Brand#55 |SMALL ANODIZED COPPER | 19| 4 +Brand#55 |SMALL ANODIZED COPPER | 23| 4 +Brand#55 |SMALL ANODIZED NICKEL | 9| 4 +Brand#55 |SMALL ANODIZED NICKEL | 14| 4 +Brand#55 |SMALL ANODIZED NICKEL | 23| 4 +Brand#55 |SMALL ANODIZED NICKEL | 36| 4 +Brand#55 |SMALL ANODIZED NICKEL | 45| 4 +Brand#55 |SMALL ANODIZED STEEL | 36| 4 +Brand#55 |SMALL ANODIZED TIN | 9| 4 +Brand#55 |SMALL ANODIZED TIN | 36| 4 +Brand#55 |SMALL ANODIZED TIN | 45| 4 +Brand#55 |SMALL ANODIZED TIN | 49| 4 +Brand#55 |SMALL BRUSHED BRASS | 9| 4 +Brand#55 |SMALL BRUSHED BRASS | 36| 4 +Brand#55 |SMALL BRUSHED COPPER | 3| 4 +Brand#55 |SMALL BRUSHED COPPER | 9| 4 +Brand#55 |SMALL BRUSHED COPPER | 19| 4 +Brand#55 |SMALL BRUSHED COPPER | 23| 4 +Brand#55 |SMALL BRUSHED NICKEL | 3| 4 +Brand#55 |SMALL BRUSHED NICKEL | 9| 4 +Brand#55 |SMALL BRUSHED NICKEL | 19| 4 +Brand#55 |SMALL BRUSHED NICKEL | 23| 4 +Brand#55 |SMALL BRUSHED NICKEL | 45| 4 +Brand#55 |SMALL BRUSHED NICKEL | 49| 4 +Brand#55 |SMALL BRUSHED STEEL | 3| 4 +Brand#55 |SMALL BRUSHED STEEL | 14| 4 +Brand#55 |SMALL BRUSHED STEEL | 19| 4 +Brand#55 |SMALL BRUSHED STEEL | 23| 4 +Brand#55 |SMALL BRUSHED STEEL | 45| 4 +Brand#55 |SMALL BRUSHED STEEL | 49| 4 +Brand#55 |SMALL BRUSHED TIN | 9| 4 +Brand#55 |SMALL BRUSHED TIN | 49| 4 +Brand#55 |SMALL BURNISHED BRASS | 14| 4 +Brand#55 |SMALL BURNISHED BRASS | 23| 4 +Brand#55 |SMALL BURNISHED COPPER | 3| 4 +Brand#55 |SMALL BURNISHED COPPER | 9| 4 +Brand#55 |SMALL BURNISHED COPPER | 36| 4 +Brand#55 |SMALL BURNISHED NICKEL | 9| 4 +Brand#55 |SMALL BURNISHED NICKEL | 19| 4 +Brand#55 |SMALL BURNISHED NICKEL | 36| 4 +Brand#55 |SMALL BURNISHED NICKEL | 45| 4 +Brand#55 |SMALL BURNISHED STEEL | 14| 4 +Brand#55 |SMALL BURNISHED TIN | 9| 4 +Brand#55 |SMALL BURNISHED TIN | 23| 4 +Brand#55 |SMALL PLATED COPPER | 3| 4 +Brand#55 |SMALL PLATED COPPER | 14| 4 +Brand#55 |SMALL PLATED COPPER | 36| 4 +Brand#55 |SMALL PLATED COPPER | 49| 4 +Brand#55 |SMALL PLATED NICKEL | 14| 4 +Brand#55 |SMALL PLATED NICKEL | 49| 4 +Brand#55 |SMALL PLATED STEEL | 3| 4 +Brand#55 |SMALL PLATED STEEL | 23| 4 +Brand#55 |SMALL PLATED STEEL | 36| 4 +Brand#55 |SMALL PLATED TIN | 36| 4 +Brand#55 |SMALL PLATED TIN | 45| 4 +Brand#55 |SMALL POLISHED BRASS | 9| 4 +Brand#55 |SMALL POLISHED BRASS | 19| 4 +Brand#55 |SMALL POLISHED BRASS | 49| 4 +Brand#55 |SMALL POLISHED COPPER | 19| 4 +Brand#55 |SMALL POLISHED COPPER | 23| 4 +Brand#55 |SMALL POLISHED COPPER | 36| 4 +Brand#55 |SMALL POLISHED COPPER | 45| 4 +Brand#55 |SMALL POLISHED COPPER | 49| 4 +Brand#55 |SMALL POLISHED NICKEL | 9| 4 +Brand#55 |SMALL POLISHED NICKEL | 14| 4 +Brand#55 |SMALL POLISHED NICKEL | 19| 4 +Brand#55 |SMALL POLISHED NICKEL | 23| 4 +Brand#55 |SMALL POLISHED NICKEL | 45| 4 +Brand#55 |SMALL POLISHED NICKEL | 49| 4 +Brand#55 |SMALL POLISHED STEEL | 19| 4 +Brand#55 |SMALL POLISHED STEEL | 45| 4 +Brand#55 |SMALL POLISHED TIN | 14| 4 +Brand#55 |SMALL POLISHED TIN | 23| 4 +Brand#55 |SMALL POLISHED TIN | 45| 4 +Brand#55 |STANDARD ANODIZED BRASS | 9| 4 +Brand#55 |STANDARD ANODIZED BRASS | 23| 4 +Brand#55 |STANDARD ANODIZED BRASS | 49| 4 +Brand#55 |STANDARD ANODIZED COPPER | 9| 4 +Brand#55 |STANDARD ANODIZED COPPER | 14| 4 +Brand#55 |STANDARD ANODIZED COPPER | 45| 4 +Brand#55 |STANDARD ANODIZED NICKEL | 3| 4 +Brand#55 |STANDARD ANODIZED NICKEL | 14| 4 +Brand#55 |STANDARD ANODIZED NICKEL | 45| 4 +Brand#55 |STANDARD ANODIZED NICKEL | 49| 4 +Brand#55 |STANDARD ANODIZED STEEL | 3| 4 +Brand#55 |STANDARD ANODIZED STEEL | 14| 4 +Brand#55 |STANDARD ANODIZED TIN | 14| 4 +Brand#55 |STANDARD ANODIZED TIN | 36| 4 +Brand#55 |STANDARD ANODIZED TIN | 45| 4 +Brand#55 |STANDARD BRUSHED BRASS | 9| 4 +Brand#55 |STANDARD BRUSHED BRASS | 19| 4 +Brand#55 |STANDARD BRUSHED COPPER | 14| 4 +Brand#55 |STANDARD BRUSHED COPPER | 19| 4 +Brand#55 |STANDARD BRUSHED NICKEL | 3| 4 +Brand#55 |STANDARD BRUSHED NICKEL | 36| 4 +Brand#55 |STANDARD BRUSHED STEEL | 9| 4 +Brand#55 |STANDARD BRUSHED STEEL | 14| 4 +Brand#55 |STANDARD BRUSHED STEEL | 19| 4 +Brand#55 |STANDARD BRUSHED STEEL | 49| 4 +Brand#55 |STANDARD BRUSHED TIN | 19| 4 +Brand#55 |STANDARD BRUSHED TIN | 49| 4 +Brand#55 |STANDARD BURNISHED BRASS | 9| 4 +Brand#55 |STANDARD BURNISHED BRASS | 19| 4 +Brand#55 |STANDARD BURNISHED BRASS | 23| 4 +Brand#55 |STANDARD BURNISHED BRASS | 36| 4 +Brand#55 |STANDARD BURNISHED COPPER| 3| 4 +Brand#55 |STANDARD BURNISHED NICKEL| 9| 4 +Brand#55 |STANDARD BURNISHED NICKEL| 49| 4 +Brand#55 |STANDARD BURNISHED STEEL | 19| 4 +Brand#55 |STANDARD BURNISHED STEEL | 23| 4 +Brand#55 |STANDARD BURNISHED STEEL | 36| 4 +Brand#55 |STANDARD BURNISHED STEEL | 45| 4 +Brand#55 |STANDARD BURNISHED TIN | 9| 4 +Brand#55 |STANDARD BURNISHED TIN | 19| 4 +Brand#55 |STANDARD BURNISHED TIN | 36| 4 +Brand#55 |STANDARD BURNISHED TIN | 49| 4 +Brand#55 |STANDARD PLATED BRASS | 9| 4 +Brand#55 |STANDARD PLATED BRASS | 45| 4 +Brand#55 |STANDARD PLATED BRASS | 49| 4 +Brand#55 |STANDARD PLATED COPPER | 9| 4 +Brand#55 |STANDARD PLATED COPPER | 45| 4 +Brand#55 |STANDARD PLATED NICKEL | 3| 4 +Brand#55 |STANDARD PLATED NICKEL | 19| 4 +Brand#55 |STANDARD PLATED NICKEL | 45| 4 +Brand#55 |STANDARD PLATED STEEL | 14| 4 +Brand#55 |STANDARD PLATED STEEL | 23| 4 +Brand#55 |STANDARD PLATED STEEL | 49| 4 +Brand#55 |STANDARD PLATED TIN | 9| 4 +Brand#55 |STANDARD PLATED TIN | 14| 4 +Brand#55 |STANDARD PLATED TIN | 36| 4 +Brand#55 |STANDARD POLISHED BRASS | 3| 4 +Brand#55 |STANDARD POLISHED BRASS | 9| 4 +Brand#55 |STANDARD POLISHED BRASS | 23| 4 +Brand#55 |STANDARD POLISHED COPPER | 3| 4 +Brand#55 |STANDARD POLISHED COPPER | 23| 4 +Brand#55 |STANDARD POLISHED COPPER | 45| 4 +Brand#55 |STANDARD POLISHED NICKEL | 3| 4 +Brand#55 |STANDARD POLISHED NICKEL | 23| 4 +Brand#55 |STANDARD POLISHED NICKEL | 36| 4 +Brand#55 |STANDARD POLISHED NICKEL | 45| 4 +Brand#55 |STANDARD POLISHED NICKEL | 49| 4 +Brand#55 |STANDARD POLISHED STEEL | 14| 4 +Brand#55 |STANDARD POLISHED STEEL | 23| 4 +Brand#55 |STANDARD POLISHED TIN | 9| 4 +Brand#55 |STANDARD POLISHED TIN | 19| 4 +Brand#55 |STANDARD POLISHED TIN | 36| 4 +Brand#11 |SMALL BRUSHED TIN | 19| 3 +Brand#15 |LARGE PLATED NICKEL | 45| 3 +Brand#15 |LARGE POLISHED NICKEL | 9| 3 +Brand#21 |PROMO BURNISHED STEEL | 45| 3 +Brand#22 |STANDARD PLATED STEEL | 23| 3 +Brand#25 |LARGE PLATED STEEL | 19| 3 +Brand#32 |STANDARD ANODIZED COPPER | 23| 3 +Brand#33 |SMALL ANODIZED BRASS | 9| 3 +Brand#35 |MEDIUM ANODIZED TIN | 19| 3 +Brand#51 |SMALL PLATED BRASS | 23| 3 +Brand#52 |MEDIUM BRUSHED BRASS | 45| 3 +Brand#53 |MEDIUM BRUSHED TIN | 45| 3 +Brand#54 |ECONOMY POLISHED BRASS | 9| 3 +Brand#55 |PROMO PLATED BRASS | 19| 3 +Brand#55 |STANDARD PLATED TIN | 49| 3 diff --git a/tpch/00_compile_tpch/dbgen/answers/q17.out b/tpch/00_compile_tpch/dbgen/answers/q17.out new file mode 100644 index 0000000..c7e570a --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/answers/q17.out @@ -0,0 +1,2 @@ +avg_yearly +348406.02 diff --git a/tpch/00_compile_tpch/dbgen/answers/q18.out b/tpch/00_compile_tpch/dbgen/answers/q18.out new file mode 100644 index 0000000..9e036c6 --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/answers/q18.out @@ -0,0 +1,58 @@ +c_name |c_custkey |o_orderkey |o_orderdat|o_totalprice |col6 +Customer#000128120 | 128120| 4722021|1994-04-07|544089.09|323.00 +Customer#000144617 | 144617| 3043270|1997-02-12|530604.44|317.00 +Customer#000013940 | 13940| 2232932|1997-04-13|522720.61|304.00 +Customer#000066790 | 66790| 2199712|1996-09-30|515531.82|327.00 +Customer#000046435 | 46435| 4745607|1997-07-03|508047.99|309.00 +Customer#000015272 | 15272| 3883783|1993-07-28|500241.33|302.00 +Customer#000146608 | 146608| 3342468|1994-06-12|499794.58|303.00 +Customer#000096103 | 96103| 5984582|1992-03-16|494398.79|312.00 +Customer#000024341 | 24341| 1474818|1992-11-15|491348.26|302.00 +Customer#000137446 | 137446| 5489475|1997-05-23|487763.25|311.00 +Customer#000107590 | 107590| 4267751|1994-11-04|485141.38|301.00 +Customer#000050008 | 50008| 2366755|1996-12-09|483891.26|302.00 +Customer#000015619 | 15619| 3767271|1996-08-07|480083.96|318.00 +Customer#000077260 | 77260| 1436544|1992-09-12|479499.43|307.00 +Customer#000109379 | 109379| 5746311|1996-10-10|478064.11|302.00 +Customer#000054602 | 54602| 5832321|1997-02-09|471220.08|307.00 +Customer#000105995 | 105995| 2096705|1994-07-03|469692.58|307.00 +Customer#000148885 | 148885| 2942469|1992-05-31|469630.44|313.00 +Customer#000114586 | 114586| 551136|1993-05-19|469605.59|308.00 +Customer#000105260 | 105260| 5296167|1996-09-06|469360.57|303.00 +Customer#000147197 | 147197| 1263015|1997-02-02|467149.67|320.00 +Customer#000064483 | 64483| 2745894|1996-07-04|466991.35|304.00 +Customer#000136573 | 136573| 2761378|1996-05-31|461282.73|301.00 +Customer#000016384 | 16384| 502886|1994-04-12|458378.92|312.00 +Customer#000117919 | 117919| 2869152|1996-06-20|456815.92|317.00 +Customer#000012251 | 12251| 735366|1993-11-24|455107.26|309.00 +Customer#000120098 | 120098| 1971680|1995-06-14|453451.23|308.00 +Customer#000066098 | 66098| 5007490|1992-08-07|453436.16|304.00 +Customer#000117076 | 117076| 4290656|1997-02-05|449545.85|301.00 +Customer#000129379 | 129379| 4720454|1997-06-07|448665.79|303.00 +Customer#000126865 | 126865| 4702759|1994-11-07|447606.65|320.00 +Customer#000088876 | 88876| 983201|1993-12-30|446717.46|304.00 +Customer#000036619 | 36619| 4806726|1995-01-17|446704.09|328.00 +Customer#000141823 | 141823| 2806245|1996-12-29|446269.12|310.00 +Customer#000053029 | 53029| 2662214|1993-08-13|446144.49|302.00 +Customer#000018188 | 18188| 3037414|1995-01-25|443807.22|308.00 +Customer#000066533 | 66533| 29158|1995-10-21|443576.50|305.00 +Customer#000037729 | 37729| 4134341|1995-06-29|441082.97|309.00 +Customer#000003566 | 3566| 2329187|1998-01-04|439803.36|304.00 +Customer#000045538 | 45538| 4527553|1994-05-22|436275.31|305.00 +Customer#000081581 | 81581| 4739650|1995-11-04|435405.90|305.00 +Customer#000119989 | 119989| 1544643|1997-09-20|434568.25|320.00 +Customer#000003680 | 3680| 3861123|1998-07-03|433525.97|301.00 +Customer#000113131 | 113131| 967334|1995-12-15|432957.75|301.00 +Customer#000141098 | 141098| 565574|1995-09-24|430986.69|301.00 +Customer#000093392 | 93392| 5200102|1997-01-22|425487.51|304.00 +Customer#000015631 | 15631| 1845057|1994-05-12|419879.59|302.00 +Customer#000112987 | 112987| 4439686|1996-09-17|418161.49|305.00 +Customer#000012599 | 12599| 4259524|1998-02-12|415200.61|304.00 +Customer#000105410 | 105410| 4478371|1996-03-05|412754.51|302.00 +Customer#000149842 | 149842| 5156581|1994-05-30|411329.35|302.00 +Customer#000010129 | 10129| 5849444|1994-03-21|409129.85|309.00 +Customer#000069904 | 69904| 1742403|1996-10-19|408513.00|305.00 +Customer#000017746 | 17746| 6882|1997-04-09|408446.93|303.00 +Customer#000013072 | 13072| 1481925|1998-03-15|399195.47|301.00 +Customer#000082441 | 82441| 857959|1994-02-07|382579.74|305.00 +Customer#000088703 | 88703| 2995076|1994-01-30|363812.12|302.00 diff --git a/tpch/00_compile_tpch/dbgen/answers/q19.out b/tpch/00_compile_tpch/dbgen/answers/q19.out new file mode 100644 index 0000000..3711427 --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/answers/q19.out @@ -0,0 +1,2 @@ +revenue +3083843.06 diff --git a/tpch/00_compile_tpch/dbgen/answers/q2.out b/tpch/00_compile_tpch/dbgen/answers/q2.out new file mode 100644 index 0000000..487b9fb --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/answers/q2.out @@ -0,0 +1,101 @@ +s_acctbal |s_name |n_name |p_partkey |p_mfgr |s_address |s_phone |s_comment +9938.53|Supplier#000005359 |UNITED KINGDOM | 185358|Manufacturer#4 |QKuHYh,vZGiwu2FWEJoLDx04 |33-429-790-6131|uriously regular requests hag +9937.84|Supplier#000005969 |ROMANIA | 108438|Manufacturer#1 |ANDENSOSmk,miq23Xfb5RWt6dvUcvt6Qa |29-520-692-3537|efully express instructions. regular requests against the slyly fin +9936.22|Supplier#000005250 |UNITED KINGDOM | 249|Manufacturer#4 |B3rqp0xbSEim4Mpy2RH J |33-320-228-2957|etect about the furiously final accounts. slyly ironic pinto beans sleep inside the furiously +9923.77|Supplier#000002324 |GERMANY | 29821|Manufacturer#4 |y3OD9UywSTOk |17-779-299-1839|ackages boost blithely. blithely regular deposits c +9871.22|Supplier#000006373 |GERMANY | 43868|Manufacturer#5 |J8fcXWsTqM |17-813-485-8637|etect blithely bold asymptotes. fluffily ironic platelets wake furiously; blit +9870.78|Supplier#000001286 |GERMANY | 81285|Manufacturer#2 |YKA,E2fjiVd7eUrzp2Ef8j1QxGo2DFnosaTEH |17-516-924-4574| regular accounts. furiously unusual courts above the fi +9870.78|Supplier#000001286 |GERMANY | 181285|Manufacturer#4 |YKA,E2fjiVd7eUrzp2Ef8j1QxGo2DFnosaTEH |17-516-924-4574| regular accounts. furiously unusual courts above the fi +9852.52|Supplier#000008973 |RUSSIA | 18972|Manufacturer#2 |t5L67YdBYYH6o,Vz24jpDyQ9 |32-188-594-7038|rns wake final foxes. carefully unusual depende +9847.83|Supplier#000008097 |RUSSIA | 130557|Manufacturer#2 |xMe97bpE69NzdwLoX |32-375-640-3593| the special excuses. silent sentiments serve carefully final ac +9847.57|Supplier#000006345 |FRANCE | 86344|Manufacturer#1 |VSt3rzk3qG698u6ld8HhOByvrTcSTSvQlDQDag |16-886-766-7945|ges. slyly regular requests are. ruthless, express excuses cajole blithely across the unu +9847.57|Supplier#000006345 |FRANCE | 173827|Manufacturer#2 |VSt3rzk3qG698u6ld8HhOByvrTcSTSvQlDQDag |16-886-766-7945|ges. slyly regular requests are. ruthless, express excuses cajole blithely across the unu +9836.93|Supplier#000007342 |RUSSIA | 4841|Manufacturer#4 |JOlK7C1,7xrEZSSOw |32-399-414-5385|blithely carefully bold theodolites. fur +9817.10|Supplier#000002352 |RUSSIA | 124815|Manufacturer#2 |4LfoHUZjgjEbAKw TgdKcgOc4D4uCYw |32-551-831-1437|wake carefully alongside of the carefully final ex +9817.10|Supplier#000002352 |RUSSIA | 152351|Manufacturer#3 |4LfoHUZjgjEbAKw TgdKcgOc4D4uCYw |32-551-831-1437|wake carefully alongside of the carefully final ex +9739.86|Supplier#000003384 |FRANCE | 138357|Manufacturer#2 |o,Z3v4POifevE k9U1b 6J1ucX,I |16-494-913-5925|s after the furiously bold packages sleep fluffily idly final requests: quickly final +9721.95|Supplier#000008757 |UNITED KINGDOM | 156241|Manufacturer#3 |Atg6GnM4dT2 |33-821-407-2995|eep furiously sauternes; quickl +9681.33|Supplier#000008406 |RUSSIA | 78405|Manufacturer#1 |,qUuXcftUl |32-139-873-8571|haggle slyly regular excuses. quic +9643.55|Supplier#000005148 |ROMANIA | 107617|Manufacturer#1 |kT4ciVFslx9z4s79p Js825 |29-252-617-4850|final excuses. final ideas boost quickly furiously speci +9624.82|Supplier#000001816 |FRANCE | 34306|Manufacturer#3 |e7vab91vLJPWxxZnewmnDBpDmxYHrb |16-392-237-6726|e packages are around the special ideas. special, pending foxes us +9624.78|Supplier#000009658 |ROMANIA | 189657|Manufacturer#1 |oE9uBgEfSS4opIcepXyAYM,x |29-748-876-2014|ronic asymptotes wake bravely final +9612.94|Supplier#000003228 |ROMANIA | 120715|Manufacturer#2 |KDdpNKN3cWu7ZSrbdqp7AfSLxx,qWB |29-325-784-8187|warhorses. quickly even deposits sublate daringly ironic instructions. slyly blithe t +9612.94|Supplier#000003228 |ROMANIA | 198189|Manufacturer#4 |KDdpNKN3cWu7ZSrbdqp7AfSLxx,qWB |29-325-784-8187|warhorses. quickly even deposits sublate daringly ironic instructions. slyly blithe t +9571.83|Supplier#000004305 |ROMANIA | 179270|Manufacturer#2 |qNHZ7WmCzygwMPRDO9Ps |29-973-481-1831|kly carefully express asymptotes. furiou +9558.10|Supplier#000003532 |UNITED KINGDOM | 88515|Manufacturer#4 |EOeuiiOn21OVpTlGguufFDFsbN1p0lhpxHp |33-152-301-2164| foxes. quickly even excuses use. slyly special foxes nag bl +9492.79|Supplier#000005975 |GERMANY | 25974|Manufacturer#5 |S6mIiCTx82z7lV |17-992-579-4839|arefully pending accounts. blithely regular excuses boost carefully carefully ironic p +9461.05|Supplier#000002536 |UNITED KINGDOM | 20033|Manufacturer#1 |8mmGbyzaU 7ZS2wJumTibypncu9pNkDc4FYA |33-556-973-5522|. slyly regular deposits wake slyly. furiously regular warthogs are. +9453.01|Supplier#000000802 |ROMANIA | 175767|Manufacturer#1 |,6HYXb4uaHITmtMBj4Ak57Pd |29-342-882-6463|gular frets. permanently special multipliers believe blithely alongs +9408.65|Supplier#000007772 |UNITED KINGDOM | 117771|Manufacturer#4 |AiC5YAH,gdu0i7 |33-152-491-1126|nag against the final requests. furiously unusual packages cajole blit +9359.61|Supplier#000004856 |ROMANIA | 62349|Manufacturer#5 |HYogcF3Jb yh1 |29-334-870-9731|y ironic theodolites. blithely sile +9357.45|Supplier#000006188 |UNITED KINGDOM | 138648|Manufacturer#1 |g801,ssP8wpTk4Hm |33-583-607-1633|ously always regular packages. fluffily even accounts beneath the furiously final pack +9352.04|Supplier#000003439 |GERMANY | 170921|Manufacturer#4 |qYPDgoiBGhCYxjgC |17-128-996-4650| according to the carefully bold ideas +9312.97|Supplier#000007807 |RUSSIA | 90279|Manufacturer#5 |oGYMPCk9XHGB2PBfKRnHA |32-673-872-5854|ecial packages among the pending, even requests use regula +9312.97|Supplier#000007807 |RUSSIA | 100276|Manufacturer#5 |oGYMPCk9XHGB2PBfKRnHA |32-673-872-5854|ecial packages among the pending, even requests use regula +9280.27|Supplier#000007194 |ROMANIA | 47193|Manufacturer#3 |zhRUQkBSrFYxIAXTfInj vyGRQjeK |29-318-454-2133|o beans haggle after the furiously unusual deposits. carefully silent dolphins cajole carefully +9274.80|Supplier#000008854 |RUSSIA | 76346|Manufacturer#3 |1xhLoOUM7I3mZ1mKnerw OSqdbb4QbGa |32-524-148-5221|y. courts do wake slyly. carefully ironic platelets haggle above the slyly regular the +9249.35|Supplier#000003973 |FRANCE | 26466|Manufacturer#1 |d18GiDsL6Wm2IsGXM,RZf1jCsgZAOjNYVThTRP4 |16-722-866-1658|uests are furiously. regular tithes through the regular, final accounts cajole furiously above the q +9249.35|Supplier#000003973 |FRANCE | 33972|Manufacturer#1 |d18GiDsL6Wm2IsGXM,RZf1jCsgZAOjNYVThTRP4 |16-722-866-1658|uests are furiously. regular tithes through the regular, final accounts cajole furiously above the q +9208.70|Supplier#000007769 |ROMANIA | 40256|Manufacturer#5 |rsimdze 5o9P Ht7xS |29-964-424-9649|lites was quickly above the furiously ironic requests. slyly even foxes against the blithely bold +9201.47|Supplier#000009690 |UNITED KINGDOM | 67183|Manufacturer#5 |CB BnUTlmi5zdeEl7R7 |33-121-267-9529|e even, even foxes. blithely ironic packages cajole regular packages. slyly final ide +9192.10|Supplier#000000115 |UNITED KINGDOM | 85098|Manufacturer#3 |nJ 2t0f7Ve,wL1,6WzGBJLNBUCKlsV |33-597-248-1220|es across the carefully express accounts boost caref +9189.98|Supplier#000001226 |GERMANY | 21225|Manufacturer#4 |qsLCqSvLyZfuXIpjz |17-725-903-1381| deposits. blithely bold excuses about the slyly bold forges wake +9128.97|Supplier#000004311 |RUSSIA | 146768|Manufacturer#5 |I8IjnXd7NSJRs594RxsRR0 |32-155-440-7120|refully. blithely unusual asymptotes haggle +9104.83|Supplier#000008520 |GERMANY | 150974|Manufacturer#4 |RqRVDgD0ER J9 b41vR2,3 |17-728-804-1793|ly about the blithely ironic depths. slyly final theodolites among the fluffily bold ideas print +9101.00|Supplier#000005791 |ROMANIA | 128254|Manufacturer#5 |zub2zCV,jhHPPQqi,P2INAjE1zI n66cOEoXFG |29-549-251-5384|ts. notornis detect blithely above the carefully bold requests. blithely even package +9094.57|Supplier#000004582 |RUSSIA | 39575|Manufacturer#1 |WB0XkCSG3r,mnQ n,h9VIxjjr9ARHFvKgMDf |32-587-577-1351|jole. regular accounts sleep blithely frets. final pinto beans play furiously past the +8996.87|Supplier#000004702 |FRANCE | 102191|Manufacturer#5 |8XVcQK23akp |16-811-269-8946|ickly final packages along the express plat +8996.14|Supplier#000009814 |ROMANIA | 139813|Manufacturer#2 |af0O5pg83lPU4IDVmEylXZVqYZQzSDlYLAmR |29-995-571-8781| dependencies boost quickly across the furiously pending requests! unusual dolphins play sl +8968.42|Supplier#000010000 |ROMANIA | 119999|Manufacturer#5 |aTGLEusCiL4F PDBdv665XBJhPyCOB0i |29-578-432-2146|ly regular foxes boost slyly. quickly special waters boost carefully ironi +8936.82|Supplier#000007043 |UNITED KINGDOM | 109512|Manufacturer#1 |FVajceZInZdbJE6Z9XsRUxrUEpiwHDrOXi,1Rz |33-784-177-8208|efully regular courts. furiousl +8929.42|Supplier#000008770 |FRANCE | 173735|Manufacturer#4 |R7cG26TtXrHAP9 HckhfRi |16-242-746-9248|cajole furiously unusual requests. quickly stealthy requests are. +8920.59|Supplier#000003967 |ROMANIA | 26460|Manufacturer#1 |eHoAXe62SY9 |29-194-731-3944|aters. express, pending instructions sleep. brave, r +8920.59|Supplier#000003967 |ROMANIA | 173966|Manufacturer#2 |eHoAXe62SY9 |29-194-731-3944|aters. express, pending instructions sleep. brave, r +8913.96|Supplier#000004603 |UNITED KINGDOM | 137063|Manufacturer#2 |OUzlvMUr7n,utLxmPNeYKSf3T24OXskxB5 |33-789-255-7342| haggle slyly above the furiously regular pinto beans. even +8877.82|Supplier#000007967 |FRANCE | 167966|Manufacturer#5 |A3pi1BARM4nx6R,qrwFoRPU |16-442-147-9345|ously foxes. express, ironic requests im +8862.24|Supplier#000003323 |ROMANIA | 73322|Manufacturer#3 |W9 lYcsC9FwBqk3ItL |29-736-951-3710|ly pending ideas sleep about the furiously unu +8841.59|Supplier#000005750 |ROMANIA | 100729|Manufacturer#5 |Erx3lAgu0g62iaHF9x50uMH4EgeN9hEG |29-344-502-5481|gainst the pinto beans. fluffily unusual dependencies affix slyly even deposits. +8781.71|Supplier#000003121 |ROMANIA | 13120|Manufacturer#5 |wNqTogx238ZYCamFb,50v,bj 4IbNFW9Bvw1xP |29-707-291-5144|s wake quickly ironic ideas +8754.24|Supplier#000009407 |UNITED KINGDOM | 179406|Manufacturer#4 |CHRCbkaWcf5B |33-903-970-9604|e ironic requests. carefully even foxes above the furious +8691.06|Supplier#000004429 |UNITED KINGDOM | 126892|Manufacturer#2 |k,BQms5UhoAF1B2Asi,fLib |33-964-337-5038|efully express deposits kindle after the deposits. final +8655.99|Supplier#000006330 |RUSSIA | 193810|Manufacturer#2 |UozlaENr0ytKe2w6CeIEWFWn iO3S8Rae7Ou |32-561-198-3705|symptotes use about the express dolphins. requests use after the express platelets. final, ex +8638.36|Supplier#000002920 |RUSSIA | 75398|Manufacturer#1 |Je2a8bszf3L |32-122-621-7549|ly quickly ironic requests. even requests whithout t +8638.36|Supplier#000002920 |RUSSIA | 170402|Manufacturer#3 |Je2a8bszf3L |32-122-621-7549|ly quickly ironic requests. even requests whithout t +8607.69|Supplier#000006003 |UNITED KINGDOM | 76002|Manufacturer#2 |EH9wADcEiuenM0NR08zDwMidw,52Y2RyILEiA |33-416-807-5206|ar, pending accounts. pending depende +8569.52|Supplier#000005936 |RUSSIA | 5935|Manufacturer#5 |jXaNZ6vwnEWJ2ksLZJpjtgt0bY2a3AU |32-644-251-7916|. regular foxes nag carefully atop the regular, silent deposits. quickly regular packages +8564.12|Supplier#000000033 |GERMANY | 110032|Manufacturer#1 |gfeKpYw3400L0SDywXA6Ya1Qmq1w6YB9f3R |17-138-897-9374|n sauternes along the regular asymptotes are regularly along the +8553.82|Supplier#000003979 |ROMANIA | 143978|Manufacturer#4 |BfmVhCAnCMY3jzpjUMy4CNWs9 HzpdQR7INJU |29-124-646-4897|ic requests wake against the blithely unusual accounts. fluffily r +8517.23|Supplier#000009529 |RUSSIA | 37025|Manufacturer#5 |e44R8o7JAIS9iMcr |32-565-297-8775|ove the even courts. furiously special platelets +8517.23|Supplier#000009529 |RUSSIA | 59528|Manufacturer#2 |e44R8o7JAIS9iMcr |32-565-297-8775|ove the even courts. furiously special platelets +8503.70|Supplier#000006830 |RUSSIA | 44325|Manufacturer#4 |BC4WFCYRUZyaIgchU 4S |32-147-878-5069|pades cajole. furious packages among the carefully express excuses boost furiously across th +8457.09|Supplier#000009456 |UNITED KINGDOM | 19455|Manufacturer#1 |7SBhZs8gP1cJjT0Qf433YBk |33-858-440-4349|cing requests along the furiously unusual deposits promise among the furiously unus +8441.40|Supplier#000003817 |FRANCE | 141302|Manufacturer#2 |hU3fz3xL78 |16-339-356-5115|ely even ideas. ideas wake slyly furiously unusual instructions. pinto beans sleep ag +8432.89|Supplier#000003990 |RUSSIA | 191470|Manufacturer#1 |wehBBp1RQbfxAYDASS75MsywmsKHRVdkrvNe6m |32-839-509-9301|ep furiously. packages should have to haggle slyly across the deposits. furiously regu +8431.40|Supplier#000002675 |ROMANIA | 5174|Manufacturer#1 |HJFStOu9R5NGPOegKhgbzBdyvrG2yh8w |29-474-643-1443|ithely express pinto beans. blithely even foxes haggle. furiously regular theodol +8407.04|Supplier#000005406 |RUSSIA | 162889|Manufacturer#4 |j7 gYF5RW8DC5UrjKC |32-626-152-4621|r the blithely regular packages. slyly ironic theodoli +8386.08|Supplier#000008518 |FRANCE | 36014|Manufacturer#3 |2jqzqqAVe9crMVGP,n9nTsQXulNLTUYoJjEDcqWV|16-618-780-7481|blithely bold pains are carefully platelets. finally regular pinto beans sleep carefully special +8376.52|Supplier#000005306 |UNITED KINGDOM | 190267|Manufacturer#5 |9t8Y8 QqSIsoADPt6NLdk,TP5zyRx41oBUlgoGc9|33-632-514-7931|ly final accounts sleep special, regular requests. furiously regular +8348.74|Supplier#000008851 |FRANCE | 66344|Manufacturer#4 |nWxi7GwEbjhw1 |16-796-240-2472| boldly final deposits. regular, even instructions detect slyly. fluffily unusual pinto bea +8338.58|Supplier#000007269 |FRANCE | 17268|Manufacturer#4 |ZwhJSwABUoiB04,3 |16-267-277-4365|iously final accounts. even pinto beans cajole slyly regular +8328.46|Supplier#000001744 |ROMANIA | 69237|Manufacturer#5 |oLo3fV64q2,FKHa3p,qHnS7Yzv,ps8 |29-330-728-5873|ep carefully-- even, careful packages are slyly along t +8307.93|Supplier#000003142 |GERMANY | 18139|Manufacturer#1 |dqblvV8dCNAorGlJ |17-595-447-6026|olites wake furiously regular decoys. final requests nod +8231.61|Supplier#000009558 |RUSSIA | 192000|Manufacturer#2 |mcdgen,yT1iJDHDS5fV |32-762-137-5858| foxes according to the furi +8152.61|Supplier#000002731 |ROMANIA | 15227|Manufacturer#4 | nluXJCuY1tu |29-805-463-2030| special requests. even, regular warhorses affix among the final gr +8109.09|Supplier#000009186 |FRANCE | 99185|Manufacturer#1 |wgfosrVPexl9pEXWywaqlBMDYYf |16-668-570-1402|tions haggle slyly about the sil +8102.62|Supplier#000003347 |UNITED KINGDOM | 18344|Manufacturer#5 |m CtXS2S16i |33-454-274-8532|egrate with the slyly bold instructions. special foxes haggle silently among the +8046.07|Supplier#000008780 |FRANCE | 191222|Manufacturer#3 |AczzuE0UK9osj ,Lx0Jmh |16-473-215-6395|onic platelets cajole after the regular instructions. permanently bold excuses +8042.09|Supplier#000003245 |RUSSIA | 135705|Manufacturer#4 |Dh8Ikg39onrbOL4DyTfGw8a9oKUX3d9Y |32-836-132-8872|osits. packages cajole slyly. furiously regular deposits cajole slyly. q +8042.09|Supplier#000003245 |RUSSIA | 150729|Manufacturer#1 |Dh8Ikg39onrbOL4DyTfGw8a9oKUX3d9Y |32-836-132-8872|osits. packages cajole slyly. furiously regular deposits cajole slyly. q +7992.40|Supplier#000006108 |FRANCE | 118574|Manufacturer#1 |8tBydnTDwUqfBfFV4l3 |16-974-998-8937| ironic ideas? fluffily even instructions wake. blithel +7980.65|Supplier#000001288 |FRANCE | 13784|Manufacturer#4 |zE,7HgVPrCn |16-646-464-8247|ully bold courts. escapades nag slyly. furiously fluffy theodo +7950.37|Supplier#000008101 |GERMANY | 33094|Manufacturer#5 |kkYvL6IuvojJgTNG IKkaXQDYgx8ILohj |17-627-663-8014|arefully unusual requests x-ray above the quickly final deposits. +7937.93|Supplier#000009012 |ROMANIA | 83995|Manufacturer#2 |iUiTziH,Ek3i4lwSgunXMgrcTzwdb |29-250-925-9690|to the blithely ironic deposits nag sly +7914.45|Supplier#000001013 |RUSSIA | 125988|Manufacturer#2 |riRcntps4KEDtYScjpMIWeYF6mNnR |32-194-698-3365| busily bold packages are dolphi +7912.91|Supplier#000004211 |GERMANY | 159180|Manufacturer#5 |2wQRVovHrm3,v03IKzfTd,1PYsFXQFFOG |17-266-947-7315|ay furiously regular platelets. cou +7912.91|Supplier#000004211 |GERMANY | 184210|Manufacturer#4 |2wQRVovHrm3,v03IKzfTd,1PYsFXQFFOG |17-266-947-7315|ay furiously regular platelets. cou +7894.56|Supplier#000007981 |GERMANY | 85472|Manufacturer#4 |NSJ96vMROAbeXP |17-963-404-3760|ic platelets affix after the furiously +7887.08|Supplier#000009792 |GERMANY | 164759|Manufacturer#3 |Y28ITVeYriT3kIGdV2K8fSZ V2UqT5H1Otz |17-988-938-4296|ckly around the carefully fluffy theodolites. slyly ironic pack +7871.50|Supplier#000007206 |RUSSIA | 104695|Manufacturer#1 |3w fNCnrVmvJjE95sgWZzvW |32-432-452-7731|ironic requests. furiously final theodolites cajole. final, express packages sleep. quickly reg +7852.45|Supplier#000005864 |RUSSIA | 8363|Manufacturer#4 |WCNfBPZeSXh3h,c |32-454-883-3821|usly unusual pinto beans. brave ideas sleep carefully quickly ironi +7850.66|Supplier#000001518 |UNITED KINGDOM | 86501|Manufacturer#1 |ONda3YJiHKJOC |33-730-383-3892|ifts haggle fluffily pending pai +7843.52|Supplier#000006683 |FRANCE | 11680|Manufacturer#4 |2Z0JGkiv01Y00oCFwUGfviIbhzCdy |16-464-517-8943| express, final pinto beans x-ray slyly asymptotes. unusual, unusual diff --git a/tpch/00_compile_tpch/dbgen/answers/q20.out b/tpch/00_compile_tpch/dbgen/answers/q20.out new file mode 100644 index 0000000..41e0dbc --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/answers/q20.out @@ -0,0 +1,187 @@ +s_name |s_address +Supplier#000000020 |iybAE,RmTymrZVYaFZva2SH,j +Supplier#000000091 |YV45D7TkfdQanOOZ7q9QxkyGUapU1oOWU6q3 +Supplier#000000205 |rF uV8d0JNEk +Supplier#000000285 |Br7e1nnt1yxrw6ImgpJ7YdhFDjuBf +Supplier#000000287 |7a9SP7qW5Yku5PvSg +Supplier#000000354 |w8fOo5W,aS +Supplier#000000378 |FfbhyCxWvcPrO8ltp9 +Supplier#000000402 |i9Sw4DoyMhzhKXCH9By,AYSgmD +Supplier#000000530 |0qwCMwobKY OcmLyfRXlagA8ukENJv, +Supplier#000000555 |TfB,a5bfl3Ah 3Z 74GqnNs6zKVGM +Supplier#000000640 |mvvtlQKsTOsJj5Ihk7,cq +Supplier#000000729 |pqck2ppy758TQpZCUAjPvlU55K3QjfL7Bi +Supplier#000000736 |l6i2nMwVuovfKnuVgaSGK2rDy65DlAFLegiL7 +Supplier#000000761 |zlSLelQUj2XrvTTFnv7WAcYZGvvMTx882d4 +Supplier#000000887 |urEaTejH5POADP2ARrf +Supplier#000000935 |ij98czM 2KzWe7dDTOxB8sq0UfCdvrX +Supplier#000000975 |,AC e,tBpNwKb5xMUzeohxlRn, hdZJo73gFQF8y +Supplier#000001263 |rQWr6nf8ZhB2TAiIDIvo5Io +Supplier#000001367 |42YSkFcAXMMcucsqeEefOE4HeCC +Supplier#000001426 |bPOCc086oFm8sLtS,fGrH +Supplier#000001446 |lch9HMNU1R7a0LIybsUodVknk6 +Supplier#000001500 |wDmF5xLxtQch9ctVu, +Supplier#000001602 |uKNWIeafaM644 +Supplier#000001626 |UhxNRzUu1dtFmp0 +Supplier#000001682 |pXTkGxrTQVyH1Rr +Supplier#000001700 |7hMlCof1Y5zLFg +Supplier#000001726 |TeRY7TtTH24sEword7yAaSkjx8 +Supplier#000001730 |Rc8e,1Pybn r6zo0VJIEiD0UD vhk +Supplier#000001746 |qWsendlOekQG1aW4uq06uQaCm51se8lirv7 hBRd +Supplier#000001806 |M934fuZSnLW +Supplier#000001855 |MWk6EAeozXb +Supplier#000001931 |FpJbMU2h6ZR2eBv8I9NIxF +Supplier#000002022 | dwebGX7Id2pc25YvY33 +Supplier#000002036 |20ytTtVObjKUUI2WCB0A +Supplier#000002096 |kuxseyLtq QPLXxm9ZUrnB6Kkh92JtK5cQzzXNU +Supplier#000002117 |MRtkgKolHJ9Wh X9J,urANHKDzvjr +Supplier#000002204 |uYmlr46C06udCqanj0KiRsoTQakZsEyssL +Supplier#000002218 |nODZw5q4dx kp0K5 +Supplier#000002243 |nSOEV3JeOU79 +Supplier#000002245 |hz2qWXWVjOyKhqPYMoEwz6zFkrTaDM +Supplier#000002282 |ES21K9dxoW1I1TzWCj7ekdlNwSWnv1Z 6mQ,BKn +Supplier#000002303 |nCoWfpB6YOymbgOht7ltfklpkHl +Supplier#000002331 |WRh2w5WFvRg7Z0S1AvSvHCL +Supplier#000002373 |RzHSxOTQmElCjxIBiVA52Z JB58rJhPRylR +Supplier#000002419 |qydBQd14I5l5mVXa4fYY +Supplier#000002571 |JZUugz04c iJFLrlGsz9O N,W 1rVHNIReyq +Supplier#000002585 |CsPoKpw2QuTY4AV1NkWuttneIa4SN +Supplier#000002629 |0Bw,q5Zp8su9XrzoCngZ3cAEXZwZ +Supplier#000002721 |HVdFAN2JHMQSpKm +Supplier#000002730 |lIFxR4fzm31C6,muzJwl84z +Supplier#000002775 |yDclaDaBD4ihH +Supplier#000002799 |lwr, 6L3gdfc79PQut,4XO6nQsTJY63cAyYO +Supplier#000002934 |m,trBENywSArwg3DhB +Supplier#000002941 |Naddba 8YTEKekZyP0 +Supplier#000003028 |jouzgX0WZjhNMWLaH4fy +Supplier#000003095 |HxON3jJhUi3zjt,r mTD +Supplier#000003143 |hdolgh608uTkHh7t6qfSqkifKaiFjnCH +Supplier#000003185 |hMa535Cbf2mj1Nw4OWOKWVrsK0VdDkJURrdjSIJe +Supplier#000003189 |DWdPxt7 RnkZv6VOByR0em +Supplier#000003201 |E87yws6I,t0qNs4QW7UzExKiJnJDZWue +Supplier#000003213 |pxrRP4irQ1VoyfQ,dTf3 +Supplier#000003275 |9xO4nyJ2QJcX6vGf +Supplier#000003288 |EDdfNt7E5Uc,xLTupoIgYL4yY7ujh, +Supplier#000003314 |jnisU8MzqO4iUB3zsPcrysMw3DDUojS4q7LD +Supplier#000003373 |iy8VM48ynpc3N2OsBwAvhYakO2us9R1bi +Supplier#000003421 |Sh3dt9W5oeofFWovnFhrg, +Supplier#000003422 |DJoCEapUeBXoV1iYiCcPFQvzsTv2ZI960 +Supplier#000003441 |zvFJIzS,oUuShHjpcX +Supplier#000003590 |sy79CMLxqb,Cbo +Supplier#000003607 |lNqFHQYjwSAkf +Supplier#000003625 |qY588W0Yk5iaUy1RXTgNrEKrMAjBYHcKs +Supplier#000003723 |jZEp0OEythCLcS OmJSrFtxJ66bMlzSp +Supplier#000003849 |KgbZEaRk,6Q3mWvwh6uptrs1KRUHg 0 +Supplier#000003894 |vvGC rameLOk +Supplier#000003941 |Pmb05mQfBMS618O7WKqZJ 9vyv +Supplier#000004059 |umEYZSq9RJ2WEzdsv9meU8rmqwzVLRgiZwC +Supplier#000004207 |tF64pwiOM4IkWjN3mS,e06WuAjLx +Supplier#000004236 |dl,HPtJmGipxYsSqn9wmqkuWjst,mCeJ8O6T +Supplier#000004278 |bBddbpBxIVp Di9 +Supplier#000004281 |1OwPHh Pgiyeus,iZS5eA23JDOipwk +Supplier#000004304 |hQCAz59k,HLlp2CKUrcBIL +Supplier#000004346 |S3076LEOwo +Supplier#000004406 |Ah0ZaLu6VwufPWUz,7kbXgYZhauEaHqGIg +Supplier#000004430 |yvSsKNSTL5HLXBET4luOsPNLxKzAMk +Supplier#000004527 |p pVXCnxgcklWF6A1o3OHY3qW6 +Supplier#000004655 |67NqBc4 t3PG3F8aO IsqWNq4kGaPowYL +Supplier#000004851 |Rj,x6IgLT7kBL99nqp +Supplier#000004871 |,phpt6AWEnUS8t4Avb50rFfdg7O9c6nU8xxv8eC5 +Supplier#000004884 |42Z1uLye9nsn6aTGBNd dI8 x +Supplier#000004975 |GPq5PMKY6Wy +Supplier#000005076 |Xl7h9ifgvIHmqxFLgWfHK4Gjav BkP +Supplier#000005195 |Woi3b2ZaicPh ZSfu1EfXhE +Supplier#000005256 |Onc3t57VAMchm,pmoVLaU8bONni9NsuaM PzMMFz +Supplier#000005257 |f9g8SEHB7obMj3QXAjXS2vfYY22 +Supplier#000005300 |gXG28YqpxU +Supplier#000005323 |tMCkdqbDoyNo8vMIkzjBqYexoRAuv,T6 qzcu +Supplier#000005386 |Ub6AAfHpWLWP +Supplier#000005426 |9Dz2OVT1q sb4BK71ljQ1XjPBYRPvO +Supplier#000005465 |63cYZenZBRZ613Q1FaoG0,smnC5zl9 +Supplier#000005484 |saFdOR qW7AFY,3asPqiiAa11Mo22pCoN0BtPrKo +Supplier#000005505 |d2sbjG43KwMPX +Supplier#000005506 |On f5ypzoWgB +Supplier#000005631 |14TVrjlzo2SJEBYCDgpMwTlvwSqC +Supplier#000005642 |ZwKxAv3V40tW E8P7Qwu,zlu,kPsL +Supplier#000005686 |f2RBKec2T1NIi7yS M +Supplier#000005730 |5rkb0PSews HvxkL8JaD41UpnSF2cg8H1 +Supplier#000005736 |2dq XTYhtYWSfp +Supplier#000005737 |dmEWcS32C3kx,d,B95 OmYn48 +Supplier#000005797 |,o,OebwRbSDmVl9gN9fpWPCiqB UogvlSR +Supplier#000005875 |lK,sYiGzB94hSyHy9xvSZFbVQNCZe2LXZuGbS +Supplier#000005974 |REhR5jE,lLusQXvf54SwYySgsSSVFhu +Supplier#000006059 |4m0cv8MwJ9yX2vlwI Z +Supplier#000006065 |UiI2Cy3W4Tu5sLk LuvXLRy6KihlGv +Supplier#000006093 |KJNUg1odUT2wtCS2s6PrH3D6fd +Supplier#000006099 |aZilwQKYDTVPoK +Supplier#000006109 |rY5gbfh3dKHnylcQUTPGCwnbe +Supplier#000006217 |RVN23SYT9jenUeaWGXUd +Supplier#000006297 |73VRDOO56GUCyvc40oYJ +Supplier#000006435 |xIgE69XszYbnO4Eon7cHHO8y +Supplier#000006463 |7 wkdj2EO49iotley2kmIM ADpLSszGV3RNWj +Supplier#000006478 |bQYPnj9lpmW3U +Supplier#000006521 |b9 2zjHzxR +Supplier#000006642 |N,CUclSqRLJcS8zQ +Supplier#000006659 |iTLsnvD8D2GzWNUv kRInwRjk5rDeEmfup1 +Supplier#000006669 |NQ4Yryj624p7K53 +Supplier#000006748 |rC,2rEn8gKDIS5Q0dJEoiF +Supplier#000006761 |n4jhxGMqB5prD1HhpLvwrWStOLlla +Supplier#000006808 |HGd2Xo 9nEcHJhZvXjXxWKIpApT +Supplier#000006858 |fnlINT885vBBhsWwTGiZ0o22thwGY16h GHJj21 +Supplier#000006946 |To6Slo0GJTqcIvD +Supplier#000006949 |mLxYUJhsGcLtKe ,GFirNu183AvT +Supplier#000007072 |2tRyX9M1a 4Rcm57s779F1ANG9jlpK +Supplier#000007098 |G3j8g0KC4OcbAu2OVoPHrXQWMCUdjq8wgCHOExu +Supplier#000007132 |xonvn0KAQIL3p8kYk HC1FSSDSUSTC +Supplier#000007135 |ls DoKV7V5ulfQy9V +Supplier#000007147 |Xzb16kC63wmLVYexUEgB0hXFvHkjT5iPpq +Supplier#000007160 |TqDGBULB3cTqIT6FKDvm9BS4e4v,zwYiQPb +Supplier#000007169 |tEc95D2moN9S84nd55O,dlnW +Supplier#000007278 |I2ae3rS7KVF8GVHtB +Supplier#000007365 |51xhROLvQMJ05DndtZWt +Supplier#000007398 |V8eE6oZ00OFNU, +Supplier#000007402 |4UVv58ery1rjmqSR5 +Supplier#000007448 |yhhpWiJi7EJ6Q5VCaQ +Supplier#000007458 |BYuucapYkptZl6fnd2QaDyZmI9gR1Ih16e +Supplier#000007477 |9m9j0wfhWzCvVHxkU,PpAxwSH0h +Supplier#000007509 |q8,V6LJRoHJjHcOuSG7aLTMg +Supplier#000007561 |rMcFg2530VC +Supplier#000007616 |R IovIqzDi3,QHnaqZk1xS4hGAgelhP4yj +Supplier#000007760 |JsPE18PvcdFTK +Supplier#000007801 |69fi,U1r6enUb +Supplier#000007865 |5cDGCS,T6N +Supplier#000007885 |u3sicchh5ZpyTUpN1cJKNcAoabIWgY +Supplier#000007926 |ErzCF80K9Uy +Supplier#000007998 |LnASFBfYRFOo9d6d,asBvVq9Lo2P +Supplier#000008090 |eonbJZvoDFYBNUinYfp6yERIg +Supplier#000008224 |TWxt9f,LVER +Supplier#000008231 |IK7eGw Yj90sTdpsP,vcqWxLB +Supplier#000008243 |2AyePMkDqmzVzjGTizXthFLo8h EiudCMxOmIIG +Supplier#000008323 |75I18sZmASwm POeheRMdj9tmpyeQ,BfCXN5BIAb +Supplier#000008366 |h778cEj14BuW9OEKlvPTWq4iwASR6EBBXN7zeS8 +Supplier#000008532 |Uc29q4,5xVdDOF87UZrxhr4xWS0ihEUXuh +Supplier#000008595 |MH0iB73GQ3z UW3O DbCbqmc +Supplier#000008610 |SgVgP90vP452sUNTgzL9zKwXHXAzV6tV +Supplier#000008683 |gLuGcugfpJSeGQARnaHNCaWnGaqsNnjyl20 +Supplier#000008705 |aE,trRNdPx,4yinTD9O3DebDIp +Supplier#000008742 |HmPlQEzKCPEcTUL14,kKq +Supplier#000008841 |I 85Lu1sekbg2xrSIzm0 +Supplier#000008872 |8D 45GgxJO2OwwYP9S4AaXJKvDwPfLM +Supplier#000008879 |rDSA,D9oPM,65NMWEFrmGKAu +Supplier#000008967 |2kwEHyMG 7FwozNImAUE6mH0hYtqYculJM +Supplier#000008972 |w2vF6 D5YZO3visPXsqVfLADTK +Supplier#000009032 |qK,trB6Sdy4Dz1BRUFNy +Supplier#000009043 |57OPvKH4qyXIZ7IzYeCaw11a5N1Ki9f1WWmVQ, +Supplier#000009278 |RqYTzgxj93CLX 0mcYfCENOefD +Supplier#000009326 |XmiC,uy36B9,fb0zhcjaagiXQutg +Supplier#000009430 |igRqmneFt +Supplier#000009549 |h3RVchUf8MzY46IzbZ0ng09 +Supplier#000009601 |51m637bO,Rw5DnHWFUvLacRx9 +Supplier#000009709 |rRnCbHYgDgl9PZYnyWKVYSUW0vKg +Supplier#000009753 |wLhVEcRmd7PkJF4FBnGK7Z +Supplier#000009799 | 4wNjXGa4OKWl +Supplier#000009811 |E3iuyq7UnZxU7oPZIe2Gu6 +Supplier#000009812 |APFRMy3lCbgFga53n5t9DxzFPQPgnjrGt32 +Supplier#000009846 |57sNwJJ3PtBDu,hMPP5QvpcOcSNRXn3PypJJrh +Supplier#000009899 |7XdpAHrzr1t,UQFZE +Supplier#000009974 |7wJ,J5DKcxSU4Kp1cQLpbcAvB5AsvKT diff --git a/tpch/00_compile_tpch/dbgen/answers/q21.out b/tpch/00_compile_tpch/dbgen/answers/q21.out new file mode 100644 index 0000000..f944ca6 --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/answers/q21.out @@ -0,0 +1,101 @@ +s_name |numwait +Supplier#000002829 | 20 +Supplier#000005808 | 18 +Supplier#000000262 | 17 +Supplier#000000496 | 17 +Supplier#000002160 | 17 +Supplier#000002301 | 17 +Supplier#000002540 | 17 +Supplier#000003063 | 17 +Supplier#000005178 | 17 +Supplier#000008331 | 17 +Supplier#000002005 | 16 +Supplier#000002095 | 16 +Supplier#000005799 | 16 +Supplier#000005842 | 16 +Supplier#000006450 | 16 +Supplier#000006939 | 16 +Supplier#000009200 | 16 +Supplier#000009727 | 16 +Supplier#000000486 | 15 +Supplier#000000565 | 15 +Supplier#000001046 | 15 +Supplier#000001047 | 15 +Supplier#000001161 | 15 +Supplier#000001336 | 15 +Supplier#000001435 | 15 +Supplier#000003075 | 15 +Supplier#000003335 | 15 +Supplier#000005649 | 15 +Supplier#000006027 | 15 +Supplier#000006795 | 15 +Supplier#000006800 | 15 +Supplier#000006824 | 15 +Supplier#000007131 | 15 +Supplier#000007382 | 15 +Supplier#000008913 | 15 +Supplier#000009787 | 15 +Supplier#000000633 | 14 +Supplier#000001960 | 14 +Supplier#000002323 | 14 +Supplier#000002490 | 14 +Supplier#000002993 | 14 +Supplier#000003101 | 14 +Supplier#000004489 | 14 +Supplier#000005435 | 14 +Supplier#000005583 | 14 +Supplier#000005774 | 14 +Supplier#000007579 | 14 +Supplier#000008180 | 14 +Supplier#000008695 | 14 +Supplier#000009224 | 14 +Supplier#000000357 | 13 +Supplier#000000436 | 13 +Supplier#000000610 | 13 +Supplier#000000788 | 13 +Supplier#000000889 | 13 +Supplier#000001062 | 13 +Supplier#000001498 | 13 +Supplier#000002056 | 13 +Supplier#000002312 | 13 +Supplier#000002344 | 13 +Supplier#000002596 | 13 +Supplier#000002615 | 13 +Supplier#000002978 | 13 +Supplier#000003048 | 13 +Supplier#000003234 | 13 +Supplier#000003727 | 13 +Supplier#000003806 | 13 +Supplier#000004472 | 13 +Supplier#000005236 | 13 +Supplier#000005906 | 13 +Supplier#000006241 | 13 +Supplier#000006326 | 13 +Supplier#000006384 | 13 +Supplier#000006394 | 13 +Supplier#000006624 | 13 +Supplier#000006629 | 13 +Supplier#000006682 | 13 +Supplier#000006737 | 13 +Supplier#000006825 | 13 +Supplier#000007021 | 13 +Supplier#000007417 | 13 +Supplier#000007497 | 13 +Supplier#000007602 | 13 +Supplier#000008134 | 13 +Supplier#000008234 | 13 +Supplier#000009435 | 13 +Supplier#000009436 | 13 +Supplier#000009564 | 13 +Supplier#000009896 | 13 +Supplier#000000379 | 12 +Supplier#000000673 | 12 +Supplier#000000762 | 12 +Supplier#000000811 | 12 +Supplier#000000821 | 12 +Supplier#000001337 | 12 +Supplier#000001916 | 12 +Supplier#000001925 | 12 +Supplier#000002039 | 12 +Supplier#000002357 | 12 +Supplier#000002483 | 12 diff --git a/tpch/00_compile_tpch/dbgen/answers/q22.out b/tpch/00_compile_tpch/dbgen/answers/q22.out new file mode 100644 index 0000000..de4bb47 --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/answers/q22.out @@ -0,0 +1,8 @@ +cntrycode |numcust |totacctbal +13 | 888|6737713.99 +17 | 861|6460573.72 +18 | 964|7236687.40 +23 | 892|6701457.95 +29 | 948|7158866.63 +30 | 909|6808436.13 +31 | 922|6806670.18 diff --git a/tpch/00_compile_tpch/dbgen/answers/q3.out b/tpch/00_compile_tpch/dbgen/answers/q3.out new file mode 100644 index 0000000..69771b8 --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/answers/q3.out @@ -0,0 +1,11 @@ +l_orderkey |revenue |o_orderdat|o_shippriority + 2456423|406181.01|1995-03-05| 0 + 3459808|405838.70|1995-03-04| 0 + 492164|390324.06|1995-02-19| 0 + 1188320|384537.94|1995-03-09| 0 + 2435712|378673.06|1995-02-26| 0 + 4878020|378376.80|1995-03-12| 0 + 5521732|375153.92|1995-03-13| 0 + 2628192|373133.31|1995-02-22| 0 + 993600|371407.46|1995-03-05| 0 + 2300070|367371.15|1995-03-13| 0 diff --git a/tpch/00_compile_tpch/dbgen/answers/q4.out b/tpch/00_compile_tpch/dbgen/answers/q4.out new file mode 100644 index 0000000..91bc1da --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/answers/q4.out @@ -0,0 +1,6 @@ +o_orderpriority|order_count +1-URGENT | 10594 +2-HIGH | 10476 +3-MEDIUM | 10410 +4-NOT SPECIFIED| 10556 +5-LOW | 10487 diff --git a/tpch/00_compile_tpch/dbgen/answers/q5.out b/tpch/00_compile_tpch/dbgen/answers/q5.out new file mode 100644 index 0000000..5dac463 --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/answers/q5.out @@ -0,0 +1,6 @@ +n_name |revenue +INDONESIA |55502041.17 +VIETNAM |55295087.00 +CHINA |53724494.26 +INDIA |52035512.00 +JAPAN |45410175.70 diff --git a/tpch/00_compile_tpch/dbgen/answers/q6.out b/tpch/00_compile_tpch/dbgen/answers/q6.out new file mode 100644 index 0000000..703a808 --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/answers/q6.out @@ -0,0 +1,2 @@ +revenue +123141078.23 diff --git a/tpch/00_compile_tpch/dbgen/answers/q7.out b/tpch/00_compile_tpch/dbgen/answers/q7.out new file mode 100644 index 0000000..7164bfa --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/answers/q7.out @@ -0,0 +1,5 @@ +supp_nation |cust_nation |l_year |revenue +FRANCE |GERMANY | 1995|54639732.73 +FRANCE |GERMANY | 1996|54633083.31 +GERMANY |FRANCE | 1995|52531746.67 +GERMANY |FRANCE | 1996|52520549.02 diff --git a/tpch/00_compile_tpch/dbgen/answers/q8.out b/tpch/00_compile_tpch/dbgen/answers/q8.out new file mode 100644 index 0000000..618439d --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/answers/q8.out @@ -0,0 +1,3 @@ +o_year |mkt_share + 1995|0.03 + 1996|0.04 diff --git a/tpch/00_compile_tpch/dbgen/answers/q9.out b/tpch/00_compile_tpch/dbgen/answers/q9.out new file mode 100644 index 0000000..16ab17f --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/answers/q9.out @@ -0,0 +1,176 @@ +nation |o_year |sum_profit +ALGERIA | 1998|27136900.18 +ALGERIA | 1997|48611833.50 +ALGERIA | 1996|48285482.68 +ALGERIA | 1995|44402273.60 +ALGERIA | 1994|48694008.07 +ALGERIA | 1993|46044207.78 +ALGERIA | 1992|45636849.49 +ARGENTINA | 1998|28341663.78 +ARGENTINA | 1997|47143964.12 +ARGENTINA | 1996|45255278.60 +ARGENTINA | 1995|45631769.21 +ARGENTINA | 1994|48268856.35 +ARGENTINA | 1993|48605593.62 +ARGENTINA | 1992|46654240.75 +BRAZIL | 1998|26527736.40 +BRAZIL | 1997|45640660.77 +BRAZIL | 1996|45090647.16 +BRAZIL | 1995|44015888.51 +BRAZIL | 1994|44854218.89 +BRAZIL | 1993|45766603.74 +BRAZIL | 1992|45280216.80 +CANADA | 1998|26828985.39 +CANADA | 1997|44849954.32 +CANADA | 1996|46307936.11 +CANADA | 1995|47311993.04 +CANADA | 1994|46691491.96 +CANADA | 1993|46634791.11 +CANADA | 1992|45873849.69 +CHINA | 1998|27510180.17 +CHINA | 1997|46123865.41 +CHINA | 1996|49532807.06 +CHINA | 1995|46734651.48 +CHINA | 1994|46397896.61 +CHINA | 1993|49634673.95 +CHINA | 1992|46949457.64 +EGYPT | 1998|28401491.80 +EGYPT | 1997|47674857.68 +EGYPT | 1996|47745727.55 +EGYPT | 1995|45897160.68 +EGYPT | 1994|47194895.23 +EGYPT | 1993|49133627.65 +EGYPT | 1992|47000574.50 +ETHIOPIA | 1998|25135046.14 +ETHIOPIA | 1997|43010596.08 +ETHIOPIA | 1996|43636287.19 +ETHIOPIA | 1995|43575757.33 +ETHIOPIA | 1994|41597208.53 +ETHIOPIA | 1993|42622804.16 +ETHIOPIA | 1992|44385735.68 +FRANCE | 1998|26210392.28 +FRANCE | 1997|42392969.47 +FRANCE | 1996|43306317.97 +FRANCE | 1995|46377408.43 +FRANCE | 1994|43447352.99 +FRANCE | 1993|43729961.06 +FRANCE | 1992|44052308.43 +GERMANY | 1998|25991257.11 +GERMANY | 1997|43968355.81 +GERMANY | 1996|45882074.80 +GERMANY | 1995|43314338.31 +GERMANY | 1994|44616995.44 +GERMANY | 1993|45126645.91 +GERMANY | 1992|44361141.21 +INDIA | 1998|29626417.24 +INDIA | 1997|51386111.34 +INDIA | 1996|47571018.51 +INDIA | 1995|49344062.28 +INDIA | 1994|50106952.43 +INDIA | 1993|48112766.70 +INDIA | 1992|47914303.12 +INDONESIA | 1998|27734909.68 +INDONESIA | 1997|44593812.99 +INDONESIA | 1996|44746729.81 +INDONESIA | 1995|45593622.70 +INDONESIA | 1994|45988483.88 +INDONESIA | 1993|46147963.79 +INDONESIA | 1992|45185777.07 +IRAN | 1998|26661608.93 +IRAN | 1997|45019114.17 +IRAN | 1996|45891397.10 +IRAN | 1995|44414285.23 +IRAN | 1994|43696360.48 +IRAN | 1993|45362775.81 +IRAN | 1992|43052338.41 +IRAQ | 1998|31188498.19 +IRAQ | 1997|48585307.52 +IRAQ | 1996|50036593.84 +IRAQ | 1995|48774801.73 +IRAQ | 1994|48795847.23 +IRAQ | 1993|47435691.51 +IRAQ | 1992|47562355.66 +JAPAN | 1998|24694102.17 +JAPAN | 1997|42377052.35 +JAPAN | 1996|40267778.91 +JAPAN | 1995|40925317.47 +JAPAN | 1994|41159518.31 +JAPAN | 1993|39589074.28 +JAPAN | 1992|39113493.91 +JORDAN | 1998|23489867.79 +JORDAN | 1997|41615962.66 +JORDAN | 1996|41860855.47 +JORDAN | 1995|39931672.09 +JORDAN | 1994|40707555.46 +JORDAN | 1993|39060405.47 +JORDAN | 1992|41657604.27 +KENYA | 1998|25566337.43 +KENYA | 1997|43108847.90 +KENYA | 1996|43482953.54 +KENYA | 1995|42517988.98 +KENYA | 1994|43612479.45 +KENYA | 1993|42724038.76 +KENYA | 1992|43217106.21 +MOROCCO | 1998|24915496.88 +MOROCCO | 1997|42698382.85 +MOROCCO | 1996|42986113.50 +MOROCCO | 1995|42316089.16 +MOROCCO | 1994|43458604.60 +MOROCCO | 1993|42672288.07 +MOROCCO | 1992|42800781.64 +MOZAMBIQUE | 1998|28279876.03 +MOZAMBIQUE | 1997|51159216.23 +MOZAMBIQUE | 1996|48072525.06 +MOZAMBIQUE | 1995|48905200.60 +MOZAMBIQUE | 1994|46092076.28 +MOZAMBIQUE | 1993|48555926.27 +MOZAMBIQUE | 1992|47809075.12 +PERU | 1998|26713966.27 +PERU | 1997|48324008.60 +PERU | 1996|50310008.86 +PERU | 1995|49647080.96 +PERU | 1994|46420910.28 +PERU | 1993|51536906.25 +PERU | 1992|47711665.31 +ROMANIA | 1998|27271993.10 +ROMANIA | 1997|45063059.20 +ROMANIA | 1996|47492335.03 +ROMANIA | 1995|45710636.29 +ROMANIA | 1994|46088041.11 +ROMANIA | 1993|47515092.56 +ROMANIA | 1992|44111439.80 +RUSSIA | 1998|27935323.73 +RUSSIA | 1997|48222347.29 +RUSSIA | 1996|47553559.49 +RUSSIA | 1995|46755990.10 +RUSSIA | 1994|48000515.62 +RUSSIA | 1993|48569624.51 +RUSSIA | 1992|47672831.53 +SAUDI ARABIA | 1998|27113516.84 +SAUDI ARABIA | 1997|46690468.96 +SAUDI ARABIA | 1996|47775782.67 +SAUDI ARABIA | 1995|46657107.83 +SAUDI ARABIA | 1994|48181672.81 +SAUDI ARABIA | 1993|45692556.44 +SAUDI ARABIA | 1992|48924913.27 +UNITED KINGDOM | 1998|26366682.88 +UNITED KINGDOM | 1997|44518130.19 +UNITED KINGDOM | 1996|45539729.62 +UNITED KINGDOM | 1995|46845879.34 +UNITED KINGDOM | 1994|43081609.57 +UNITED KINGDOM | 1993|44770146.76 +UNITED KINGDOM | 1992|44123402.55 +UNITED STATES | 1998|27826593.68 +UNITED STATES | 1997|46638572.36 +UNITED STATES | 1996|46688280.55 +UNITED STATES | 1995|48951591.62 +UNITED STATES | 1994|45099092.06 +UNITED STATES | 1993|46181600.53 +UNITED STATES | 1992|46168214.09 +VIETNAM | 1998|27281931.00 +VIETNAM | 1997|48735914.18 +VIETNAM | 1996|47824595.90 +VIETNAM | 1995|48235135.80 +VIETNAM | 1994|47729256.33 +VIETNAM | 1993|45352676.87 +VIETNAM | 1992|47846355.65 diff --git a/tpch/00_compile_tpch/dbgen/bcd2.c b/tpch/00_compile_tpch/dbgen/bcd2.c new file mode 100644 index 0000000..58794bf --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/bcd2.c @@ -0,0 +1,256 @@ +/* +* $Id: bcd2.c,v 1.2 2005/01/03 20:08:58 jms Exp $ +* +* Revision History +* =================== +* $Log: bcd2.c,v $ +* Revision 1.2 2005/01/03 20:08:58 jms +* change line terminations +* +* Revision 1.1.1.1 2004/11/24 23:31:45 jms +* re-establish external server +* +* Revision 1.1.1.1 2003/04/03 18:54:21 jms +* recreation after CVS crash +* +* Revision 1.1.1.1 2003/04/03 18:54:21 jms +* initial checkin +* +* +*/ +/* + * bcd.c: conversion routines for multi-byte arithmetic + * + * defined routines: + * bin_bcd2(long binary, long *low_res, long *high_res) + * bcd2_bin(long *dest, long bcd) + * bcd2_add(long *bcd_low, long *bcd_high, long addend) + * bcd2_sub(long *bcd_low, long *bcd_high, long subend) + * bcd2_mul(long *bcd_low, long *bcd_high, long multiplier) + * bcd2_div(long *bcd_low, long *bcd_high, long divisor) + * long bcd2_mod(long *bcd_low, long *bcd_high, long modulo) + * long bcd2_cmp(long *bcd_low, long *bcd_high, long compare) + */ +#include +#include "bcd2.h" /* for function prototypes */ + +#define DIGITS_PER_LONG 7 +#define WORD_DIVISOR 10000000 +#define GET_DIGIT(num, low, high) \ + ((num) >= DIGITS_PER_LONG)? \ + (high & (0xF << (4 * ((num) - DIGITS_PER_LONG)))) \ + >> (((num) - DIGITS_PER_LONG) * 4): \ + (low & (0xF << (4 * (num)))) >> ((num) * 4) +#define SET_DIGIT(value, num, low, high) \ + if ((num) >= DIGITS_PER_LONG) \ + { \ + *high &= \ + (0xFFFFFFF ^ (0xF << (4 * ((num) - DIGITS_PER_LONG)))); \ + *high |= (value << (4 * ((num) - DIGITS_PER_LONG))); \ + } \ + else \ + { \ + *low = (*low & (0xFFFFFFF ^ (0xF << (4 * (num))))); \ + *low |= (value << (4 * (num))); \ + } +int +bin_bcd2(long binary, long *low_res, long *high_res) +{ + char number[15], + *current; + int count; + long *dest; + + *low_res = *high_res = 0; + sprintf(number, "%014ld", binary); + for (current = number, count=13; *current; current++, count--) + { + dest = (count < DIGITS_PER_LONG)?low_res:high_res; + *dest = *dest << 4; + *dest |= *current - '0'; + } + return(0); +} + +int +bcd2_bin(long *dest, long bcd) +{ + int count; + long mask; + + count = DIGITS_PER_LONG - 1; + mask = 0xF000000; + *dest = 0; + while (mask) + { + *dest *= 10; + *dest += (bcd & mask) >> (4 * count); + mask = mask >> 4; + count -= 1; + } + return(0); +} + +int +bcd2_add(long *bcd_low, long *bcd_high, long addend) +{ + long tmp_lo, tmp_hi, carry, res; + int digit; + + bin_bcd2(addend, &tmp_lo, &tmp_hi); + carry = 0; + for (digit=0; digit < 14; digit++) + { + res = GET_DIGIT(digit, *bcd_low, *bcd_high); + res += GET_DIGIT(digit, tmp_lo, tmp_hi); + res += carry; + carry = res / 10; + res %= 10; + SET_DIGIT(res, digit, bcd_low, bcd_high); + } + return(carry); +} + +int +bcd2_sub(long *bcd_low, long *bcd_high, long subend) +{ + long tmp_lo, tmp_hi, carry, res; + int digit; + + bin_bcd2(subend, &tmp_lo, &tmp_hi); + carry = 0; + for (digit=0; digit < 14; digit++) + { + res = GET_DIGIT(digit, *bcd_low, *bcd_high); + res -= GET_DIGIT(digit, tmp_lo, tmp_hi); + res -= carry; + if (res < 0) + { + res += 10; + carry = 1; + } + SET_DIGIT(res, digit, bcd_low, bcd_high); + } + return(carry); +} + +int +bcd2_mul(long *bcd_low, long *bcd_high, long multiplier) +{ + long tmp_lo, tmp_hi, carry, m_lo, m_hi, m1, m2; + int udigit, ldigit, res; + + tmp_lo = *bcd_low; + tmp_hi = *bcd_high; + bin_bcd2(multiplier, &m_lo, &m_hi); + *bcd_low = 0; + *bcd_high = 0; + carry = 0; + for (ldigit=0; ldigit < 14; ldigit++) + { + m1 = GET_DIGIT(ldigit, m_lo, m_hi); + carry = 0; + for (udigit=0; udigit < 14; udigit++) + { + m2 = GET_DIGIT(udigit, tmp_lo, tmp_hi); + res = m1 * m2; + res += carry; + if (udigit + ldigit < 14) + { + carry = GET_DIGIT(udigit + ldigit, *bcd_low, *bcd_high); + res += carry; + } + carry = res / 10; + res %= 10; + if (udigit + ldigit < 14) + SET_DIGIT(res, udigit + ldigit, bcd_low, bcd_high); + } + } + return(carry); +} + +int +bcd2_div(long *bcd_low, long *bcd_high, long divisor) +{ + long tmp_lo, tmp_hi, carry, d1, res, digit; + + + carry = 0; + tmp_lo = *bcd_low; + tmp_hi = *bcd_high; + *bcd_low = *bcd_high = 0; + for (digit=13; digit >= 0; digit--) + { + d1 = GET_DIGIT(digit, tmp_lo, tmp_hi); + d1 += 10 * carry; + res = d1 / divisor; + carry = d1 % divisor; + SET_DIGIT(res, digit, bcd_low, bcd_high); + } + return(carry); +} + +long +bcd2_mod(long *bcd_low, long *bcd_high, long modulo) +{ + long tmp_low, tmp_high; + + tmp_low = *bcd_low; + tmp_high = *bcd_high; + while (tmp_high || tmp_low > modulo) + bcd2_sub(&tmp_low, &tmp_high, modulo); + return(tmp_low); +} + +long +bcd2_cmp(long *low1, long *high1, long comp) +{ + long temp = 0; + + bcd2_bin(&temp, *high1); + if (temp > 214) + return(1); + bcd2_bin(&temp, *low1); + return(temp - comp); +} + +#ifdef TEST_BCD +#include + +main() +{ +long bin, low_bcd, high_bcd; +int i; + +bin = MAXINT; +printf("%ld\n", bin); +bin_bcd2(bin, &low_bcd, &high_bcd); +printf("%ld %ld\n", high_bcd, low_bcd); +bin = 0; +bcd2_bin(&bin, high_bcd); +bcd2_bin(&bin, low_bcd); +printf( "%ld\n", bin); +for (i=9; i >= 0; i--) + printf("%dth digit in %d is %d\n", + i, bin, GET_DIGIT(i, low_bcd, high_bcd)); +bcd2_add(&low_bcd, &high_bcd, MAXINT); +bin = 0; +bcd2_bin(&bin, high_bcd); +high_bcd = bin; +bin = 0; +bcd2_bin(&bin, low_bcd); +low_bcd = bin; +printf( "%ld%07ld\n", high_bcd, low_bcd); +bin_bcd2(14, &low_bcd, &high_bcd); +bcd2_mul(&low_bcd, &high_bcd, 23L); +bin = 0; +bcd2_bin(&bin, high_bcd); +bcd2_bin(&bin, low_bcd); +printf( "%ld\n", bin); +bcd2_div(&low_bcd, &high_bcd, 10L); +bin = 0; +bcd2_bin(&bin, high_bcd); +bcd2_bin(&bin, low_bcd); +printf( "%ld\n", bin); +} +#endif /* TEST */ diff --git a/tpch/00_compile_tpch/dbgen/bcd2.h b/tpch/00_compile_tpch/dbgen/bcd2.h new file mode 100644 index 0000000..54de8d7 --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/bcd2.h @@ -0,0 +1,28 @@ +/* +* $Id: bcd2.h,v 1.2 2005/01/03 20:08:58 jms Exp $ +* +* Revision History +* =================== +* $Log: bcd2.h,v $ +* Revision 1.2 2005/01/03 20:08:58 jms +* change line terminations +* +* Revision 1.1.1.1 2004/11/24 23:31:45 jms +* re-establish external server +* +* Revision 1.1.1.1 2003/04/03 18:54:21 jms +* recreation after CVS crash +* +* Revision 1.1.1.1 2003/04/03 18:54:21 jms +* initial checkin +* +* +*/ +int bin_bcd2(long binary, long *low_res, long *high_res); +int bcd2_bin(long *dest, long bcd); +int bcd2_add(long *bcd_low, long *bcd_high, long addend); +int bcd2_sub(long *bcd_low, long *bcd_high, long subend); +int bcd2_mul(long *bcd_low, long *bcd_high, long multiplier); +int bcd2_div(long *bcd_low, long *bcd_high, long divisor); +long bcd2_mod(long *bcd_low, long *bcd_high, long modulo); +long bcd2_cmp(long *bcd_low, long *bcd_high, long compare); diff --git a/tpch/00_compile_tpch/dbgen/bcd2.o b/tpch/00_compile_tpch/dbgen/bcd2.o new file mode 100644 index 0000000..055d306 Binary files /dev/null and b/tpch/00_compile_tpch/dbgen/bcd2.o differ diff --git a/tpch/00_compile_tpch/dbgen/bm_utils.c b/tpch/00_compile_tpch/dbgen/bm_utils.c new file mode 100644 index 0000000..c04021a --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/bm_utils.c @@ -0,0 +1,588 @@ +/* +* $Id: bm_utils.c,v 1.4 2006/04/12 18:00:55 jms Exp $ +* +* Revision History +* =================== +* $Log: bm_utils.c,v $ +* Revision 1.4 2006/04/12 18:00:55 jms +* add missing parameter to call to gen_seed +* +* Revision 1.3 2005/10/14 23:16:54 jms +* fix for answer set compliance +* +* Revision 1.2 2005/01/03 20:08:58 jms +* change line terminations +* +* Revision 1.1.1.1 2004/11/24 23:31:46 jms +* re-establish external server +* +* Revision 1.3 2004/02/18 14:05:53 jms +* porting changes for LINUX and 64 bit RNG +* +* Revision 1.2 2004/01/22 05:49:29 jms +* AIX porting (AIX 5.1) +* +* Revision 1.1.1.1 2003/08/08 21:35:26 jms +* recreation after CVS crash +* +* Revision 1.3 2003/08/08 21:35:26 jms +* first integration of rng64 for o_custkey and l_partkey +* +* Revision 1.2 2003/08/07 17:58:34 jms +* Convery RNG to 64bit space as preparation for new large scale RNG +* +* Revision 1.1.1.1 2003/04/03 18:54:21 jms +* initial checkin +* +* +*/ + /* + * + * Various routines that handle distributions, value selections and + * seed value management for the DSS benchmark. Current functions: + * env_config -- set config vars with optional environment override + * yes_no -- ask simple yes/no question and return boolean result + * a_rnd(min, max) -- random alphanumeric within length range + * pick_str(size, set) -- select a string from the set of size + * read_dist(file, name, distribution *) -- read named dist from file + * tbl_open(path, mode) -- std fopen with lifenoise + * julian(date) -- julian date correction + * rowcnt(tbl) -- proper scaling of given table + * e_str(set, min, max) -- build an embedded str + * agg_str() -- build a string from the named set + * dsscasecmp() -- version of strcasecmp() + * dssncasecmp() -- version of strncasecmp() + * getopt() + * set_state() -- initialize the RNG + */ + +#include "config.h" +#include "dss.h" +#include +#include +#include +#include +#ifdef HP +#include +#endif /* HP */ +#include +#include +#ifndef _POSIX_SOURCE +#include +#endif /* POSIX_SOURCE */ +#include +#include +#include +/* Lines added by Chuck McDevitt for WIN32 support */ +#ifdef WIN32 +#ifndef _POSIX_ +#include +#ifndef S_ISREG +#define S_ISREG(m) ( ((m) & _S_IFMT) == _S_IFREG ) +#define S_ISFIFO(m) ( ((m) & _S_IFMT) == _S_IFIFO ) +#endif +#endif +#ifndef stat +#define stat _stat +#endif +#ifndef fdopen +#define fdopen _fdopen +#endif +#ifndef open +#define open _open +#endif +#ifndef O_RDONLY +#define O_RDONLY _O_RDONLY +#endif +#ifndef O_WRONLY +#define O_WRONLY _O_WRONLY +#endif +#ifndef O_CREAT +#define O_CREAT _O_CREAT +#endif +#endif +/* End of lines added by Chuck McDevitt for WIN32 support */ +#include "dsstypes.h" + + +static char alpha_num[65] = +"0123456789abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ,"; + +#if defined(__STDC__) || defined(__cplusplus) +#define PROTO(s) s +#else +#define PROTO(s) () +#endif + +#ifndef WIN32 +char *getenv PROTO((const char *name)); +#endif +void usage(); +long *permute_dist(distribution *d, long stream); +extern seed_t Seed[]; + +/* + * env_config: look for a environmental variable setting and return its + * value; otherwise return the default supplied + */ +char * +env_config(char *var, char *dflt) +{ + static char *evar; + + if ((evar = getenv(var)) != NULL) + return (evar); + else + return (dflt); +} + +/* + * return the answer to a yes/no question as a boolean + */ +long +yes_no(char *prompt) +{ + char reply[128]; + +#ifdef WIN32 +/* Disable warning about conditional expression is constant */ +#pragma warning(disable:4127) +#endif + + while (1) + { +#ifdef WIN32 +#pragma warning(default:4127) +#endif + printf("%s [Y/N]: ", prompt); + fgets(reply, 128, stdin); + switch (*reply) + { + case 'y': + case 'Y': + return (1); + case 'n': + case 'N': + return (0); + default: + printf("Please answer 'yes' or 'no'.\n"); + } + } +} + +/* + * generate a random string with length randomly selected in [min, max] + * and using the characters in alphanum (currently includes a space + * and comma) + */ +void +a_rnd(int min, int max, int column, char *dest) +{ + DSS_HUGE i, + len, + char_int; + + RANDOM(len, min, max, column); + for (i = 0; i < len; i++) + { + if (i % 5 == 0) + RANDOM(char_int, 0, MAX_LONG, column); + *(dest + i) = alpha_num[char_int & 077]; + char_int >>= 6; + } + *(dest + len) = '\0'; + return; +} + +/* + * embed a randomly selected member of distribution d in alpha-numeric + * noise of a length rendomly selected between min and max at a random + * position + */ +void +e_str(distribution *d, int min, int max, int stream, char *dest) +{ + char strtmp[MAXAGG_LEN + 1]; + DSS_HUGE loc; + int len; + + a_rnd(min, max, stream, dest); + pick_str(d, stream, strtmp); + len = (int)strlen(strtmp); + RANDOM(loc, 0, ((int)strlen(dest) - 1 - len), stream); + strncpy(dest + loc, strtmp, len); + + return; +} + + +/* + * return the string associate with the LSB of a uniformly selected + * long in [1, max] where max is determined by the distribution + * being queried + */ +int +pick_str(distribution *s, int c, char *target) +{ + long i = 0; + DSS_HUGE j; + + RANDOM(j, 1, s->list[s->count - 1].weight, c); + while (s->list[i].weight < j) + i++; + strcpy(target, s->list[i].text); + return(i); +} + +/* + * unjulian (long date) -- return(date - STARTDATE) + */ +long +unjulian(long date) +{ + int i; + long res = 0; + + for (i = STARTDATE / 1000; i < date / 1000; i++) + res += 365 + LEAP(i); + res += date % 1000 - 1; + + return(res); +} + +long +julian(long date) +{ + long offset; + long result; + long yr; + long yend; + + offset = date - STARTDATE; + result = STARTDATE; + +#ifdef WIN32 +/* Disable warning about conditional expression is constant */ +#pragma warning(disable:4127) +#endif + + while (1) + { +#ifdef WIN32 +#pragma warning(default:4127) +#endif + yr = result / 1000; + yend = yr * 1000 + 365 + LEAP(yr); + if (result + offset > yend) /* overflow into next year */ + { + offset -= yend - result + 1; + result += 1000; + continue; + } + else + break; + } + return (result + offset); +} + +/* +* load a distribution from a flat file into the target structure; +* should be rewritten to allow multiple dists in a file +*/ +void +read_dist(char *path, char *name, distribution *target) +{ +FILE *fp; +char line[256], + token[256], + *c; +long weight, + count = 0, + name_set = 0; + + if (d_path == NULL) + { + sprintf(line, "%s%c%s", + env_config(CONFIG_TAG, CONFIG_DFLT), PATH_SEP, path); + fp = fopen(line, "r"); + OPEN_CHECK(fp, line); + } + else + { + fp = fopen(d_path, "r"); + OPEN_CHECK(fp, d_path); + } + while (fgets(line, sizeof(line), fp) != NULL) + { + if ((c = strchr(line, '\n')) != NULL) + *c = '\0'; + if ((c = strchr(line, '#')) != NULL) + *c = '\0'; + if (*line == '\0') + continue; + + if (!name_set) + { + if (dsscasecmp(strtok(line, "\n\t "), "BEGIN")) + continue; + if (dsscasecmp(strtok(NULL, "\n\t "), name)) + continue; + name_set = 1; + continue; + } + else + { + if (!dssncasecmp(line, "END", 3)) + { + fclose(fp); + return; + } + } + + if (sscanf(line, "%[^|]|%ld", token, &weight) != 2) + continue; + + if (!dsscasecmp(token, "count")) + { + target->count = weight; + target->list = + (set_member *) + malloc((size_t)(weight * sizeof(set_member))); + MALLOC_CHECK(target->list); + target->max = 0; + continue; + } + target->list[count].text = + (char *) malloc((size_t)((int)strlen(token) + 1)); + MALLOC_CHECK(target->list[count].text); + strcpy(target->list[count].text, token); + target->max += weight; + target->list[count].weight = target->max; + + count += 1; + } /* while fgets() */ + + if (count != target->count) + { + fprintf(stderr, "Read error on dist '%s'\n", name); + fclose(fp); + exit(1); + } + target->permute = (long *)NULL; + fclose(fp); + return; +} + +/* + * standard file open with life noise + */ + +FILE * +tbl_open(int tbl, char *mode) +{ + char prompt[256]; + char fullpath[256]; + FILE *f; + struct stat fstats; + int retcode; + + + if (*tdefs[tbl].name == PATH_SEP) + strcpy(fullpath, tdefs[tbl].name); + else + sprintf(fullpath, "%s%c%s", + env_config(PATH_TAG, PATH_DFLT), PATH_SEP, tdefs[tbl].name); + + retcode = stat(fullpath, &fstats); + if (retcode) { + if (errno != ENOENT) { + fprintf(stderr, "stat(%s) failed.\n", fullpath); + exit(-1); + } else + f = fopen(fullpath, mode); // create and open the file + } else { + /* note this code asumes we are writing but tests if mode == r -jrg */ + if (S_ISREG(fstats.st_mode) && !force && *mode != 'r' ) { + sprintf(prompt, "Do you want to overwrite %s ?", fullpath); + if (!yes_no(prompt)) + exit(0); + f = fopen(fullpath, mode); + } else if (S_ISFIFO(fstats.st_mode)) + { + retcode = + open(fullpath, ((*mode == 'r')?O_RDONLY:O_WRONLY)|O_CREAT, 0664); + f = fdopen(retcode, mode); + } + else + f = fopen(fullpath, mode); + } + OPEN_CHECK(f, fullpath); + + return (f); +} + + +/* + * agg_str(set, count) build an aggregated string from count unique + * selections taken from set + */ +void +agg_str(distribution *set, long count, long col, char *dest) +{ + distribution *d; + int i; + + d = set; + *dest = '\0'; + + permute_dist(d, col); + for (i=0; i < count; i++) + { + strcat(dest, DIST_MEMBER(set,DIST_PERMUTE(d, i))); + strcat(dest, " "); + } + *(dest + (int)strlen(dest) - 1) = '\0'; + + return; +} + + +long +dssncasecmp(char *s1, char *s2, int n) +{ + for (; n > 0; ++s1, ++s2, --n) + if (tolower(*s1) != tolower(*s2)) + return ((tolower(*s1) < tolower(*s2)) ? -1 : 1); + else if (*s1 == '\0') + return (0); + return (0); +} + +long +dsscasecmp(char *s1, char *s2) +{ + for (; tolower(*s1) == tolower(*s2); ++s1, ++s2) + if (*s1 == '\0') + return (0); + return ((tolower(*s1) < tolower(*s2)) ? -1 : 1); +} + +#ifndef STDLIB_HAS_GETOPT +int optind = 0; +int opterr = 0; +char *optarg = NULL; + +int +getopt(int ac, char **av, char *opt) +{ + static char *nextchar = NULL; + char *cp; + char hold; + + if (optarg == NULL) + { + optarg = (char *)malloc(BUFSIZ); + MALLOC_CHECK(optarg); + } + + if (!nextchar || *nextchar == '\0') + { + optind++; + if (optind == ac) + return(-1); + nextchar = av[optind]; + if (*nextchar != '-') + return(-1); + nextchar +=1; + } + + if (nextchar && *nextchar == '-') /* -- termination */ + { + optind++; + return(-1); + } + else /* found an option */ + { + cp = strchr(opt, *nextchar); + nextchar += 1; + if (cp == NULL) /* not defined for this run */ + return('?'); + if (*(cp + 1) == ':') /* option takes an argument */ + { + if (*nextchar) + { + hold = *cp; + cp = optarg; + while (*nextchar) + *cp++ = *nextchar++; + *cp = '\0'; + *cp = hold; + } + else /* white space separated, use next arg */ + { + if (++optind == ac) + return('?'); + strcpy(optarg, av[optind]); + } + nextchar = NULL; + } + return(*cp); + } +} +#endif /* STDLIB_HAS_GETOPT */ + +char ** +mk_ascdate(void) +{ + char **m; + dss_time_t t; + DSS_HUGE i; + + m = (char**) malloc((size_t)(TOTDATE * sizeof (char *))); + MALLOC_CHECK(m); + for (i = 0; i < TOTDATE; i++) + { + mk_time(i + 1, &t); + m[i] = strdup(t.alpha); + } + + return(m); +} + +/* + * set_state() -- initialize the RNG so that + * appropriate data sets can be generated. + * For each table that is to be generated, calculate the number of rows/child, and send that to the + * seed generation routine in speed_seed.c. Note: assumes that tables are completely independent. + * Returns the number of rows to be generated by the named step. + */ +DSS_HUGE +set_state(int table, long sf, long procs, long step, DSS_HUGE *extra_rows) +{ + int i; + DSS_HUGE rowcount, remainder, result; + + if (sf == 0 || step == 0) + return(0); + + rowcount = tdefs[table].base; + rowcount *= sf; + *extra_rows = rowcount % procs; + rowcount /= procs; + result = rowcount; + for (i=0; i < step - 1; i++) + { + if (table == LINE) /* special case for shared seeds */ + tdefs[table].gen_seed(1, rowcount); + else + tdefs[table].gen_seed(0, rowcount); + /* need to set seeds of child in case there's a dependency */ + /* NOTE: this assumes that the parent and child have the same base row count */ + if (tdefs[table].child != NONE) + tdefs[tdefs[table].child].gen_seed(0,rowcount); + } + if (step > procs) /* moving to the end to generate updates */ + tdefs[table].gen_seed(0, *extra_rows); + + return(result); +} diff --git a/tpch/00_compile_tpch/dbgen/bm_utils.o b/tpch/00_compile_tpch/dbgen/bm_utils.o new file mode 100644 index 0000000..1b3f806 Binary files /dev/null and b/tpch/00_compile_tpch/dbgen/bm_utils.o differ diff --git a/tpch/00_compile_tpch/dbgen/build.c b/tpch/00_compile_tpch/dbgen/build.c new file mode 100644 index 0000000..d19534b --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/build.c @@ -0,0 +1,451 @@ +/* + * $Id: build.c,v 1.5 2009/06/28 14:01:08 jms Exp $ + * + * Revision History =================== $Log: build.c,v $ + * Revision History =================== Revision 1.5 2009/06/28 14:01:08 jms + * Revision History =================== bug fix for DOP + * Revision History =================== Revision 1.4 + * 2005/10/28 02:56:22 jms add platform-specific printf formats to allow for + * DSS_HUGE data type + * + * Revision 1.3 2005/10/14 23:16:54 jms fix for answer set compliance + * + * Revision 1.2 2005/01/03 20:08:58 jms change line terminations + * + * Revision 1.1.1.1 2004/11/24 23:31:46 jms re-establish external server + * + * Revision 1.3 2004/04/07 20:17:29 jms bug #58 (join fails between + * order/lineitem) + * + * Revision 1.2 2004/01/22 05:49:29 jms AIX porting (AIX 5.1) + * + * Revision 1.1.1.1 2003/08/08 21:35:26 jms recreation after CVS crash + * + * Revision 1.3 2003/08/08 21:35:26 jms first integration of rng64 for + * o_custkey and l_partkey + * + * Revision 1.2 2003/08/07 17:58:34 jms Convery RNG to 64bit space as + * preparation for new large scale RNG + * + * Revision 1.1.1.1 2003/04/03 18:54:21 jms initial checkin + * + * + */ +/* stuff related to the customer table */ +#include +#include +#ifndef VMS +#include +#endif +#if defined(SUN) +#include +#endif +#include + +#include "dss.h" +#include "dsstypes.h" +#ifdef ADHOC +#include "adhoc.h" +extern adhoc_t adhocs[]; +#endif /* ADHOC */ +#include "rng64.h" + +#define LEAP_ADJ(yr, mnth) \ +((LEAP(yr) && (mnth) >= 2) ? 1 : 0) +#define JDAY_BASE 8035 /* start from 1/1/70 a la unix */ +#define JMNTH_BASE (-70 * 12) /* start from 1/1/70 a la unix */ +#define JDAY(date) ((date) - STARTDATE + JDAY_BASE + 1) +#define PART_SUPP_BRIDGE(tgt, p, s) \ + { \ + DSS_HUGE tot_scnt = tdefs[SUPP].base * scale; \ + tgt = (p + s * (tot_scnt / SUPP_PER_PART + \ + (long) ((p - 1) / tot_scnt))) % tot_scnt + 1; \ + } +#define V_STR(avg, sd, tgt) a_rnd((int)(avg * V_STR_LOW),(int)(avg * V_STR_HGH), sd, tgt) +#define TEXT(avg, sd, tgt) dbg_text(tgt, (int)(avg * V_STR_LOW),(int)(avg * V_STR_HGH), sd) +static void gen_phone PROTO((DSS_HUGE ind, char *target, long seed)); + +DSS_HUGE +rpb_routine(DSS_HUGE p) +{ + DSS_HUGE price; + + price = 90000; + price += (p / 10) % 20001; /* limit contribution to $200 */ + price += (p % 1000) * 100; + + return (price); +} + +static void +gen_phone(DSS_HUGE ind, char *target, long seed) +{ + DSS_HUGE acode, exchg, number; + + RANDOM(acode, 100, 999, seed); + RANDOM(exchg, 100, 999, seed); + RANDOM(number, 1000, 9999, seed); + + sprintf(target, "%02d", (int) (10 + (ind % NATIONS_MAX))); + sprintf(target + 3, "%03d", (int) acode); + sprintf(target + 7, "%03d", (int) exchg); + sprintf(target + 11, "%04d", (int) number); + target[2] = target[6] = target[10] = '-'; + + return; +} + + + +long +mk_cust(DSS_HUGE n_cust, customer_t * c) +{ + DSS_HUGE i; + static int bInit = 0; + static char szFormat[100]; + + if (!bInit) + { + sprintf(szFormat, C_NAME_FMT, 9, HUGE_FORMAT + 1); + bInit = 1; + } + c->custkey = n_cust; + sprintf(c->name, szFormat, C_NAME_TAG, n_cust); + V_STR(C_ADDR_LEN, C_ADDR_SD, c->address); + c->alen = (int)strlen(c->address); + RANDOM(i, 0, (nations.count - 1), C_NTRG_SD); + c->nation_code = i; + gen_phone(i, c->phone, (long) C_PHNE_SD); + RANDOM(c->acctbal, C_ABAL_MIN, C_ABAL_MAX, C_ABAL_SD); + pick_str(&c_mseg_set, C_MSEG_SD, c->mktsegment); + TEXT(C_CMNT_LEN, C_CMNT_SD, c->comment); + c->clen = (int)strlen(c->comment); + + return (0); +} + + +/* + * generate the numbered order and its associated lineitems + */ +void +mk_sparse(DSS_HUGE i, DSS_HUGE * ok, long seq) +{ + long low_bits; + + *ok = i; + low_bits = (long) (i & ((1 << SPARSE_KEEP) - 1)); + *ok = *ok >> SPARSE_KEEP; + *ok = *ok << SPARSE_BITS; + *ok += seq; + *ok = *ok << SPARSE_KEEP; + *ok += low_bits; + + + return; +} + +long +mk_order(DSS_HUGE index, order_t * o, long upd_num) +{ + DSS_HUGE lcnt; + DSS_HUGE rprice; + long ocnt; + DSS_HUGE tmp_date; + DSS_HUGE s_date; + DSS_HUGE r_date; + DSS_HUGE c_date; + DSS_HUGE clk_num; + DSS_HUGE supp_num; + static char **asc_date = NULL; + char tmp_str[2]; + char **mk_ascdate PROTO((void)); + int delta = 1; + static int bInit = 0; + static char szFormat[100]; + + if (!bInit) + { + sprintf(szFormat, O_CLRK_FMT, 9, HUGE_FORMAT + 1); + bInit = 1; + } + if (asc_date == NULL) + asc_date = mk_ascdate(); + mk_sparse(index, &o->okey, + (upd_num == 0) ? 0 : 1 + upd_num / (10000 / UPD_PCT)); + if (scale >= 30000) + RANDOM64(o->custkey, O_CKEY_MIN, O_CKEY_MAX, O_CKEY_SD); + else + RANDOM(o->custkey, O_CKEY_MIN, O_CKEY_MAX, O_CKEY_SD); + while (o->custkey % CUST_MORTALITY == 0) + { + o->custkey += delta; + o->custkey = MIN(o->custkey, O_CKEY_MAX); + delta *= -1; + } + + + RANDOM(tmp_date, O_ODATE_MIN, O_ODATE_MAX, O_ODATE_SD); + strcpy(o->odate, asc_date[tmp_date - STARTDATE]); + + pick_str(&o_priority_set, O_PRIO_SD, o->opriority); + RANDOM(clk_num, 1, MAX((scale * O_CLRK_SCL), O_CLRK_SCL), O_CLRK_SD); + sprintf(o->clerk, szFormat, O_CLRK_TAG, clk_num); + TEXT(O_CMNT_LEN, O_CMNT_SD, o->comment); + o->clen = (int)strlen(o->comment); +#ifdef DEBUG + if (o->clen > O_CMNT_MAX) + fprintf(stderr, "comment error: O%d\n", index); +#endif /* DEBUG */ + o->spriority = 0; + + o->totalprice = 0; + o->orderstatus = 'O'; + ocnt = 0; + + RANDOM(o->lines, O_LCNT_MIN, O_LCNT_MAX, O_LCNT_SD); + for (lcnt = 0; lcnt < o->lines; lcnt++) + { + o->l[lcnt].okey = o->okey;; + o->l[lcnt].lcnt = lcnt + 1; + RANDOM(o->l[lcnt].quantity, L_QTY_MIN, L_QTY_MAX, L_QTY_SD); + RANDOM(o->l[lcnt].discount, L_DCNT_MIN, L_DCNT_MAX, L_DCNT_SD); + RANDOM(o->l[lcnt].tax, L_TAX_MIN, L_TAX_MAX, L_TAX_SD); + pick_str(&l_instruct_set, L_SHIP_SD, o->l[lcnt].shipinstruct); + pick_str(&l_smode_set, L_SMODE_SD, o->l[lcnt].shipmode); + TEXT(L_CMNT_LEN, L_CMNT_SD, o->l[lcnt].comment); + o->l[lcnt].clen = (int)strlen(o->l[lcnt].comment); + if (scale >= 30000) + RANDOM64(o->l[lcnt].partkey, L_PKEY_MIN, L_PKEY_MAX, L_PKEY_SD); + else + RANDOM(o->l[lcnt].partkey, L_PKEY_MIN, L_PKEY_MAX, L_PKEY_SD); + rprice = rpb_routine(o->l[lcnt].partkey); + RANDOM(supp_num, 0, 3, L_SKEY_SD); + PART_SUPP_BRIDGE(o->l[lcnt].suppkey, o->l[lcnt].partkey, supp_num); + o->l[lcnt].eprice = rprice * o->l[lcnt].quantity; + + o->totalprice += + ((o->l[lcnt].eprice * + ((long) 100 - o->l[lcnt].discount)) / (long) PENNIES) * + ((long) 100 + o->l[lcnt].tax) + / (long) PENNIES; + + RANDOM(s_date, L_SDTE_MIN, L_SDTE_MAX, L_SDTE_SD); + s_date += tmp_date; + RANDOM(c_date, L_CDTE_MIN, L_CDTE_MAX, L_CDTE_SD); + c_date += tmp_date; + RANDOM(r_date, L_RDTE_MIN, L_RDTE_MAX, L_RDTE_SD); + r_date += s_date; + + + strcpy(o->l[lcnt].sdate, asc_date[s_date - STARTDATE]); + strcpy(o->l[lcnt].cdate, asc_date[c_date - STARTDATE]); + strcpy(o->l[lcnt].rdate, asc_date[r_date - STARTDATE]); + + + if (julian(r_date) <= CURRENTDATE) + { + pick_str(&l_rflag_set, L_RFLG_SD, tmp_str); + o->l[lcnt].rflag[0] = *tmp_str; + } + else + o->l[lcnt].rflag[0] = 'N'; + + if (julian(s_date) <= CURRENTDATE) + { + ocnt++; + o->l[lcnt].lstatus[0] = 'F'; + } + else + o->l[lcnt].lstatus[0] = 'O'; + } + + if (ocnt > 0) + o->orderstatus = 'P'; + if (ocnt == o->lines) + o->orderstatus = 'F'; + + return (0); +} + +long +mk_part(DSS_HUGE index, part_t * p) +{ + DSS_HUGE temp; + long snum; + DSS_HUGE brnd; + static int bInit = 0; + static char szFormat[100]; + static char szBrandFormat[100]; + + if (!bInit) + { + sprintf(szFormat, P_MFG_FMT, 1, HUGE_FORMAT + 1); + sprintf(szBrandFormat, P_BRND_FMT, 2, HUGE_FORMAT + 1); + bInit = 1; + } + p->partkey = index; + agg_str(&colors, (long) P_NAME_SCL, (long) P_NAME_SD, p->name); + RANDOM(temp, P_MFG_MIN, P_MFG_MAX, P_MFG_SD); + sprintf(p->mfgr, szFormat, P_MFG_TAG, temp); + RANDOM(brnd, P_BRND_MIN, P_BRND_MAX, P_BRND_SD); + sprintf(p->brand, szBrandFormat, P_BRND_TAG, (temp * 10 + brnd)); + p->tlen = pick_str(&p_types_set, P_TYPE_SD, p->type); + p->tlen = (int)strlen(p_types_set.list[p->tlen].text); + RANDOM(p->size, P_SIZE_MIN, P_SIZE_MAX, P_SIZE_SD); + pick_str(&p_cntr_set, P_CNTR_SD, p->container); + p->retailprice = rpb_routine(index); + TEXT(P_CMNT_LEN, P_CMNT_SD, p->comment); + p->clen = (int)strlen(p->comment); + + for (snum = 0; snum < SUPP_PER_PART; snum++) + { + p->s[snum].partkey = p->partkey; + PART_SUPP_BRIDGE(p->s[snum].suppkey, index, snum); + RANDOM(p->s[snum].qty, PS_QTY_MIN, PS_QTY_MAX, PS_QTY_SD); + RANDOM(p->s[snum].scost, PS_SCST_MIN, PS_SCST_MAX, PS_SCST_SD); + TEXT(PS_CMNT_LEN, PS_CMNT_SD, p->s[snum].comment); + p->s[snum].clen = (int)strlen(p->s[snum].comment); + } + return (0); +} + +long +mk_supp(DSS_HUGE index, supplier_t * s) +{ + DSS_HUGE i, bad_press, noise, offset, type; + static int bInit = 0; + static char szFormat[100]; + + if (!bInit) + { + sprintf(szFormat, S_NAME_FMT, 9, HUGE_FORMAT + 1); + bInit = 1; + } + s->suppkey = index; + sprintf(s->name, szFormat, S_NAME_TAG, index); + V_STR(S_ADDR_LEN, S_ADDR_SD, s->address); + s->alen = (int)strlen(s->address); + RANDOM(i, 0, nations.count - 1, S_NTRG_SD); + s->nation_code = i; + gen_phone(i, s->phone, S_PHNE_SD); + RANDOM(s->acctbal, S_ABAL_MIN, S_ABAL_MAX, S_ABAL_SD); + + TEXT(S_CMNT_LEN, S_CMNT_SD, s->comment); + s->clen = (int)strlen(s->comment); + /* + * these calls should really move inside the if stmt below, but this + * will simplify seedless parallel load + */ + RANDOM(bad_press, 1, 10000, BBB_CMNT_SD); + RANDOM(type, 0, 100, BBB_TYPE_SD); + RANDOM(noise, 0, (s->clen - BBB_CMNT_LEN), BBB_JNK_SD); + RANDOM(offset, 0, (s->clen - (BBB_CMNT_LEN + noise)), + BBB_OFFSET_SD); + if (bad_press <= S_CMNT_BBB) + { + type = (type < BBB_DEADBEATS) ? 0 : 1; + memcpy(s->comment + offset, BBB_BASE, BBB_BASE_LEN); + if (type == 0) + memcpy(s->comment + BBB_BASE_LEN + offset + noise, + BBB_COMPLAIN, BBB_TYPE_LEN); + else + memcpy(s->comment + BBB_BASE_LEN + offset + noise, + BBB_COMMEND, BBB_TYPE_LEN); + } + return (0); +} + +struct +{ + char *mdes; + long days; + long dcnt; +} months[] = + +{ + { + NULL, 0, 0 + }, + { + "JAN", 31, 31 + }, + { + "FEB", 28, 59 + }, + { + "MAR", 31, 90 + }, + { + "APR", 30, 120 + }, + { + "MAY", 31, 151 + }, + { + "JUN", 30, 181 + }, + { + "JUL", 31, 212 + }, + { + "AUG", 31, 243 + }, + { + "SEP", 30, 273 + }, + { + "OCT", 31, 304 + }, + { + "NOV", 30, 334 + }, + { + "DEC", 31, 365 + } +}; + +long +mk_time(DSS_HUGE index, dss_time_t * t) +{ + long m = 0; + long y; + long d; + + t->timekey = index + JDAY_BASE; + y = julian(index + STARTDATE - 1) / 1000; + d = julian(index + STARTDATE - 1) % 1000; + while (d > months[m].dcnt + LEAP_ADJ(y, m)) + m++; + PR_DATE(t->alpha, y, m, + d - months[m - 1].dcnt - ((LEAP(y) && m > 2) ? 1 : 0)); + t->year = 1900 + y; + t->month = m + 12 * y + JMNTH_BASE; + t->week = (d + T_START_DAY - 1) / 7 + 1; + t->day = d - months[m - 1].dcnt - LEAP_ADJ(y, m - 1); + + return (0); +} + +int +mk_nation(DSS_HUGE index, code_t * c) +{ + c->code = index - 1; + c->text = nations.list[index - 1].text; + c->join = nations.list[index - 1].weight; + TEXT(N_CMNT_LEN, N_CMNT_SD, c->comment); + c->clen = (int)strlen(c->comment); + return (0); +} + +int +mk_region(DSS_HUGE index, code_t * c) +{ + + c->code = index - 1; + c->text = regions.list[index - 1].text; + c->join = 0; /* for completeness */ + TEXT(R_CMNT_LEN, R_CMNT_SD, c->comment); + c->clen = (int)strlen(c->comment); + return (0); +} diff --git a/tpch/00_compile_tpch/dbgen/build.o b/tpch/00_compile_tpch/dbgen/build.o new file mode 100644 index 0000000..e3a9bf6 Binary files /dev/null and b/tpch/00_compile_tpch/dbgen/build.o differ diff --git a/tpch/00_compile_tpch/dbgen/check_answers/README b/tpch/00_compile_tpch/dbgen/check_answers/README new file mode 100644 index 0000000..2687e19 --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/check_answers/README @@ -0,0 +1,8 @@ +Answer sets to be compared should all be named q<1..22>.out . +Each file should have 1 header (col name line, that is ignored) followed by lines of data with fields separated by the pipe character "|". Lines should not start or end with a pipe char however. No trailing line of blank lines or "rows selected" should be present. + +./pairs.sh + This will create or overwrite a dir called _ and put in it 22 files of the form analysis_<1..22>.out . + +cmpq.pl + This is the pearl script that compares two files. The current version treats date output as a string and thus dates that (legally according to the spec) are right justified in a larger field may compare incorrectly. This will be fixed shortly. diff --git a/tpch/00_compile_tpch/dbgen/check_answers/cmpall.sh b/tpch/00_compile_tpch/dbgen/check_answers/cmpall.sh new file mode 100644 index 0000000..3334698 --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/check_answers/cmpall.sh @@ -0,0 +1,3 @@ +for i in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22;do + ./cmpq.pl $i ./Ingres_1g_qualification/q${i}.out ./Oracle_1g_qualification/${i}.log; +done diff --git a/tpch/00_compile_tpch/dbgen/check_answers/cmpq.pl b/tpch/00_compile_tpch/dbgen/check_answers/cmpq.pl new file mode 100644 index 0000000..2a0016b --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/check_answers/cmpq.pl @@ -0,0 +1,159 @@ +#!/usr/bin/perl +my $Query=shift(@ARGV); +my $InputFile1=shift(@ARGV); +my $InputFile2=shift(@ARGV); +my $assume_header=1; +my $OutputLog="analysis_".$Query.".log"; +my @ColPos; +my @ColF1; +my @ColF2; +my @ColStartF1; +my @ColEndF1; +my @ColStartF2; +my @ColEndF2; +my $NumColF1; +my $NumColF2; +my $QueryColPrecisionFile="colprecision.txt"; +my @ColStart; +my @ColEnd; +my $NumMismatch=0; +open my $file1 , $InputFile1; +open my $file2 , $InputFile2; +$debug = 0; +# function to remove whitespace from the start and end of the string + +# function to get next valid line +sub NextLine($) +{ + $filehandler = shift; + my $line; + while ($line=<$filehandler>){ + chop($line); + if (length($line)>0) { + return $line; + } + } + return undef; +} + +sub rtrim($) +{ + my $string = shift; + #$string =~ s/^\s+//; + $string =~ s/\s+$//; + return $string; +} + + +# main + +open my $file1 , $InputFile1; +open my $file2 , $InputFile2; +open(LOG,">$OutputLog"); +open(QColPrecision,$QueryColPrecisionFile); + +#get column precision information +$i=1; +while (($l=) && ($i<$Query)){ + $i++; +} +if ($i != $Query) { + print "Could not find column precision for Query $Query\n"; +} +@QueryColPrecision=split(/\s/,$l); + +#print @QueryColPrecision; +$NumRowsF1=0; +$NumRowsF2=0; +if ($assume_header==1){ + $lf1=&NextLine($file1); + $lf2=&NextLine($file2); +} +while (1){ + $lf1=&NextLine($file1); + #print "File 1 $lf1\n"; + $lf2=&NextLine($file2); + #print "File 2 $lf2\n"; + if ((!defined($lf1)) && (defined($lf2))) { + print LOG "File1 ($InputFile1) exhausted before File2 ($InputFile2)\n"; + print LOG "Number of rows processed $NumRowsF1\n"; + exit; + } elsif ((defined($lf1)) && (!defined($lf2))) { + print LOG "File2 ($InputFile2) exhausted before File1 ($InputFile1)\n"; + print LOG "Number of rows processed $NumRowsF1\n"; + exit; + } elsif ((!defined($lf1)) && (!defined($lf2))) { + #done + print LOG "Found $NumMismatch unacceptable missmatches\n"; + print "Query $Query $NumMismatch unacceptable missmatches\n"; + exit; + } + $NumRowsF1++; + $NumRowsF2++; + #print "Comparing row $lf1 with $lf2"; + # The following split implements fixed column length + #print "Splitting row $NumColF1: $lf1\n"; + @ColF1=split(/\|/,$lf1); + $NumColF1=@ColF1; + #print "Splitting row $NumColF2: $lf2\n"; + @ColF2=split(/\|/,$lf2); + $NumColF2=@ColF2; + # as needed we can extend to other splits + if ($NumColF1!=$NumColF2) { + print LOG "Number of column mismatch in row $NumRowsF1\n"; + exit; + } + #print $NumColF1."|".$NumColF2."\n"; + for ($col=0;$col<$NumColF1;$col++){ + #print "@ColF1[$col]| "; + @ColF1[$col]=&rtrim(@ColF1[$col]); + #print "@ColF1[$col]|\n"; + #print "@ColF2[$col]|"; + @ColF2[$col]=&rtrim(@ColF2[$col]); + #print "@ColF2[$col]|\n"; + } + # comparison + for ($col=0;$col<$NumColF1;$col++){ + #print "Comparing @ColF1[$col] and @ColF2[$col]\n"; + $difference=0; + $mismatch=0; + #print "@QueryColPrecision[$col]\n"; + for (@QueryColPrecision[$col]) { + if (/str/) {$mismatch = @ColF1[$col] ne @ColF2[$col] ? 1 : 0} #column is string and needs to match exactly + elsif (/sum/) {@ColF1[$col]=sprintf("%.2f", @ColF1[$col]); + @ColF2[$col]=sprintf("%.2f", @ColF2[$col]); + $difference = abs(@ColF1[$col] - @ColF2[$col]); + $pdifference= sprintf("%.4f",(($difference/@ColF1[$col])*100)); + $mismatch = $difference>100 ? 1 : 0; + $pdifference= sprintf("%.4f",($difference/@ColF1[$col])*100); } #column is sum and needs to be with 100 + elsif (/avg/) {@ColF1[$col]=sprintf("%.2f", @ColF1[$col]); + @ColF2[$col]=sprintf("%.2f", @ColF2[$col]); + $difference = abs(@ColF1[$col] - @ColF2[$col]); + $pdifference= sprintf("%.4f",(($difference/@ColF1[$col])*100)); + $mismatch = $pdifference>1 ? 1 : 0} #column is avg and needs to be within 1 percent when reported to the nearest 1/100th, rounded up + elsif (/cnt/) {$mismatch=1 if (@ColF1[$col] != @ColF2[$col])} #column is cnt and needs to match exactly + elsif (/int/) {$mismatch=1 if (@ColF1[$col] != @ColF2[$col])} #column is int and needs to match exactly + elsif (/num/) {@ColF1[$col]=sprintf("%.2f", @ColF1[$col]); + @ColF2[$col]=sprintf("%.2f", @ColF2[$col]); + $mismatch=1 if (@ColF1[$col] != @ColF2[$col]); + $difference = abs(@ColF1[$col] - @ColF2[$col]); + $pdifference= sprintf("%.4f",(($difference/@ColF1[$col])*100));} #column is num and needs to match exactly when reported to the nearest 1/100th, rounded up + elsif (/rat/) {@ColF1[$col]=sprintf("%.2f", @ColF1[$col]); + @ColF2[$col]=sprintf("%.2f", @ColF2[$col]); + $difference = abs(@ColF1[$col] - @ColF2[$col]); + $pdifference= sprintf("%.4f",(($difference/@ColF1[$col])*100)); + $mismatch = $difference > 1 ? 1 : 0;} #column is a ratio and needs to match within 1 percent when reported to the nearest 1/100th, rounded up + else {print LOG "Don't know how to compare type @QueryColPrecision[$col]\n";exit;} # default + } + #print "$mismatch $difference\n"; + if ($mismatch == 1) { + $NumMismatch++; + if (@QueryColPrecision[$col]=~"str"){ + printf( LOG "%s\n%30s%s\n%30s%s\n", "Difference in row $NumRowsF1 column $col using @QueryColPrecision[$col] ----------------> VIOLATION OF SPEC","$InputFile1:","@ColF1[$col]","$InputFile2:","@ColF2[$col]");} + else { + print LOG "Difference in row $NumRowsF1 column $col @ColF1[$col] @ColF2[$col] using @QueryColPrecision[$col]: total diff $difference percent diff $pdifference"." % ----------------> VIOLATION OF SPEC\n";} + } elsif ($difference>0) { + print LOG "Difference in row $NumRowsF1 column $col F1=@ColF1[$col] F2=@ColF2[$col] using @QueryColPrecision[$col] total diff $difference percent diff $pdifference ----------------> OK WITH SPEC\n"; + } + } +} diff --git a/tpch/00_compile_tpch/dbgen/check_answers/colprecision.txt b/tpch/00_compile_tpch/dbgen/check_answers/colprecision.txt new file mode 100644 index 0000000..327e5de --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/check_answers/colprecision.txt @@ -0,0 +1,23 @@ +str str sum sum sum sum avg avg avg cnt +num str str int str str str str +int sum str int +str cnt +str sum +sum +str str int sum +int rat +str int sum +int str sum num str str str str +int sum +str sum sum +cnt cnt +rat +int str str str sum +str str num cnt +avg +str int int str num sum +sum +str str +str cnt +num cnt sum + diff --git a/tpch/00_compile_tpch/dbgen/check_answers/pairs.sh b/tpch/00_compile_tpch/dbgen/check_answers/pairs.sh new file mode 100644 index 0000000..b7a6d2c --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/check_answers/pairs.sh @@ -0,0 +1,25 @@ +#!/bin/bash + +pairs() +{ +x=$1 +shift 1 +for y in $*;do + echo Comparing $x to $y + for ((i=1; i<23; i++));do + ./cmpq.pl $i ./${x}/q${i}.out ./${y}/q${i}.out + done + mkdir -p ${x}_${y} + mv analysis* ${x}_${y} +done +if [ $# -gt 1 ]; then + pairs $* +fi +} + +if [ $# -eq 0 ]; then + pairs oracle ingres microsoft ibm +else + pairs $* +fi + diff --git a/tpch/00_compile_tpch/dbgen/column_split.sh b/tpch/00_compile_tpch/dbgen/column_split.sh new file mode 100644 index 0000000..90580eb --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/column_split.sh @@ -0,0 +1,15 @@ +#!/bin/bash +TABLE=$1 +IFS="|" + +while read line +do + set $line + count=1 + while [ $# -gt 0 ] + do + echo $1 >> ${TABLE}$count + count=`expr $count + 1` + shift + done +done diff --git a/tpch/00_compile_tpch/dbgen/config.h b/tpch/00_compile_tpch/dbgen/config.h new file mode 100644 index 0000000..4e74b2c --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/config.h @@ -0,0 +1,219 @@ +/* +* $Id: config.h,v 1.8 2007/01/04 21:29:21 jms Exp $ +* +* Revision History +* =================== +* $Log: config.h,v $ +* Revision 1.8 2007/01/04 21:29:21 jms +* Porting changes uncovered as part of move to VS2005. No impact on data set +* +* Revision 1.7 2006/06/29 20:46:17 jms +* 2.4.0 changes from Meikel +* +* Revision 1.6 2006/05/31 22:25:21 jms +* Rework UnifInt calls in varsub to handle lack of PROTO defn in windows +* +* Revision 1.5 2006/05/25 22:35:36 jms +* qgen porting changes for 32b/64b +* +* Revision 1.4 2006/03/09 18:54:55 jms +* porting bugs +* +* Revision 1.3 2005/03/04 19:48:39 jms +* Changes from Doug Johnson to address very large scale factors +* +* Revision 1.2 2005/01/03 20:08:58 jms +* change line terminations +* +* Revision 1.1.1.1 2004/11/24 23:31:46 jms +* re-establish external server +* +* Revision 1.7 2004/04/08 17:36:47 jms +* clarify config.h/makefile linkage +* +* Revision 1.6 2004/04/08 17:35:00 jms +* SUN/SOLARIS ifdef merge between machines +* +* Revision 1.5 2004/04/08 17:27:53 jms +* solaris porting fixes +* +* Revision 1.4 2003/08/12 16:45:26 jms +* linux porting changes +* +* Revision 1.3 2003/08/08 21:35:26 jms +* first integration of rng64 for o_custkey and l_partkey +* +* Revision 1.2 2003/08/07 17:58:34 jms +* Convery RNG to 64bit space as preparation for new large scale RNG +* +* Revision 1.1.1.1 2003/04/03 18:54:21 jms +* initial checkin +* +* +*/ +/* + * this file allows the compilation of DBGEN to be tailored to specific + * architectures and operating systems. Some options are grouped + * together to allow easier compilation on a given vendor's hardware. + * + * The following #defines will effect the code: + * KILL(pid) -- how to terminate a process in a parallel load + * SPAWN -- name of system call to clone an existing process + * SET_HANDLER(proc) -- name of routine to handle signals in parallel load + * WAIT(res, pid) -- how to await the termination of a child + * SEPARATOR -- character used to separate fields in flat files + * STDLIB_HAS_GETOPT -- to prevent confilcts with gloabal getopt() + * MDY_DATE -- generate dates as MM-DD-YY + * WIN32 -- support for WindowsNT + * SUPPORT_64BITS -- compiler defines a 64 bit datatype + * DSS_HUGE -- 64 bit data type + * HUGE_FORMAT -- printf string for 64 bit data type + * EOL_HANDLING -- flat files don't need final column separator + * + * Certain defines must be provided in the makefile: + * MACHINE defines + * ========== + * ATT -- getopt() handling + * DOS -- disable all multi-user functionality/dependency + * HP -- posix source inclusion differences + * IBM -- posix source inclusion differences + * SGI -- getopt() handling + * SUN -- getopt() handling + * LINUX + * WIN32 -- for WINDOWS + * + * DATABASE defines + * ================ + * DB2 -- use DB2 dialect in QGEN + * INFORMIX -- use Informix dialect in QGEN + * SQLSERVER -- use SQLSERVER dialect in QGEN + * SYBASE -- use Sybase dialect in QGEN + * TDAT -- use Teradata dialect in QGEN + * + * WORKLOAD defines + * ================ + * TPCH -- make will create TPCH (set in makefile) + */ + +#ifdef DOS +#define PATH_SEP '\\' +#else + + +#ifdef ATT +#define STDLIB_HAS_GETOPT +#ifdef SQLSERVER +#define WIN32 +#else +/* the 64 bit defines are for the Metaware compiler */ +#define SUPPORT_64BITS +#define DSS_HUGE long long +#define RNG_A 6364136223846793005ull +#define RNG_C 1ull +#define HUGE_FORMAT "%LLd" +#define HUGE_DATE_FORMAT "%02LLd" +#endif /* SQLSERVER or MP/RAS */ +#endif /* ATT */ + +#ifdef HP +#define _INCLUDE_POSIX_SOURCE +#define STDLIB_HAS_GETOPT +#define SUPPORT_64BITS +#define DSS_HUGE long +#define HUGE_COUNT 2 +#define HUGE_FORMAT "%ld" +#define HUGE_DATE_FORMAT "%02lld" +#define RNG_C 1ull +#define RNG_A 6364136223846793005ull +#endif /* HP */ + +#ifdef IBM +#define STDLIB_HAS_GETOPT +#define SUPPORT_64BITS +#define DSS_HUGE long long +#define HUGE_FORMAT "%lld" +#define HUGE_DATE_FORMAT "%02lld" +#define RNG_A 6364136223846793005ull +#define RNG_C 1ull +#endif /* IBM */ + +#ifdef LINUX +#define STDLIB_HAS_GETOPT +#define SUPPORT_64BITS +#define DSS_HUGE long long int +#define HUGE_FORMAT "%lld" +#define HUGE_DATE_FORMAT "%02lld" +#define RNG_A 6364136223846793005ull +#define RNG_C 1ull +#endif /* LINUX */ + +#ifdef SUN +#define STDLIB_HAS_GETOPT +#define RNG_A 6364136223846793005ull +#define RNG_C 1ull +#define SUPPORT_64BITS +#define DSS_HUGE long long +#define HUGE_FORMAT "%lld" +#define HUGE_DATE_FORMAT "%02lld" +#endif /* SUN */ + +#ifdef SGI +#define STDLIB_HAS_GETOPT +#define SUPPORT_64BITS +#define DSS_HUGE __int64_t +#endif /* SGI */ + +#if (defined(WIN32)&&!defined(_POSIX_)) +#define pid_t int +#define SET_HANDLER(proc) signal(SIGINT, proc) +#define KILL(pid) \ + TerminateProcess(OpenProcess(PROCESS_TERMINATE,FALSE,pid),3) +#if (defined (__WATCOMC__)) +#define SPAWN() spawnv(P_NOWAIT, spawn_args[0], spawn_args) +#define WAIT(res, pid) cwait(res, pid, WAIT_CHILD) +#else +#define SPAWN() _spawnv(_P_NOWAIT, spawn_args[0], spawn_args) +#define WAIT(res, pid) _cwait(res, pid, _WAIT_CHILD) +#define getpid _getpid +#endif /* WATCOMC */ +#define SIGS_DEFINED +#define PATH_SEP '\\' +#define SUPPORT_64BITS +#define DSS_HUGE __int64 +#define RNG_A 6364136223846793005uI64 +#define RNG_C 1uI64 +#define HUGE_FORMAT "%I64d" +#define HUGE_DATE_FORMAT "%02I64d" +/* need to define process termination codes to match UNIX */ +/* these are copied from Linux/GNU and need to be verified as part of a rework of */ +/* process handling under NT (29 Apr 98) */ +#define WIFEXITED(s) ((s & 0xFF) == 0) +#define WIFSIGNALED(s) (((unsigned int)((status)-1) & 0xFFFF) < 0xFF) +#define WIFSTOPPED(s) (((s) & 0xff) == 0x7f) +#define WTERMSIG(s) ((s) & 0x7f) +#define WSTOPSIG(s) (((s) & 0xff00) >> 8) +/* requried by move to Visual Studio 2005 */ +#define strdup(x) _strdup(x) +#endif /* WIN32 */ + +#ifndef SIGS_DEFINED +#define KILL(pid) kill(SIGUSR1, pid) +#define SET_HANDLER(proc) signal(SIGUSR1, proc) +#define SPAWN fork +#define WAIT(res, pid) wait(res) +#endif /* DEFAULT */ + +#endif /* DOS */ + +#ifndef PATH_SEP +#define PATH_SEP '/' +#endif /* PATH_SEP */ + +#ifndef DSS_HUGE +#error Support for a 64-bit datatype is required in this release +#endif + +#ifndef DOUBLE_CAST +#define DOUBLE_CAST (double) +#endif /* DOUBLE_CAST */ + diff --git a/tpch/00_compile_tpch/dbgen/dbgen b/tpch/00_compile_tpch/dbgen/dbgen new file mode 100644 index 0000000..933bad6 Binary files /dev/null and b/tpch/00_compile_tpch/dbgen/dbgen differ diff --git a/tpch/00_compile_tpch/dbgen/dbgen.dsp b/tpch/00_compile_tpch/dbgen/dbgen.dsp new file mode 100644 index 0000000..c69c632 --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/dbgen.dsp @@ -0,0 +1,168 @@ +# Microsoft Developer Studio Project File - Name="dbgen" - Package Owner=<4> +# Microsoft Developer Studio Generated Build File, Format Version 6.00 +# ** DO NOT EDIT ** + +# TARGTYPE "Win32 (x86) Console Application" 0x0103 + +CFG=dbgen - Win32 Debug +!MESSAGE This is not a valid makefile. To build this project using NMAKE, +!MESSAGE use the Export Makefile command and run +!MESSAGE +!MESSAGE NMAKE /f "dbgen.mak". +!MESSAGE +!MESSAGE You can specify a configuration when running NMAKE +!MESSAGE by defining the macro CFG on the command line. For example: +!MESSAGE +!MESSAGE NMAKE /f "dbgen.mak" CFG="dbgen - Win32 Debug" +!MESSAGE +!MESSAGE Possible choices for configuration are: +!MESSAGE +!MESSAGE "dbgen - Win32 Release" (based on "Win32 (x86) Console Application") +!MESSAGE "dbgen - Win32 Debug" (based on "Win32 (x86) Console Application") +!MESSAGE + +# Begin Project +# PROP AllowPerConfigDependencies 0 +# PROP Scc_ProjName "" +# PROP Scc_LocalPath "" +CPP=cl.exe +RSC=rc.exe + +!IF "$(CFG)" == "dbgen - Win32 Release" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "Release" +# PROP BASE Intermediate_Dir "Release" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "Release" +# PROP Intermediate_Dir "Release" +# PROP Target_Dir "" +# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c +# ADD CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /D "TPCH" /YX /FD /c +# ADD BASE RSC /l 0x409 /d "NDEBUG" +# ADD RSC /l 0x409 /d "NDEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 +# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 + +!ELSEIF "$(CFG)" == "dbgen - Win32 Debug" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 1 +# PROP BASE Output_Dir "Debug" +# PROP BASE Intermediate_Dir "Debug" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 1 +# PROP Output_Dir "Debug" +# PROP Intermediate_Dir "Debug" +# PROP Target_Dir "" +# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c +# ADD CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /D "TPCH" /FR /YX /FD /GZ /c +# ADD BASE RSC /l 0x409 /d "_DEBUG" +# ADD RSC /l 0x409 /d "_DEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept +# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept + +!ENDIF + +# Begin Target + +# Name "dbgen - Win32 Release" +# Name "dbgen - Win32 Debug" +# Begin Group "Source Files" + +# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" +# Begin Source File + +SOURCE=.\bm_utils.c +# End Source File +# Begin Source File + +SOURCE=.\build.c +# End Source File +# Begin Source File + +SOURCE=.\driver.c +# End Source File +# Begin Source File + +SOURCE=.\load_stub.c +# End Source File +# Begin Source File + +SOURCE=.\permute.c +# End Source File +# Begin Source File + +SOURCE=.\print.c +# End Source File +# Begin Source File + +SOURCE=.\rnd.c +# End Source File +# Begin Source File + +SOURCE=.\rng64.c +# End Source File +# Begin Source File + +SOURCE=.\speed_seed.c +# End Source File +# Begin Source File + +SOURCE=.\text.c +# End Source File +# End Group +# Begin Group "Header Files" + +# PROP Default_Filter "h;hpp;hxx;hm;inl" +# Begin Source File + +SOURCE=.\config.h +# End Source File +# Begin Source File + +SOURCE=.\dss.h +# End Source File +# Begin Source File + +SOURCE=.\dsstypes.h +# End Source File +# Begin Source File + +SOURCE=.\permute.h +# End Source File +# Begin Source File + +SOURCE=.\rnd.h +# End Source File +# Begin Source File + +SOURCE=.\rng64.h +# End Source File +# Begin Source File + +SOURCE=.\shared.h +# End Source File +# Begin Source File + +SOURCE=.\tpcd.h +# End Source File +# End Group +# Begin Group "Resource Files" + +# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe" +# End Group +# End Target +# End Project diff --git a/tpch/00_compile_tpch/dbgen/dists.dss b/tpch/00_compile_tpch/dbgen/dists.dss new file mode 100644 index 0000000..bd4ae0b --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/dists.dss @@ -0,0 +1,836 @@ +# +# $Id: dists.dss,v 1.2 2005/01/03 20:08:58 jms Exp $ +# +# Revision History +# =================== +# $Log: dists.dss,v $ +# Revision 1.2 2005/01/03 20:08:58 jms +# change line terminations +# +# Revision 1.1.1.1 2004/11/24 23:31:46 jms +# re-establish external server +# +# Revision 1.1.1.1 2003/04/03 18:54:21 jms +# recreation after CVS crash +# +# Revision 1.1.1.1 2003/04/03 18:54:21 jms +# initial checkin +# +# +# +# +# distributions have the following format: +# +# | # comment +# +# Distributions are used to bias the selection of a token +# based on its associated weight. The list of tokens and values +# between the keywords BEGIN and END define the distribution named after +# the BEGIN. A uniformly random value from [0, sum(weights)] +# will be chosen and the first token whose cumulative weight is greater than +# or equal to the result will be returned. In essence, the weights for each +# token represent its relative weight within a distribution. +# +# one special token is defined: count (number of data points in the +# distribution). It MUST be defined for each named distribution. +#----------------------------------------------------------------------- +# currently defined distributions and their use: +# NAME FIELD/NOTES +# ======== ============== +# category parts.category +# container parts.container +# instruct shipping instructions +# msegmnt market segment +# names parts.name +# nations must be ordered along with regions +# nations2 stand alone nations set for use with qgen +# o_prio order priority +# regions must be ordered along with nations +# rflag lineitems.returnflag +# types parts.type +# colors embedded string creation; CANNOT BE USED FOR pick_str(), agg_str() perturbs order +# articles comment generation +# nouns +# verbs +# adverbs +# auxillaries +# prepositions +# terminators +# grammar sentence formation +# np +# vp +### +# category +### +BEGIN category +COUNT|5 +FURNITURE|1 +STORAGE EQUIP|1 +TOOLS|1 +MACHINE TOOLS|1 +OTHER|1 +END category +### +# container +### +begin p_cntr +count|40 +SM CASE|1 +SM BOX|1 +SM BAG|1 +SM JAR|1 +SM PACK|1 +SM PKG|1 +SM CAN|1 +SM DRUM|1 +LG CASE|1 +LG BOX|1 +LG BAG|1 +LG JAR|1 +LG PACK|1 +LG PKG|1 +LG CAN|1 +LG DRUM|1 +MED CASE|1 +MED BOX|1 +MED BAG|1 +MED JAR|1 +MED PACK|1 +MED PKG|1 +MED CAN|1 +MED DRUM|1 +JUMBO CASE|1 +JUMBO BOX|1 +JUMBO BAG|1 +JUMBO JAR|1 +JUMBO PACK|1 +JUMBO PKG|1 +JUMBO CAN|1 +JUMBO DRUM|1 +WRAP CASE|1 +WRAP BOX|1 +WRAP BAG|1 +WRAP JAR|1 +WRAP PACK|1 +WRAP PKG|1 +WRAP CAN|1 +WRAP DRUM|1 +end p_cntr +### +# instruct +### +begin instruct +count|4 +DELIVER IN PERSON|1 +COLLECT COD|1 +TAKE BACK RETURN|1 +NONE|1 +end instruct +### +# msegmnt +### +begin msegmnt +count|5 +AUTOMOBILE|1 +BUILDING|1 +FURNITURE|1 +HOUSEHOLD|1 +MACHINERY|1 +end msegmnt +### +# names +### +begin p_names +COUNT|4 +CLEANER|1 +SOAP|1 +DETERGENT|1 +EXTRA|1 +end p_names +### +# nations +# NOTE: this is a special case; the weights here are adjustments to +# map correctly into the regions table, and are *NOT* cummulative +# values to mimic a distribution +### +begin nations +count|25 +ALGERIA|0 +ARGENTINA|1 +BRAZIL|0 +CANADA|0 +EGYPT|3 +ETHIOPIA|-4 +FRANCE|3 +GERMANY|0 +INDIA|-1 +INDONESIA|0 +IRAN|2 +IRAQ|0 +JAPAN|-2 +JORDAN|2 +KENYA|-4 +MOROCCO|0 +MOZAMBIQUE|0 +PERU|1 +CHINA|1 +ROMANIA|1 +SAUDI ARABIA|1 +VIETNAM|-2 +RUSSIA|1 +UNITED KINGDOM|0 +UNITED STATES|-2 +end nations +### +# nations2 +### +begin nations2 +count|25 +ALGERIA|1 +ARGENTINA|1 +BRAZIL|1 +CANADA|1 +EGYPT|1 +ETHIOPIA|1 +FRANCE|1 +GERMANY|1 +INDIA|1 +INDONESIA|1 +IRAN|1 +IRAQ|1 +JAPAN|1 +JORDAN|1 +KENYA|1 +MOROCCO|1 +MOZAMBIQUE|1 +PERU|1 +CHINA|1 +ROMANIA|1 +SAUDI ARABIA|1 +VIETNAM|1 +RUSSIA|1 +UNITED KINGDOM|1 +UNITED STATES|1 +end nations2 +### +# regions +### +begin regions +count|5 +AFRICA|1 +AMERICA|1 +ASIA|1 +EUROPE|1 +MIDDLE EAST|1 +end regions +### +# o_prio +### +begin o_oprio +count|5 +1-URGENT|1 +2-HIGH|1 +3-MEDIUM|1 +4-NOT SPECIFIED|1 +5-LOW|1 +end o_oprio +### +# rflag +### +begin rflag +count|2 +R|1 +A|1 +end rflag +### +# smode +### +begin smode +count|7 +REG AIR|1 +AIR|1 +RAIL|1 +TRUCK|1 +MAIL|1 +FOB|1 +SHIP|1 +end smode +### +# types +### +begin p_types +COUNT|150 +STANDARD ANODIZED TIN|1 +STANDARD ANODIZED NICKEL|1 +STANDARD ANODIZED BRASS|1 +STANDARD ANODIZED STEEL|1 +STANDARD ANODIZED COPPER|1 +STANDARD BURNISHED TIN|1 +STANDARD BURNISHED NICKEL|1 +STANDARD BURNISHED BRASS|1 +STANDARD BURNISHED STEEL|1 +STANDARD BURNISHED COPPER|1 +STANDARD PLATED TIN|1 +STANDARD PLATED NICKEL|1 +STANDARD PLATED BRASS|1 +STANDARD PLATED STEEL|1 +STANDARD PLATED COPPER|1 +STANDARD POLISHED TIN|1 +STANDARD POLISHED NICKEL|1 +STANDARD POLISHED BRASS|1 +STANDARD POLISHED STEEL|1 +STANDARD POLISHED COPPER|1 +STANDARD BRUSHED TIN|1 +STANDARD BRUSHED NICKEL|1 +STANDARD BRUSHED BRASS|1 +STANDARD BRUSHED STEEL|1 +STANDARD BRUSHED COPPER|1 +SMALL ANODIZED TIN|1 +SMALL ANODIZED NICKEL|1 +SMALL ANODIZED BRASS|1 +SMALL ANODIZED STEEL|1 +SMALL ANODIZED COPPER|1 +SMALL BURNISHED TIN|1 +SMALL BURNISHED NICKEL|1 +SMALL BURNISHED BRASS|1 +SMALL BURNISHED STEEL|1 +SMALL BURNISHED COPPER|1 +SMALL PLATED TIN|1 +SMALL PLATED NICKEL|1 +SMALL PLATED BRASS|1 +SMALL PLATED STEEL|1 +SMALL PLATED COPPER|1 +SMALL POLISHED TIN|1 +SMALL POLISHED NICKEL|1 +SMALL POLISHED BRASS|1 +SMALL POLISHED STEEL|1 +SMALL POLISHED COPPER|1 +SMALL BRUSHED TIN|1 +SMALL BRUSHED NICKEL|1 +SMALL BRUSHED BRASS|1 +SMALL BRUSHED STEEL|1 +SMALL BRUSHED COPPER|1 +MEDIUM ANODIZED TIN|1 +MEDIUM ANODIZED NICKEL|1 +MEDIUM ANODIZED BRASS|1 +MEDIUM ANODIZED STEEL|1 +MEDIUM ANODIZED COPPER|1 +MEDIUM BURNISHED TIN|1 +MEDIUM BURNISHED NICKEL|1 +MEDIUM BURNISHED BRASS|1 +MEDIUM BURNISHED STEEL|1 +MEDIUM BURNISHED COPPER|1 +MEDIUM PLATED TIN|1 +MEDIUM PLATED NICKEL|1 +MEDIUM PLATED BRASS|1 +MEDIUM PLATED STEEL|1 +MEDIUM PLATED COPPER|1 +MEDIUM POLISHED TIN|1 +MEDIUM POLISHED NICKEL|1 +MEDIUM POLISHED BRASS|1 +MEDIUM POLISHED STEEL|1 +MEDIUM POLISHED COPPER|1 +MEDIUM BRUSHED TIN|1 +MEDIUM BRUSHED NICKEL|1 +MEDIUM BRUSHED BRASS|1 +MEDIUM BRUSHED STEEL|1 +MEDIUM BRUSHED COPPER|1 +LARGE ANODIZED TIN|1 +LARGE ANODIZED NICKEL|1 +LARGE ANODIZED BRASS|1 +LARGE ANODIZED STEEL|1 +LARGE ANODIZED COPPER|1 +LARGE BURNISHED TIN|1 +LARGE BURNISHED NICKEL|1 +LARGE BURNISHED BRASS|1 +LARGE BURNISHED STEEL|1 +LARGE BURNISHED COPPER|1 +LARGE PLATED TIN|1 +LARGE PLATED NICKEL|1 +LARGE PLATED BRASS|1 +LARGE PLATED STEEL|1 +LARGE PLATED COPPER|1 +LARGE POLISHED TIN|1 +LARGE POLISHED NICKEL|1 +LARGE POLISHED BRASS|1 +LARGE POLISHED STEEL|1 +LARGE POLISHED COPPER|1 +LARGE BRUSHED TIN|1 +LARGE BRUSHED NICKEL|1 +LARGE BRUSHED BRASS|1 +LARGE BRUSHED STEEL|1 +LARGE BRUSHED COPPER|1 +ECONOMY ANODIZED TIN|1 +ECONOMY ANODIZED NICKEL|1 +ECONOMY ANODIZED BRASS|1 +ECONOMY ANODIZED STEEL|1 +ECONOMY ANODIZED COPPER|1 +ECONOMY BURNISHED TIN|1 +ECONOMY BURNISHED NICKEL|1 +ECONOMY BURNISHED BRASS|1 +ECONOMY BURNISHED STEEL|1 +ECONOMY BURNISHED COPPER|1 +ECONOMY PLATED TIN|1 +ECONOMY PLATED NICKEL|1 +ECONOMY PLATED BRASS|1 +ECONOMY PLATED STEEL|1 +ECONOMY PLATED COPPER|1 +ECONOMY POLISHED TIN|1 +ECONOMY POLISHED NICKEL|1 +ECONOMY POLISHED BRASS|1 +ECONOMY POLISHED STEEL|1 +ECONOMY POLISHED COPPER|1 +ECONOMY BRUSHED TIN|1 +ECONOMY BRUSHED NICKEL|1 +ECONOMY BRUSHED BRASS|1 +ECONOMY BRUSHED STEEL|1 +ECONOMY BRUSHED COPPER|1 +PROMO ANODIZED TIN|1 +PROMO ANODIZED NICKEL|1 +PROMO ANODIZED BRASS|1 +PROMO ANODIZED STEEL|1 +PROMO ANODIZED COPPER|1 +PROMO BURNISHED TIN|1 +PROMO BURNISHED NICKEL|1 +PROMO BURNISHED BRASS|1 +PROMO BURNISHED STEEL|1 +PROMO BURNISHED COPPER|1 +PROMO PLATED TIN|1 +PROMO PLATED NICKEL|1 +PROMO PLATED BRASS|1 +PROMO PLATED STEEL|1 +PROMO PLATED COPPER|1 +PROMO POLISHED TIN|1 +PROMO POLISHED NICKEL|1 +PROMO POLISHED BRASS|1 +PROMO POLISHED STEEL|1 +PROMO POLISHED COPPER|1 +PROMO BRUSHED TIN|1 +PROMO BRUSHED NICKEL|1 +PROMO BRUSHED BRASS|1 +PROMO BRUSHED STEEL|1 +PROMO BRUSHED COPPER|1 +end p_types +### +# colors +# NOTE: This distribution CANNOT be used by pick_str(), since agg_str() perturbs its order +### +begin colors +COUNT|92 +almond|1 +antique|1 +aquamarine|1 +azure|1 +beige|1 +bisque|1 +black|1 +blanched|1 +blue|1 +blush|1 +brown|1 +burlywood|1 +burnished|1 +chartreuse|1 +chiffon|1 +chocolate|1 +coral|1 +cornflower|1 +cornsilk|1 +cream|1 +cyan|1 +dark|1 +deep|1 +dim|1 +dodger|1 +drab|1 +firebrick|1 +floral|1 +forest|1 +frosted|1 +gainsboro|1 +ghost|1 +goldenrod|1 +green|1 +grey|1 +honeydew|1 +hot|1 +indian|1 +ivory|1 +khaki|1 +lace|1 +lavender|1 +lawn|1 +lemon|1 +light|1 +lime|1 +linen|1 +magenta|1 +maroon|1 +medium|1 +metallic|1 +midnight|1 +mint|1 +misty|1 +moccasin|1 +navajo|1 +navy|1 +olive|1 +orange|1 +orchid|1 +pale|1 +papaya|1 +peach|1 +peru|1 +pink|1 +plum|1 +powder|1 +puff|1 +purple|1 +red|1 +rose|1 +rosy|1 +royal|1 +saddle|1 +salmon|1 +sandy|1 +seashell|1 +sienna|1 +sky|1 +slate|1 +smoke|1 +snow|1 +spring|1 +steel|1 +tan|1 +thistle|1 +tomato|1 +turquoise|1 +violet|1 +wheat|1 +white|1 +yellow|1 +end colors +################ +################ +## psuedo text distributions +################ +################ +### +# nouns +### +BEGIN nouns +COUNT|45 +packages|40 +requests|40 +accounts|40 +deposits|40 +foxes|20 +ideas|20 +theodolites|20 +pinto beans|20 +instructions|20 +dependencies|10 +excuses|10 +platelets|10 +asymptotes|10 +courts|5 +dolphins|5 +multipliers|1 +sauternes|1 +warthogs|1 +frets|1 +dinos|1 +attainments|1 +somas|1 +Tiresias|1 +patterns|1 +forges|1 +braids|1 +frays|1 +warhorses|1 +dugouts|1 +notornis|1 +epitaphs|1 +pearls|1 +tithes|1 +waters|1 +orbits|1 +gifts|1 +sheaves|1 +depths|1 +sentiments|1 +decoys|1 +realms|1 +pains|1 +grouches|1 +escapades|1 +hockey players|1 +END nouns +### +# verbs +### +BEGIN verbs +COUNT|40 +sleep|20 +wake|20 +are|20 +cajole|20 +haggle|20 +nag|10 +use|10 +boost|10 +affix|5 +detect|5 +integrate|5 +maintain|1 +nod|1 +was|1 +lose|1 +sublate|1 +solve|1 +thrash|1 +promise|1 +engage|1 +hinder|1 +print|1 +x-ray|1 +breach|1 +eat|1 +grow|1 +impress|1 +mold|1 +poach|1 +serve|1 +run|1 +dazzle|1 +snooze|1 +doze|1 +unwind|1 +kindle|1 +play|1 +hang|1 +believe|1 +doubt|1 +END verbs +### +# adverbs +## +BEGIN adverbs +COUNT|28 +sometimes|1 +always|1 +never|1 +furiously|50 +slyly|50 +carefully|50 +blithely|40 +quickly|30 +fluffily|20 +slowly|1 +quietly|1 +ruthlessly|1 +thinly|1 +closely|1 +doggedly|1 +daringly|1 +bravely|1 +stealthily|1 +permanently|1 +enticingly|1 +idly|1 +busily|1 +regularly|1 +finally|1 +ironically|1 +evenly|1 +boldly|1 +silently|1 +END adverbs +### +# articles +## +BEGIN articles +COUNT|3 +the|50 +a|20 +an|5 +END articles +### +# prepositions +## +BEGIN prepositions +COUNT|47 +about|50 +above|50 +according to|50 +across|50 +after|50 +against|40 +along|40 +alongside of|30 +among|30 +around|20 +at|10 +atop|1 +before|1 +behind|1 +beneath|1 +beside|1 +besides|1 +between|1 +beyond|1 +by|1 +despite|1 +during|1 +except|1 +for|1 +from|1 +in place of|1 +inside|1 +instead of|1 +into|1 +near|1 +of|1 +on|1 +outside|1 +over|1 +past|1 +since|1 +through|1 +throughout|1 +to|1 +toward|1 +under|1 +until|1 +up|1 +upon|1 +whithout|1 +with|1 +within|1 +END prepositions +### +# auxillaries +## +BEGIN auxillaries +COUNT|18 +do|1 +may|1 +might|1 +shall|1 +will|1 +would|1 +can|1 +could|1 +should|1 +ought to|1 +must|1 +will have to|1 +shall have to|1 +could have to|1 +should have to|1 +must have to|1 +need to|1 +try to|1 +END auxiallaries +### +# terminators +## +BEGIN terminators +COUNT|6 +.|50 +;|1 +:|1 +?|1 +!|1 +--|1 +END terminators +### +# adjectives +## +BEGIN adjectives +COUNT|29 +special|20 +pending|20 +unusual|20 +express|20 +furious|1 +sly|1 +careful|1 +blithe|1 +quick|1 +fluffy|1 +slow|1 +quiet|1 +ruthless|1 +thin|1 +close|1 +dogged|1 +daring|1 +brave|1 +stealthy|1 +permanent|1 +enticing|1 +idle|1 +busy|1 +regular|50 +final|40 +ironic|40 +even|30 +bold|20 +silent|10 +END adjectives +### +# grammar +# first level grammar. N=noun phrase, V=verb phrase, +# P=prepositional phrase, T=setence termination +## +BEGIN grammar +COUNT|5 +N V T|3 +N V P T|3 +N V N T|3 +N P V N T|1 +N P V P T|1 +END grammar +### +# NP +# second level grammar. Noun phrases. N=noun, A=article, +# J=adjective, D=adverb +## +BEGIN np +COUNT|4 +N|10 +J N|20 +J, J N|10 +D J N|50 +END np +### +# VP +# second level grammar. Verb phrases. V=verb, X=auxiallary, +# D=adverb +## +BEGIN vp +COUNT|4 +V|30 +X V|1 +V D|40 +X V D|1 +END vp +### +# Q13 +# Substitution parameters for Q13 +## +BEGIN Q13a +COUNT|4 +special|20 +pending|20 +unusual|20 +express|20 +END Q13a +BEGIN Q13b +COUNT|4 +packages|40 +requests|40 +accounts|40 +deposits|40 +END Q13b diff --git a/tpch/00_compile_tpch/dbgen/driver.c b/tpch/00_compile_tpch/dbgen/driver.c new file mode 100644 index 0000000..7904439 --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/driver.c @@ -0,0 +1,800 @@ +/* +* $Id: driver.c,v 1.7 2008/09/24 22:35:21 jms Exp $ +* +* Revision History +* =================== +* $Log: driver.c,v $ +* Revision 1.7 2008/09/24 22:35:21 jms +* remove build number header +* +* Revision 1.6 2008/09/24 22:30:29 jms +* remove build number from default header +* +* Revision 1.5 2008/03/21 17:38:39 jms +* changes for 2.6.3 +* +* Revision 1.4 2006/04/26 23:01:10 jms +* address update generation problems +* +* Revision 1.3 2005/10/28 02:54:35 jms +* add release.h changes +* +* Revision 1.2 2005/01/03 20:08:58 jms +* change line terminations +* +* Revision 1.1.1.1 2004/11/24 23:31:46 jms +* re-establish external server +* +* Revision 1.5 2004/04/07 20:17:29 jms +* bug #58 (join fails between order/lineitem) +* +* Revision 1.4 2004/02/18 16:26:49 jms +* 32/64 bit changes for overflow handling needed additional changes when ported back to windows +* +* Revision 1.3 2004/01/22 05:49:29 jms +* AIX porting (AIX 5.1) +* +* Revision 1.2 2004/01/22 03:54:12 jms +* 64 bit support changes for customer address +* +* Revision 1.1.1.1 2003/08/08 21:50:33 jms +* recreation after CVS crash +* +* Revision 1.3 2003/08/08 21:35:26 jms +* first integration of rng64 for o_custkey and l_partkey +* +* Revision 1.2 2003/08/07 17:58:34 jms +* Convery RNG to 64bit space as preparation for new large scale RNG +* +* Revision 1.1.1.1 2003/04/03 18:54:21 jms +* initial checkin +* +* +*/ +/* main driver for dss banchmark */ + +#define DECLARER /* EXTERN references get defined here */ +#define NO_FUNC (int (*) ()) NULL /* to clean up tdefs */ +#define NO_LFUNC (long (*) ()) NULL /* to clean up tdefs */ + +#include "config.h" +#include "release.h" +#include +#if (defined(_POSIX_)||!defined(WIN32)) /* Change for Windows NT */ +#include +#include +#endif /* WIN32 */ +#include /* */ +#include +#include +#include +#include +#include +#include +#ifdef HP +#include +#endif +#if (defined(WIN32)&&!defined(_POSIX_)) +#include +#pragma warning(disable:4201) +#pragma warning(disable:4214) +#pragma warning(disable:4514) +#define WIN32_LEAN_AND_MEAN +#define NOATOM +#define NOGDICAPMASKS +#define NOMETAFILE +#define NOMINMAX +#define NOMSG +#define NOOPENFILE +#define NORASTEROPS +#define NOSCROLL +#define NOSOUND +#define NOSYSMETRICS +#define NOTEXTMETRIC +#define NOWH +#define NOCOMM +#define NOKANJI +#define NOMCX +#include +#pragma warning(default:4201) +#pragma warning(default:4214) +#endif + +#include "dss.h" +#include "dsstypes.h" + +/* +* Function prototypes +*/ +void usage (void); +void kill_load (void); +int pload (int tbl); +void gen_tbl (int tnum, DSS_HUGE start, DSS_HUGE count, long upd_num); +int pr_drange (int tbl, DSS_HUGE min, DSS_HUGE cnt, long num); +int set_files (int t, int pload); +int partial (int, int); + + +extern int optind, opterr; +extern char *optarg; +DSS_HUGE rowcnt = 0, minrow = 0; +long upd_num = 0; +double flt_scale; +#if (defined(WIN32)&&!defined(_POSIX_)) +char *spawn_args[25]; +#endif +#ifdef RNG_TEST +extern seed_t Seed[]; +#endif +static int bTableSet = 0; + + +/* +* general table descriptions. See dss.h for details on structure +* NOTE: tables with no scaling info are scaled according to +* another table +* +* +* the following is based on the tdef structure defined in dss.h as: +* typedef struct +* { +* char *name; -- name of the table; +* flat file output in .tbl +* long base; -- base scale rowcount of table; +* 0 if derived +* int (*loader) (); -- function to present output +* long (*gen_seed) (); -- functions to seed the RNG +* int child; -- non-zero if there is an associated detail table +* unsigned long vtotal; -- "checksum" total +* } tdef; +* +*/ + +/* +* flat file print functions; used with -F(lat) option +*/ +int pr_cust (customer_t * c, int mode); +int pr_line (order_t * o, int mode); +int pr_order (order_t * o, int mode); +int pr_part (part_t * p, int mode); +int pr_psupp (part_t * p, int mode); +int pr_supp (supplier_t * s, int mode); +int pr_order_line (order_t * o, int mode); +int pr_part_psupp (part_t * p, int mode); +int pr_nation (code_t * c, int mode); +int pr_region (code_t * c, int mode); + +/* +* seed generation functions; used with '-O s' option +*/ +long sd_cust (int child, DSS_HUGE skip_count); +long sd_line (int child, DSS_HUGE skip_count); +long sd_order (int child, DSS_HUGE skip_count); +long sd_part (int child, DSS_HUGE skip_count); +long sd_psupp (int child, DSS_HUGE skip_count); +long sd_supp (int child, DSS_HUGE skip_count); +long sd_order_line (int child, DSS_HUGE skip_count); +long sd_part_psupp (int child, DSS_HUGE skip_count); + +tdef tdefs[] = +{ + {"part.tbl", "part table", 200000, + pr_part, sd_part, PSUPP, 0}, + {"partsupp.tbl", "partsupplier table", 200000, + pr_psupp, sd_psupp, NONE, 0}, + {"supplier.tbl", "suppliers table", 10000, + pr_supp, sd_supp, NONE, 0}, + {"customer.tbl", "customers table", 150000, + pr_cust, sd_cust, NONE, 0}, + {"orders.tbl", "order table", 150000, + pr_order, sd_order, LINE, 0}, + {"lineitem.tbl", "lineitem table", 150000, + pr_line, sd_line, NONE, 0}, + {"orders.tbl", "orders/lineitem tables", 150000, + pr_order_line, sd_order, LINE, 0}, + {"part.tbl", "part/partsupplier tables", 200000, + pr_part_psupp, sd_part, PSUPP, 0}, + {"nation.tbl", "nation table", NATIONS_MAX, + pr_nation, NO_LFUNC, NONE, 0}, + {"region.tbl", "region table", NATIONS_MAX, + pr_region, NO_LFUNC, NONE, 0}, +}; + +/* +* re-set default output file names +*/ +int +set_files (int i, int pload) +{ + char line[80], *new_name; + + if (table & (1 << i)) +child_table: + { + if (pload != -1) + sprintf (line, "%s.%d", tdefs[i].name, pload); + else + { + printf ("Enter new destination for %s data: ", + tdefs[i].name); + if (fgets (line, sizeof (line), stdin) == NULL) + return (-1);; + if ((new_name = strchr (line, '\n')) != NULL) + *new_name = '\0'; + if ((int)strlen (line) == 0) + return (0); + } + new_name = (char *) malloc ((int)strlen (line) + 1); + MALLOC_CHECK (new_name); + strcpy (new_name, line); + tdefs[i].name = new_name; + if (tdefs[i].child != NONE) + { + i = tdefs[i].child; + tdefs[i].child = NONE; + goto child_table; + } + } + + return (0); +} + + + +/* +* read the distributions needed in the benchamrk +*/ +void +load_dists (void) +{ + read_dist (env_config (DIST_TAG, DIST_DFLT), "p_cntr", &p_cntr_set); + read_dist (env_config (DIST_TAG, DIST_DFLT), "colors", &colors); + read_dist (env_config (DIST_TAG, DIST_DFLT), "p_types", &p_types_set); + read_dist (env_config (DIST_TAG, DIST_DFLT), "nations", &nations); + read_dist (env_config (DIST_TAG, DIST_DFLT), "regions", ®ions); + read_dist (env_config (DIST_TAG, DIST_DFLT), "o_oprio", + &o_priority_set); + read_dist (env_config (DIST_TAG, DIST_DFLT), "instruct", + &l_instruct_set); + read_dist (env_config (DIST_TAG, DIST_DFLT), "smode", &l_smode_set); + read_dist (env_config (DIST_TAG, DIST_DFLT), "category", + &l_category_set); + read_dist (env_config (DIST_TAG, DIST_DFLT), "rflag", &l_rflag_set); + read_dist (env_config (DIST_TAG, DIST_DFLT), "msegmnt", &c_mseg_set); + + /* load the distributions that contain text generation */ + read_dist (env_config (DIST_TAG, DIST_DFLT), "nouns", &nouns); + read_dist (env_config (DIST_TAG, DIST_DFLT), "verbs", &verbs); + read_dist (env_config (DIST_TAG, DIST_DFLT), "adjectives", &adjectives); + read_dist (env_config (DIST_TAG, DIST_DFLT), "adverbs", &adverbs); + read_dist (env_config (DIST_TAG, DIST_DFLT), "auxillaries", &auxillaries); + read_dist (env_config (DIST_TAG, DIST_DFLT), "terminators", &terminators); + read_dist (env_config (DIST_TAG, DIST_DFLT), "articles", &articles); + read_dist (env_config (DIST_TAG, DIST_DFLT), "prepositions", &prepositions); + read_dist (env_config (DIST_TAG, DIST_DFLT), "grammar", &grammar); + read_dist (env_config (DIST_TAG, DIST_DFLT), "np", &np); + read_dist (env_config (DIST_TAG, DIST_DFLT), "vp", &vp); + +} + +/* +* generate a particular table +*/ +void +gen_tbl (int tnum, DSS_HUGE start, DSS_HUGE count, long upd_num) +{ + static order_t o; + supplier_t supp; + customer_t cust; + part_t part; + code_t code; + static int completed = 0; + DSS_HUGE i; + + DSS_HUGE rows_per_segment=0; + DSS_HUGE rows_this_segment=-1; + DSS_HUGE residual_rows=0; + + if (insert_segments) + { + rows_per_segment = count / insert_segments; + residual_rows = count - (rows_per_segment * insert_segments); + } + + for (i = start; count; count--, i++) + { + LIFENOISE (1000, i); + row_start(tnum); + + switch (tnum) + { + case LINE: + case ORDER: + case ORDER_LINE: + mk_order (i, &o, upd_num % 10000); + + if (insert_segments && (upd_num > 0)) + if((upd_num / 10000) < residual_rows) + { + if((++rows_this_segment) > rows_per_segment) + { + rows_this_segment=0; + upd_num += 10000; + } + } + else + { + if((++rows_this_segment) >= rows_per_segment) + { + rows_this_segment=0; + upd_num += 10000; + } + } + + if (set_seeds == 0) + tdefs[tnum].loader(&o, upd_num); + break; + case SUPP: + mk_supp (i, &supp); + if (set_seeds == 0) + tdefs[tnum].loader(&supp, upd_num); + break; + case CUST: + mk_cust (i, &cust); + if (set_seeds == 0) + tdefs[tnum].loader(&cust, upd_num); + break; + case PSUPP: + case PART: + case PART_PSUPP: + mk_part (i, &part); + if (set_seeds == 0) + tdefs[tnum].loader(&part, upd_num); + break; + case NATION: + mk_nation (i, &code); + if (set_seeds == 0) + tdefs[tnum].loader(&code, 0); + break; + case REGION: + mk_region (i, &code); + if (set_seeds == 0) + tdefs[tnum].loader(&code, 0); + break; + } + row_stop(tnum); + if (set_seeds && (i % tdefs[tnum].base) < 2) + { + printf("\nSeeds for %s at rowcount %ld\n", tdefs[tnum].comment, i); + dump_seeds(tnum); + } + } + completed |= 1 << tnum; +} + + + +void +usage (void) +{ + fprintf (stderr, "%s\n%s\n\t%s\n%s %s\n\n", + "USAGE:", + "dbgen [-{vf}][-T {pcsoPSOL}]", + "[-s ][-C ][-S ]", + "dbgen [-v] [-O m] [-s ]", + "[-U ]"); + fprintf (stderr, "Basic Options\n===========================\n"); + fprintf (stderr, "-C -- separate data set into chunks (requires -S, default: 1)\n"); + fprintf (stderr, "-f -- force. Overwrite existing files\n"); + fprintf (stderr, "-h -- display this message\n"); + fprintf (stderr, "-q -- enable QUIET mode\n"); + fprintf (stderr, "-s -- set Scale Factor (SF) to (default: 1) \n"); + fprintf (stderr, "-S -- build the th step of the data/update set (used with -C or -U)\n"); + fprintf (stderr, "-U -- generate update sets\n"); + fprintf (stderr, "-v -- enable VERBOSE mode\n"); + fprintf (stderr, "\nAdvanced Options\n===========================\n"); + fprintf (stderr, "-b -- load distributions for (default: dists.dss)\n"); + fprintf (stderr, "-d -- split deletes between files (requires -U)\n"); + fprintf (stderr, "-i -- split inserts between files (requires -U)\n"); + fprintf (stderr, "-T c -- generate cutomers ONLY\n"); + fprintf (stderr, "-T l -- generate nation/region ONLY\n"); + fprintf (stderr, "-T L -- generate lineitem ONLY\n"); + fprintf (stderr, "-T n -- generate nation ONLY\n"); + fprintf (stderr, "-T o -- generate orders/lineitem ONLY\n"); + fprintf (stderr, "-T O -- generate orders ONLY\n"); + fprintf (stderr, "-T p -- generate parts/partsupp ONLY\n"); + fprintf (stderr, "-T P -- generate parts ONLY\n"); + fprintf (stderr, "-T r -- generate region ONLY\n"); + fprintf (stderr, "-T s -- generate suppliers ONLY\n"); + fprintf (stderr, "-T S -- generate partsupp ONLY\n"); + fprintf (stderr, + "\nTo generate the SF=1 (1GB), validation database population, use:\n"); + fprintf (stderr, "\tdbgen -vf -s 1\n"); + fprintf (stderr, "\nTo generate updates for a SF=1 (1GB), use:\n"); + fprintf (stderr, "\tdbgen -v -U 1 -s 1\n"); +} + +/* +* int partial(int tbl, int s) -- generate the s-th part of the named tables data +*/ +int +partial (int tbl, int s) +{ + DSS_HUGE rowcnt; + DSS_HUGE extra; + + if (verbose > 0) + { + fprintf (stderr, "\tStarting to load stage %d of %d for %s...", + s, children, tdefs[tbl].comment); + } + + set_files (tbl, s); + + rowcnt = set_state(tbl, scale, children, s, &extra); + + if (s == children) + gen_tbl (tbl, rowcnt * (s - 1) + 1, rowcnt + extra, upd_num); + else + gen_tbl (tbl, rowcnt * (s - 1) + 1, rowcnt, upd_num); + + if (verbose > 0) + fprintf (stderr, "done.\n"); + + return (0); +} + +void +process_options (int count, char **vector) +{ + int option; + FILE *pF; + + while ((option = getopt (count, vector, + "b:C:d:fi:hO:P:qs:S:T:U:v")) != -1) + switch (option) + { + case 'b': /* load distributions from named file */ + d_path = (char *)malloc((int)strlen(optarg) + 1); + MALLOC_CHECK(d_path); + strcpy(d_path, optarg); + if ((pF = fopen(d_path, "r")) == NULL) + { + fprintf(stderr, "ERROR: Invalid argument to -b"); + exit(-1); + } + else + fclose(pF); + + break; + case 'C': + children = atoi (optarg); + break; + case 'd': + delete_segments = atoi (optarg); + break; + case 'f': /* blind overwrites; Force */ + force = 1; + break; + case 'i': + insert_segments = atoi (optarg); + break; + case 'q': /* all prompts disabled */ + verbose = -1; + break; + case 's': /* scale by Percentage of base rowcount */ + case 'P': /* for backward compatibility */ + flt_scale = atof (optarg); + if (flt_scale < MIN_SCALE) + { + int i; + int int_scale; + + scale = 1; + int_scale = (int)(1000 * flt_scale); + for (i = PART; i < REGION; i++) + { + tdefs[i].base = (DSS_HUGE)(int_scale * tdefs[i].base)/1000; + if (tdefs[i].base < 1) + tdefs[i].base = 1; + } + } + else + scale = (long) flt_scale; + if (scale > MAX_SCALE) + { + fprintf (stderr, "%s %5.0f %s\n\t%s\n\n", + "NOTE: Data generation for scale factors >", + MAX_SCALE, + "GB is still in development,", + "and is not yet supported.\n"); + fprintf (stderr, + "Your resulting data set MAY NOT BE COMPLIANT!\n"); + } + break; + case 'S': /* generate a particular STEP */ + step = atoi (optarg); + break; + case 'U': /* generate flat files for update stream */ + updates = atoi (optarg); + break; + case 'v': /* life noises enabled */ + verbose = 1; + break; + case 'T': /* generate a specifc table */ + switch (*optarg) + { + case 'c': /* generate customer ONLY */ + table = 1 << CUST; + bTableSet = 1; + break; + case 'L': /* generate lineitems ONLY */ + table = 1 << LINE; + bTableSet = 1; + break; + case 'l': /* generate code table ONLY */ + table = 1 << NATION; + table |= 1 << REGION; + bTableSet = 1; + break; + case 'n': /* generate nation table ONLY */ + table = 1 << NATION; + bTableSet = 1; + break; + case 'O': /* generate orders ONLY */ + table = 1 << ORDER; + bTableSet = 1; + break; + case 'o': /* generate orders/lineitems ONLY */ + table = 1 << ORDER_LINE; + bTableSet = 1; + break; + case 'P': /* generate part ONLY */ + table = 1 << PART; + bTableSet = 1; + break; + case 'p': /* generate part/partsupp ONLY */ + table = 1 << PART_PSUPP; + bTableSet = 1; + break; + case 'r': /* generate region table ONLY */ + table = 1 << REGION; + bTableSet = 1; + break; + case 'S': /* generate partsupp ONLY */ + table = 1 << PSUPP; + bTableSet = 1; + break; + case 's': /* generate suppliers ONLY */ + table = 1 << SUPP; + bTableSet = 1; + break; + default: + fprintf (stderr, "Unknown table name %s\n", + optarg); + usage (); + exit (1); + } + break; + case 'O': /* optional actions */ + switch (tolower (*optarg)) + { + case 's': /* calibrate the RNG usage */ + set_seeds = 1; + break; + default: + fprintf (stderr, "Unknown option name %s\n", + optarg); + usage (); + exit (1); + } + break; + default: + printf ("ERROR: option '%c' unknown.\n", + *(vector[optind] + 1)); + case 'h': /* something unexpected */ + fprintf (stderr, + "%s Population Generator (Version %d.%d.%d build %d)\n", + NAME, VERSION, RELEASE, PATCH, BUILD); + fprintf (stderr, "Copyright %s %s\n", TPC, C_DATES); + usage (); + exit (1); + } + + return; +} + +void validate_options(void) +{ + // DBGenOptions, 3.1 + if (children != 1) + { + if (updates != 0) + { + fprintf(stderr, "ERROR: -C is not valid when generating updates\n"); + exit(-1); + } + if (step == -1) + { + fprintf(stderr, "ERROR: -S must be specified when generating data in multiple chunks\n"); + exit(-1); + } + } + + // DBGenOptions, 3.3 + if (updates == 0) + { + if ((insert_segments != 0) || (delete_segments != 0)) + { + fprintf(stderr, "ERROR: -d/-i are only valid when generating updates\n"); + exit(-1); + } + } + + // DBGenOptions, 3.9 + if (step != -1) + { + if ((children == 1) && (updates == 0)) + { + fprintf(stderr, "ERROR: -S is only valid when generating data in multiple chunks or generating updates\n"); + exit(-1); + } + } + + // DBGenOptions, 3.10 + if (bTableSet && (updates != 0)) + { + fprintf(stderr, "ERROR: -T not valid when generating updates\n"); + exit(-1); + } + + return; +} + + +/* +* MAIN +* +* assumes the existance of getopt() to clean up the command +* line handling +*/ +int +main (int ac, char **av) +{ + DSS_HUGE i; + + table = (1 << CUST) | + (1 << SUPP) | + (1 << NATION) | + (1 << REGION) | + (1 << PART_PSUPP) | + (1 << ORDER_LINE); + force = 0; + insert_segments=0; + delete_segments=0; + insert_orders_segment=0; + insert_lineitem_segment=0; + delete_segment=0; + verbose = 0; + set_seeds = 0; + scale = 1; + flt_scale = 1.0; + updates = 0; + step = -1; + tdefs[ORDER].base *= + ORDERS_PER_CUST; /* have to do this after init */ + tdefs[LINE].base *= + ORDERS_PER_CUST; /* have to do this after init */ + tdefs[ORDER_LINE].base *= + ORDERS_PER_CUST; /* have to do this after init */ + children = 1; + d_path = NULL; + +#ifdef NO_SUPPORT + signal (SIGINT, exit); +#endif /* NO_SUPPORT */ + process_options (ac, av); + validate_options(); +#if (defined(WIN32)&&!defined(_POSIX_)) + for (i = 0; i < ac; i++) + { + spawn_args[i] = malloc (((int)strlen (av[i]) + 1) * sizeof (char)); + MALLOC_CHECK (spawn_args[i]); + strcpy (spawn_args[i], av[i]); + } + spawn_args[ac] = NULL; +#endif + + if (verbose >= 0) + { + fprintf (stderr, + "%s Population Generator (Version %d.%d.%d)\n", + NAME, VERSION, RELEASE, PATCH); + fprintf (stderr, "Copyright %s %s\n", TPC, C_DATES); + } + + load_dists (); +#ifdef RNG_TEST + for (i=0; i <= MAX_STREAM; i++) + Seed[i].nCalls = 0; +#endif + /* have to do this after init */ + tdefs[NATION].base = nations.count; + tdefs[REGION].base = regions.count; + + /* + * updates are never parallelized + */ + if (updates) + { + /* + * set RNG to start generating rows beyond SF=scale + */ + set_state (ORDER, scale, 100, 101, &i); + rowcnt = (int)(tdefs[ORDER_LINE].base / 10000 * scale * UPD_PCT); + if (step > 0) + { + /* + * adjust RNG for any prior update generation + */ + for (i=1; i < step; i++) + { + sd_order(0, rowcnt); + sd_line(0, rowcnt); + } + upd_num = step - 1; + } + else + upd_num = 0; + + while (upd_num < updates) + { + if (verbose > 0) + fprintf (stderr, + "Generating update pair #%d for %s", + upd_num + 1, tdefs[ORDER_LINE].comment); + insert_orders_segment=0; + insert_lineitem_segment=0; + delete_segment=0; + minrow = upd_num * rowcnt + 1; + gen_tbl (ORDER_LINE, minrow, rowcnt, upd_num + 1); + if (verbose > 0) + fprintf (stderr, "done.\n"); + pr_drange (ORDER_LINE, minrow, rowcnt, upd_num + 1); + upd_num++; + } + + exit (0); + } + + /** + ** actual data generation section starts here + **/ + + /* + * traverse the tables, invoking the appropriate data generation routine for any to be built + */ + for (i = PART; i <= REGION; i++) + if (table & (1 << i)) + { + if (children > 1 && i < NATION) + { + partial ((int)i, step); + } + else + { + minrow = 1; + if (i < NATION) + rowcnt = tdefs[i].base * scale; + else + rowcnt = tdefs[i].base; + if (verbose > 0) + fprintf (stderr, "Generating data for %s", tdefs[i].comment); + gen_tbl ((int)i, minrow, rowcnt, upd_num); + if (verbose > 0) + fprintf (stderr, "done.\n"); + } + } + + return (0); +} diff --git a/tpch/00_compile_tpch/dbgen/driver.o b/tpch/00_compile_tpch/dbgen/driver.o new file mode 100644 index 0000000..91ee9cd Binary files /dev/null and b/tpch/00_compile_tpch/dbgen/driver.o differ diff --git a/tpch/00_compile_tpch/dbgen/dss.ddl b/tpch/00_compile_tpch/dbgen/dss.ddl new file mode 100644 index 0000000..89efe56 --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/dss.ddl @@ -0,0 +1,70 @@ +-- Sccsid: @(#)dss.ddl 2.1.8.1 +CREATE TABLE NATION ( N_NATIONKEY INTEGER NOT NULL, + N_NAME CHAR(25) NOT NULL, + N_REGIONKEY INTEGER NOT NULL, + N_COMMENT VARCHAR(152)); + +CREATE TABLE REGION ( R_REGIONKEY INTEGER NOT NULL, + R_NAME CHAR(25) NOT NULL, + R_COMMENT VARCHAR(152)); + +CREATE TABLE PART ( P_PARTKEY INTEGER NOT NULL, + P_NAME VARCHAR(55) NOT NULL, + P_MFGR CHAR(25) NOT NULL, + P_BRAND CHAR(10) NOT NULL, + P_TYPE VARCHAR(25) NOT NULL, + P_SIZE INTEGER NOT NULL, + P_CONTAINER CHAR(10) NOT NULL, + P_RETAILPRICE DECIMAL(15,2) NOT NULL, + P_COMMENT VARCHAR(23) NOT NULL ); + +CREATE TABLE SUPPLIER ( S_SUPPKEY INTEGER NOT NULL, + S_NAME CHAR(25) NOT NULL, + S_ADDRESS VARCHAR(40) NOT NULL, + S_NATIONKEY INTEGER NOT NULL, + S_PHONE CHAR(15) NOT NULL, + S_ACCTBAL DECIMAL(15,2) NOT NULL, + S_COMMENT VARCHAR(101) NOT NULL); + +CREATE TABLE PARTSUPP ( PS_PARTKEY INTEGER NOT NULL, + PS_SUPPKEY INTEGER NOT NULL, + PS_AVAILQTY INTEGER NOT NULL, + PS_SUPPLYCOST DECIMAL(15,2) NOT NULL, + PS_COMMENT VARCHAR(199) NOT NULL ); + +CREATE TABLE CUSTOMER ( C_CUSTKEY INTEGER NOT NULL, + C_NAME VARCHAR(25) NOT NULL, + C_ADDRESS VARCHAR(40) NOT NULL, + C_NATIONKEY INTEGER NOT NULL, + C_PHONE CHAR(15) NOT NULL, + C_ACCTBAL DECIMAL(15,2) NOT NULL, + C_MKTSEGMENT CHAR(10) NOT NULL, + C_COMMENT VARCHAR(117) NOT NULL); + +CREATE TABLE ORDERS ( O_ORDERKEY INTEGER NOT NULL, + O_CUSTKEY INTEGER NOT NULL, + O_ORDERSTATUS CHAR(1) NOT NULL, + O_TOTALPRICE DECIMAL(15,2) NOT NULL, + O_ORDERDATE DATE NOT NULL, + O_ORDERPRIORITY CHAR(15) NOT NULL, + O_CLERK CHAR(15) NOT NULL, + O_SHIPPRIORITY INTEGER NOT NULL, + O_COMMENT VARCHAR(79) NOT NULL); + +CREATE TABLE LINEITEM ( L_ORDERKEY INTEGER NOT NULL, + L_PARTKEY INTEGER NOT NULL, + L_SUPPKEY INTEGER NOT NULL, + L_LINENUMBER INTEGER NOT NULL, + L_QUANTITY DECIMAL(15,2) NOT NULL, + L_EXTENDEDPRICE DECIMAL(15,2) NOT NULL, + L_DISCOUNT DECIMAL(15,2) NOT NULL, + L_TAX DECIMAL(15,2) NOT NULL, + L_RETURNFLAG CHAR(1) NOT NULL, + L_LINESTATUS CHAR(1) NOT NULL, + L_SHIPDATE DATE NOT NULL, + L_COMMITDATE DATE NOT NULL, + L_RECEIPTDATE DATE NOT NULL, + L_SHIPINSTRUCT CHAR(25) NOT NULL, + L_SHIPMODE CHAR(10) NOT NULL, + L_COMMENT VARCHAR(44) NOT NULL); + diff --git a/tpch/00_compile_tpch/dbgen/dss.h b/tpch/00_compile_tpch/dbgen/dss.h new file mode 100644 index 0000000..36af7f9 --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/dss.h @@ -0,0 +1,549 @@ +/* +* $Id: dss.h,v 1.10 2008/03/21 18:07:13 jms Exp $ +* +* Revision History +* =================== +* $Log: dss.h,v $ +* Revision 1.10 2008/03/21 18:07:13 jms +* update copyright date +* +* Revision 1.9 2006/07/31 17:23:09 jms +* fix to parallelism problem +* +* Revision 1.8 2006/03/09 18:55:29 jms +* remove vestigial cvs merge marker +* +* Revision 1.7 2005/10/28 03:05:05 jms +* up maximum scale to 100TB +* +* Revision 1.6 2005/10/28 02:55:26 jms +* add release.h changes +* +* Revision 1.5 2005/10/27 18:13:03 jms +* a_rnd() prototype correction +* +* Revision 1.4 2005/10/25 17:58:59 jms +* update version stamp +* +* Revision 1.3 2005/03/04 19:48:39 jms +* Changes from Doug Johnson to address very large scale factors +* +* Revision 1.2 2005/01/03 20:08:58 jms +* change line terminations +* +* Revision 1.1.1.1 2004/11/24 23:31:46 jms +* re-establish external server +* +* Revision 1.5 2004/04/08 17:34:15 jms +* cleanup SOLARIS/SUN ifdefs; now all use SUN +* +* Revision 1.4 2004/04/07 20:17:29 jms +* bug #58 (join fails between order/lineitem) +* +* Revision 1.3 2004/03/16 14:37:53 jms +* update version and copyright date; correct comment typo +* +* Revision 1.2 2004/02/18 14:07:20 jms +* change to version 2.1.0 +* +* Revision 1.1.1.1 2003/08/08 21:50:33 jms +* recreation after CVS crash +* +* Revision 1.3 2003/08/08 21:35:26 jms +* first integration of rng64 for o_custkey and l_partkey +* +* Revision 1.2 2003/08/07 17:58:34 jms +* Convery RNG to 64bit space as preparation for new large scale RNG +* +* Revision 1.1.1.1 2003/04/03 18:54:21 jms +* initial checkin +* +* +*/ + /* + * general definitions and control information for the DSS code + * generator; if it controls the data set, it's here + */ +#ifndef DSS_H +#define DSS_H +#ifdef TPCH +#define NAME "TPC-H" +#endif +#ifdef TPCR +#define NAME "TPC-R" +#endif +#ifndef NAME +#error Benchmark version must be defined in config.h +#endif +#define TPC "Transaction Processing Performance Council" +#define C_DATES "1994 - 2010" + +#include "config.h" +#include "shared.h" + +#include +#include + +#define NONE -1 +#define PART 0 +#define PSUPP 1 +#define SUPP 2 +#define CUST 3 +#define ORDER 4 +#define LINE 5 +#define ORDER_LINE 6 +#define PART_PSUPP 7 +#define NATION 8 +#define REGION 9 +#define UPDATE 10 +#define MAX_TABLE 11 +#define ONE_STREAM 1 +#define ADD_AT_END 2 + +#ifdef MAX +#undef MAX +#endif +#ifdef MIN +#undef MIN +#endif +#define MAX(a,b) ((a > b )?a:b) +#define MIN(A,B) ( (A) < (B) ? (A) : (B)) + +#define INTERNAL_ERROR(p) {fprintf(stderr,"%s", p);abort();} +#define LN_CNT 4 +static char lnoise[4] = {'|', '/', '-', '\\' }; +#define LIFENOISE(n, var) \ + if (verbose > 0) fprintf(stderr, "%c\b", lnoise[(var%LN_CNT)]) + +#define MALLOC_CHECK(var) \ + if ((var) == NULL) \ + { \ + fprintf(stderr, "Malloc failed at %s:%d\n", \ + __FILE__, __LINE__); \ + exit(1);\ + } +#define OPEN_CHECK(var, path) \ + if ((var) == NULL) \ + { \ + fprintf(stderr, "Open failed for %s at %s:%d\n", \ + path, __FILE__, __LINE__); \ + exit(1);\ + } +#ifndef MAX_CHILDREN +#define MAX_CHILDREN 1000 +#endif + +/* + * macros that control sparse keys + * + * refer to Porting.Notes for a complete explanation + */ +#ifndef BITS_PER_LONG +#define BITS_PER_LONG 32 +#define MAX_LONG 0x7FFFFFFF +#endif /* BITS_PER_LONG */ +#define SPARSE_BITS 2 +#define SPARSE_KEEP 3 +#define MK_SPARSE(key, seq) \ + (((((key>>3)<<2)|(seq & 0x0003))<<3)|(key & 0x0007)) + +#define RANDOM(tgt, lower, upper, stream) dss_random(&tgt, lower, upper, stream) +#define RANDOM64(tgt, lower, upper, stream) dss_random64(&tgt, lower, upper, stream) + + + +typedef struct +{ + long weight; + char *text; +} set_member; + +typedef struct +{ + int count; + int max; + set_member *list; + long *permute; +} distribution; +/* + * some handy access functions + */ +#define DIST_SIZE(d) d->count +#define DIST_MEMBER(d, i) ((set_member *)((d)->list + i))->text +#define DIST_PERMUTE(d, i) (d->permute[i]) + +typedef struct +{ + char *name; + char *comment; + DSS_HUGE base; + int (*loader) (); + long (*gen_seed)(); + int child; + DSS_HUGE vtotal; +} tdef; + +typedef struct SEED_T { + long table; + DSS_HUGE value; + DSS_HUGE usage; + DSS_HUGE boundary; +#ifdef RNG_TEST + DSS_HUGE nCalls; +#endif + } seed_t; + + +#if defined(__STDC__) +#define PROTO(s) s +#else +#define PROTO(s) () +#endif + +/* bm_utils.c */ +char *env_config PROTO((char *var, char *dflt)); +long yes_no PROTO((char *prompt)); +void a_rnd PROTO((int min, int max, int column, char *dest)); +int tx_rnd PROTO((long min, long max, long column, char *tgt)); +long julian PROTO((long date)); +long unjulian PROTO((long date)); +FILE *tbl_open PROTO((int tbl, char *mode)); +long dssncasecmp PROTO((char *s1, char *s2, int n)); +long dsscasecmp PROTO((char *s1, char *s2)); +int pick_str PROTO((distribution * s, int c, char *target)); +void agg_str PROTO((distribution *set, long count, long col, char *dest)); +void read_dist PROTO((char *path, char *name, distribution * target)); +void embed_str PROTO((distribution *d, int min, int max, int stream, char *dest)); +#ifndef STDLIB_HAS_GETOPT +int getopt PROTO((int arg_cnt, char **arg_vect, char *oprions)); +#endif /* STDLIB_HAS_GETOPT */ +DSS_HUGE set_state PROTO((int t, long scale, long procs, long step, DSS_HUGE *e)); + +/* rnd.c */ +DSS_HUGE NextRand PROTO((DSS_HUGE nSeed)); +DSS_HUGE UnifInt PROTO((DSS_HUGE nLow, DSS_HUGE nHigh, long nStream)); +void dss_random(DSS_HUGE *tgt, DSS_HUGE min, DSS_HUGE max, long seed); +void row_start(int t); +void row_stop(int t); +void dump_seeds(int t); + +/* text.c */ +#define MAX_GRAMMAR_LEN 12 /* max length of grammar component */ +#define MAX_SENT_LEN 256 /* max length of populated sentence */ +#define RNG_PER_SENT 27 /* max number of RNG calls per sentence */ + +void dbg_text PROTO((char * t, int min, int max, int s)); + +#ifdef DECLARER +#define EXTERN +#else +#define EXTERN extern +#endif /* DECLARER */ + + +EXTERN distribution nations; +EXTERN distribution nations2; +EXTERN distribution regions; +EXTERN distribution o_priority_set; +EXTERN distribution l_instruct_set; +EXTERN distribution l_smode_set; +EXTERN distribution l_category_set; +EXTERN distribution l_rflag_set; +EXTERN distribution c_mseg_set; +EXTERN distribution colors; +EXTERN distribution p_types_set; +EXTERN distribution p_cntr_set; + +/* distributions that control text generation */ +EXTERN distribution articles; +EXTERN distribution nouns; +EXTERN distribution adjectives; +EXTERN distribution adverbs; +EXTERN distribution prepositions; +EXTERN distribution verbs; +EXTERN distribution terminators; +EXTERN distribution auxillaries; +EXTERN distribution np; +EXTERN distribution vp; +EXTERN distribution grammar; + + +EXTERN long scale; +EXTERN int refresh; +EXTERN int resume; +EXTERN long verbose; +EXTERN long force; +EXTERN long updates; +EXTERN long table; +EXTERN long children; +EXTERN int step; +EXTERN int set_seeds; +EXTERN char *d_path; + +/* added for segmented updates */ +EXTERN int insert_segments; +EXTERN int delete_segments; +EXTERN int insert_orders_segment; +EXTERN int insert_lineitem_segment; +EXTERN int delete_segment; + + +#ifndef DECLARER +extern tdef tdefs[]; + +#endif /* DECLARER */ + + +/***************************************************************** + ** table level defines use the following naming convention: t_ccc_xxx + ** with: t, a table identifier + ** ccc, a column identifier + ** xxx, a limit type + **************************************************************** + */ + +/* + * defines which control the parts table + */ +#define P_SIZE 126 +#define P_NAME_SCL 5 +#define P_MFG_TAG "Manufacturer#" +#define P_MFG_FMT "%%s%%0%d%s" +#define P_MFG_MIN 1 +#define P_MFG_MAX 5 +#define P_BRND_TAG "Brand#" +#define P_BRND_FMT "%%s%%0%d%s" +#define P_BRND_MIN 1 +#define P_BRND_MAX 5 +#define P_SIZE_MIN 1 +#define P_SIZE_MAX 50 +#define P_MCST_MIN 100 +#define P_MCST_MAX 99900 +#define P_MCST_SCL 100.0 +#define P_RCST_MIN 90000 +#define P_RCST_MAX 200000 +#define P_RCST_SCL 100.0 +/* + * defines which control the suppliers table + */ +#define S_SIZE 145 +#define S_NAME_TAG "Supplier#" +#define S_NAME_FMT "%%s%%0%d%s" +#define S_ABAL_MIN -99999 +#define S_ABAL_MAX 999999 +#define S_CMNT_MAX 101 +#define S_CMNT_BBB 10 /* number of BBB comments/SF */ +#define BBB_DEADBEATS 50 /* % that are complaints */ +#define BBB_BASE "Customer " +#define BBB_COMPLAIN "Complaints" +#define BBB_COMMEND "Recommends" +#define BBB_CMNT_LEN 19 +#define BBB_BASE_LEN 9 +#define BBB_TYPE_LEN 10 + +/* + * defines which control the partsupp table + */ +#define PS_SIZE 145 +#define PS_SKEY_MIN 0 +#define PS_SKEY_MAX ((tdefs[SUPP].base - 1) * scale) +#define PS_SCST_MIN 100 +#define PS_SCST_MAX 100000 +#define PS_QTY_MIN 1 +#define PS_QTY_MAX 9999 +/* + * defines which control the customers table + */ +#define C_SIZE 165 +#define C_NAME_TAG "Customer#" +#define C_NAME_FMT "%%s%%0%d%s" +#define C_MSEG_MAX 5 +#define C_ABAL_MIN -99999 +#define C_ABAL_MAX 999999 +/* + * defines which control the order table + */ +#define O_SIZE 109 +#define O_CKEY_MIN 1 +#define O_CKEY_MAX (tdefs[CUST].base * scale) +#define O_ODATE_MIN STARTDATE +#define O_ODATE_MAX (STARTDATE + TOTDATE - \ + (L_SDTE_MAX + L_RDTE_MAX) - 1) +#define O_CLRK_TAG "Clerk#" +#define O_CLRK_FMT "%%s%%0%d%s" +#define O_CLRK_SCL 1000 +#define O_LCNT_MIN 1 +#define O_LCNT_MAX 7 + +/* + * defines which control the lineitem table + */ +#define L_SIZE 144L +#define L_QTY_MIN 1 +#define L_QTY_MAX 50 +#define L_TAX_MIN 0 +#define L_TAX_MAX 8 +#define L_DCNT_MIN 0 +#define L_DCNT_MAX 10 +#define L_PKEY_MIN 1 +#define L_PKEY_MAX (tdefs[PART].base * scale) +#define L_SDTE_MIN 1 +#define L_SDTE_MAX 121 +#define L_CDTE_MIN 30 +#define L_CDTE_MAX 90 +#define L_RDTE_MIN 1 +#define L_RDTE_MAX 30 +/* + * defines which control the time table + */ +#define T_SIZE 30 +#define T_START_DAY 3 /* wednesday ? */ +#define LEAP(y) ((!(y % 4) && (y % 100))?1:0) + +/******************************************************************* + ******************************************************************* + *** + *** general or inter table defines + *** + ******************************************************************* + *******************************************************************/ +#define SUPP_PER_PART 4 +#define ORDERS_PER_CUST 10 /* sync this with CUST_MORTALITY */ +#define CUST_MORTALITY 3 /* portion with have no orders */ +#define NATIONS_MAX 90 /* limited by country codes in phone numbers */ +#define PHONE_FMT "%02d-%03d-%03d-%04d" +#define STARTDATE 92001 +#define CURRENTDATE 95168 +#define ENDDATE 98365 +#define TOTDATE 2557 +#define UPD_PCT 10 +#define MAX_STREAM 47 +#define V_STR_LOW 0.4 +#define PENNIES 100 /* for scaled int money arithmetic */ +#define Q11_FRACTION (double)0.0001 +/* + * max and min SF in GB; Larger SF will require changes to the build routines + */ +#define MIN_SCALE 1.0 +#define MAX_SCALE 100000.0 +/* + * beyond this point we need to allow for BCD calculations + */ +#define MAX_32B_SCALE 1000.0 +#define LONG2HUGE(src, dst) *dst = (DSS_HUGE)src +#define HUGE2LONG(src, dst) *dst = (long)src +#define HUGE_SET(src, dst) *dst = *src +#define HUGE_MUL(op1, op2) *op1 *= op2 +#define HUGE_DIV(op1, op2) *op1 /= op2 +#define HUGE_ADD(op1, op2, dst) *dst = *op1 + op2 +#define HUGE_SUB(op1, op2, dst) *dst = *op1 - op2 +#define HUGE_MOD(op1, op2) *op1 % op2 +#define HUGE_CMP(op1, op2) (*op1 == *op2)?0:(*op1 < *op2)-1:1 + + +/******** environmental variables and defaults ***************/ +#define DIST_TAG "DSS_DIST" /* environment var to override ... */ +#define DIST_DFLT "dists.dss" /* default file to hold distributions */ +#define PATH_TAG "DSS_PATH" /* environment var to override ... */ +#define PATH_DFLT "." /* default directory to hold tables */ +#define CONFIG_TAG "DSS_CONFIG" /* environment var to override ... */ +#define CONFIG_DFLT "." /* default directory to config files */ +#define ADHOC_TAG "DSS_ADHOC" /* environment var to override ... */ +#define ADHOC_DFLT "adhoc.dss" /* default file name for adhoc vars */ + +/******* output macros ********/ +#ifndef SEPARATOR +#define SEPARATOR '|' /* field spearator for generated flat files */ +#endif +/* Data type flags for a single print routine */ +#define DT_STR 0 +#ifndef MVS +#define DT_VSTR DT_STR +#else +#define DT_VSTR 1 +#endif /* MVS */ +#define DT_INT 2 +#define DT_HUGE 3 +#define DT_KEY 4 +#define DT_MONEY 5 +#define DT_CHR 6 + +int dbg_print(int dt, FILE *tgt, void *data, int len, int eol); +#define PR_STR(f, str, len) dbg_print(DT_STR, f, (void *)str, len, 1) +#define PR_VSTR(f, str, len) dbg_print(DT_VSTR, f, (void *)str, len, 1) +#define PR_VSTR_LAST(f, str, len) dbg_print(DT_VSTR, f, (void *)str, len, 0) +#define PR_INT(f, str) dbg_print(DT_INT, f, (void *)str, 0, 1) +#define PR_HUGE(f, str) dbg_print(DT_HUGE, f, (void *)str, 0, 1) +#define PR_HUGE_LAST(f, str) dbg_print(DT_HUGE, f, (void *)str, 0, 0) +#define PR_KEY(f, str) dbg_print(DT_KEY, f, (void *)str, 0, -1) +#define PR_MONEY(f, str) dbg_print(DT_MONEY, f, (void *)str, 0, 1) +#define PR_CHR(f, str) dbg_print(DT_CHR, f, (void *)str, 0, 1) +#define PR_STRT(fp) /* any line prep for a record goes here */ +#define PR_END(fp) fprintf(fp, "\n") /* finish the record here */ +#ifdef MDY_DATE +#define PR_DATE(tgt, yr, mn, dy) \ + sprintf(tgt, "%02d-%02d-19%02d", mn, dy, yr) +#else +#define PR_DATE(tgt, yr, mn, dy) \ +sprintf(tgt, "19%02d-%02d-%02d", yr, mn, dy) +#endif /* DATE_FORMAT */ + +/* + * verification macros + */ +#define VRF_STR(t, d) {char *xx = d; while (*xx) tdefs[t].vtotal += *xx++;} +#define VRF_INT(t,d) tdefs[t].vtotal += d +#define VRF_HUGE(t,d) tdefs[t].vtotal = *((long *)&d) + *((long *)(&d + 1)) +/* assume float is a 64 bit quantity */ +#define VRF_MONEY(t,d) tdefs[t].vtotal = *((long *)&d) + *((long *)(&d + 1)) +#define VRF_CHR(t,d) tdefs[t].vtotal += d +#define VRF_STRT(t) +#define VRF_END(t) + +/*********** distribuitons currently defined *************/ +#define UNIFORM 0 + +/* + * seed indexes; used to separate the generation of individual columns + */ +#define P_MFG_SD 0 +#define P_BRND_SD 1 +#define P_TYPE_SD 2 +#define P_SIZE_SD 3 +#define P_CNTR_SD 4 +#define P_RCST_SD 5 +#define PS_QTY_SD 7 +#define PS_SCST_SD 8 +#define O_SUPP_SD 10 +#define O_CLRK_SD 11 +#define O_ODATE_SD 13 +#define L_QTY_SD 14 +#define L_DCNT_SD 15 +#define L_TAX_SD 16 +#define L_SHIP_SD 17 +#define L_SMODE_SD 18 +#define L_PKEY_SD 19 +#define L_SKEY_SD 20 +#define L_SDTE_SD 21 +#define L_CDTE_SD 22 +#define L_RDTE_SD 23 +#define L_RFLG_SD 24 +#define C_NTRG_SD 27 +#define C_PHNE_SD 28 +#define C_ABAL_SD 29 +#define C_MSEG_SD 30 +#define S_NTRG_SD 33 +#define S_PHNE_SD 34 +#define S_ABAL_SD 35 +#define P_NAME_SD 37 +#define O_PRIO_SD 38 +#define HVAR_SD 39 +#define O_CKEY_SD 40 +#define N_CMNT_SD 41 +#define R_CMNT_SD 42 +#define O_LCNT_SD 43 +#define BBB_JNK_SD 44 +#define BBB_TYPE_SD 45 +#define BBB_CMNT_SD 46 +#define BBB_OFFSET_SD 47 +#endif /* DSS_H */ diff --git a/tpch/00_compile_tpch/dbgen/dss.ri b/tpch/00_compile_tpch/dbgen/dss.ri new file mode 100644 index 0000000..fb4c002 --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/dss.ri @@ -0,0 +1,100 @@ +-- Sccsid: @(#)dss.ri 2.1.8.1 +-- TPCD Benchmark Version 8.0 + +CONNECT TO TPCD; + +--ALTER TABLE TPCD.REGION DROP PRIMARY KEY; +--ALTER TABLE TPCD.NATION DROP PRIMARY KEY; +--ALTER TABLE TPCD.PART DROP PRIMARY KEY; +--ALTER TABLE TPCD.SUPPLIER DROP PRIMARY KEY; +--ALTER TABLE TPCD.PARTSUPP DROP PRIMARY KEY; +--ALTER TABLE TPCD.ORDERS DROP PRIMARY KEY; +--ALTER TABLE TPCD.LINEITEM DROP PRIMARY KEY; +--ALTER TABLE TPCD.CUSTOMER DROP PRIMARY KEY; + + +-- For table REGION +ALTER TABLE TPCD.REGION +ADD PRIMARY KEY (R_REGIONKEY); + +-- For table NATION +ALTER TABLE TPCD.NATION +ADD PRIMARY KEY (N_NATIONKEY); + +ALTER TABLE TPCD.NATION +ADD FOREIGN KEY NATION_FK1 (N_REGIONKEY) references TPCD.REGION; + +COMMIT WORK; + +-- For table PART +ALTER TABLE TPCD.PART +ADD PRIMARY KEY (P_PARTKEY); + +COMMIT WORK; + +-- For table SUPPLIER +ALTER TABLE TPCD.SUPPLIER +ADD PRIMARY KEY (S_SUPPKEY); + +ALTER TABLE TPCD.SUPPLIER +ADD FOREIGN KEY SUPPLIER_FK1 (S_NATIONKEY) references TPCD.NATION; + +COMMIT WORK; + +-- For table PARTSUPP +ALTER TABLE TPCD.PARTSUPP +ADD PRIMARY KEY (PS_PARTKEY,PS_SUPPKEY); + +COMMIT WORK; + +-- For table CUSTOMER +ALTER TABLE TPCD.CUSTOMER +ADD PRIMARY KEY (C_CUSTKEY); + +ALTER TABLE TPCD.CUSTOMER +ADD FOREIGN KEY CUSTOMER_FK1 (C_NATIONKEY) references TPCD.NATION; + +COMMIT WORK; + +-- For table LINEITEM +ALTER TABLE TPCD.LINEITEM +ADD PRIMARY KEY (L_ORDERKEY,L_LINENUMBER); + +COMMIT WORK; + +-- For table ORDERS +ALTER TABLE TPCD.ORDERS +ADD PRIMARY KEY (O_ORDERKEY); + +COMMIT WORK; + +-- For table PARTSUPP +ALTER TABLE TPCD.PARTSUPP +ADD FOREIGN KEY PARTSUPP_FK1 (PS_SUPPKEY) references TPCD.SUPPLIER; + +COMMIT WORK; + +ALTER TABLE TPCD.PARTSUPP +ADD FOREIGN KEY PARTSUPP_FK2 (PS_PARTKEY) references TPCD.PART; + +COMMIT WORK; + +-- For table ORDERS +ALTER TABLE TPCD.ORDERS +ADD FOREIGN KEY ORDERS_FK1 (O_CUSTKEY) references TPCD.CUSTOMER; + +COMMIT WORK; + +-- For table LINEITEM +ALTER TABLE TPCD.LINEITEM +ADD FOREIGN KEY LINEITEM_FK1 (L_ORDERKEY) references TPCD.ORDERS; + +COMMIT WORK; + +ALTER TABLE TPCD.LINEITEM +ADD FOREIGN KEY LINEITEM_FK2 (L_PARTKEY,L_SUPPKEY) references + TPCD.PARTSUPP; + +COMMIT WORK; + + diff --git a/tpch/00_compile_tpch/dbgen/dsstypes.h b/tpch/00_compile_tpch/dbgen/dsstypes.h new file mode 100644 index 0000000..6893ac2 --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/dsstypes.h @@ -0,0 +1,183 @@ +/* +* $Id: dsstypes.h,v 1.3 2005/10/28 02:57:04 jms Exp $ +* +* Revision History +* =================== +* $Log: dsstypes.h,v $ +* Revision 1.3 2005/10/28 02:57:04 jms +* allow for larger names in customer table +* +* Revision 1.2 2005/01/03 20:08:58 jms +* change line terminations +* +* Revision 1.1.1.1 2004/11/24 23:31:46 jms +* re-establish external server +* +* Revision 1.3 2004/04/07 20:17:29 jms +* bug #58 (join fails between order/lineitem) +* +* Revision 1.2 2004/01/22 05:49:29 jms +* AIX porting (AIX 5.1) +* +* Revision 1.1.1.1 2003/08/07 17:58:34 jms +* recreation after CVS crash +* +* Revision 1.2 2003/08/07 17:58:34 jms +* Convery RNG to 64bit space as preparation for new large scale RNG +* +* Revision 1.1.1.1 2003/04/03 18:54:21 jms +* initial checkin +* +* +*/ + /* + * general definitions and control information for the DSS data types + * and function prototypes + */ + +/* + * typedefs + */ +typedef struct +{ + DSS_HUGE custkey; + char name[C_NAME_LEN + 3]; + char address[C_ADDR_MAX + 1]; + int alen; + DSS_HUGE nation_code; + char phone[PHONE_LEN + 1]; + DSS_HUGE acctbal; + char mktsegment[MAXAGG_LEN + 1]; + char comment[C_CMNT_MAX + 1]; + int clen; +} customer_t; +/* customers.c */ +long mk_cust PROTO((DSS_HUGE n_cust, customer_t * c)); +int pr_cust PROTO((customer_t * c, int mode)); +int ld_cust PROTO((customer_t * c, int mode)); + +typedef struct +{ + DSS_HUGE okey; + DSS_HUGE partkey; + DSS_HUGE suppkey; + DSS_HUGE lcnt; + DSS_HUGE quantity; + DSS_HUGE eprice; + DSS_HUGE discount; + DSS_HUGE tax; + char rflag[1]; + char lstatus[1]; + char cdate[DATE_LEN]; + char sdate[DATE_LEN]; + char rdate[DATE_LEN]; + char shipinstruct[MAXAGG_LEN + 1]; + char shipmode[MAXAGG_LEN + 1]; + char comment[L_CMNT_MAX + 1]; + int clen; +} line_t; + +typedef struct +{ + DSS_HUGE okey; + DSS_HUGE custkey; + char orderstatus; + DSS_HUGE totalprice; + char odate[DATE_LEN]; + char opriority[MAXAGG_LEN + 1]; + char clerk[O_CLRK_LEN + 1]; + long spriority; + DSS_HUGE lines; + char comment[O_CMNT_MAX + 1]; + int clen; + line_t l[O_LCNT_MAX]; +} order_t; + +/* order.c */ +long mk_order PROTO((DSS_HUGE index, order_t * o, long upd_num)); +int pr_order PROTO((order_t * o, int mode)); +int ld_order PROTO((order_t * o, int mode)); +void mk_sparse PROTO((DSS_HUGE index, DSS_HUGE *ok, long seq)); + +typedef struct +{ + DSS_HUGE partkey; + DSS_HUGE suppkey; + DSS_HUGE qty; + DSS_HUGE scost; + char comment[PS_CMNT_MAX + 1]; + int clen; +} partsupp_t; + +typedef struct +{ + DSS_HUGE partkey; + char name[P_NAME_LEN + 1]; + int nlen; + char mfgr[P_MFG_LEN + 1]; + char brand[P_BRND_LEN + 1]; + char type[P_TYPE_LEN + 1]; + int tlen; + DSS_HUGE size; + char container[P_CNTR_LEN + 1]; + DSS_HUGE retailprice; + char comment[P_CMNT_MAX + 1]; + int clen; + partsupp_t s[SUPP_PER_PART]; +} part_t; + +/* parts.c */ +long mk_part PROTO((DSS_HUGE index, part_t * p)); +int pr_part PROTO((part_t * part, int mode)); +int ld_part PROTO((part_t * part, int mode)); + +typedef struct +{ + DSS_HUGE suppkey; + char name[S_NAME_LEN + 1]; + char address[S_ADDR_MAX + 1]; + int alen; + DSS_HUGE nation_code; + char phone[PHONE_LEN + 1]; + DSS_HUGE acctbal; + char comment[S_CMNT_MAX + 1]; + int clen; +} supplier_t; +/* supplier.c */ +long mk_supp PROTO((DSS_HUGE index, supplier_t * s)); +int pr_supp PROTO((supplier_t * supp, int mode)); +int ld_supp PROTO((supplier_t * supp, int mode)); + +typedef struct +{ + DSS_HUGE timekey; + char alpha[DATE_LEN]; + long year; + long month; + long week; + long day; +} dss_time_t; + +/* time.c */ +long mk_time PROTO((DSS_HUGE h, dss_time_t * t)); + +/* + * this assumes that N_CMNT_LEN >= R_CMNT_LEN + */ +typedef struct +{ + DSS_HUGE code; + char *text; + long join; + char comment[N_CMNT_MAX + 1]; + int clen; +} code_t; + +/* code table */ +int mk_nation PROTO((DSS_HUGE i, code_t * c)); +int pr_nation PROTO((code_t * c, int mode)); +int ld_nation PROTO((code_t * c, int mode)); +int mk_region PROTO((DSS_HUGE i, code_t * c)); +int pr_region PROTO((code_t * c, int mode)); +int ld_region PROTO((code_t * c, int mode)); + diff --git a/tpch/00_compile_tpch/dbgen/load_stub.c b/tpch/00_compile_tpch/dbgen/load_stub.c new file mode 100644 index 0000000..75ccc6f --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/load_stub.c @@ -0,0 +1,281 @@ +/* +* $Id: load_stub.c,v 1.2 2005/01/03 20:08:58 jms Exp $ +* +* Revision History +* =================== +* $Log: load_stub.c,v $ +* Revision 1.2 2005/01/03 20:08:58 jms +* change line terminations +* +* Revision 1.1.1.1 2004/11/24 23:31:46 jms +* re-establish external server +* +* Revision 1.1.1.1 2003/04/03 18:54:21 jms +* recreation after CVS crash +* +* Revision 1.1.1.1 2003/04/03 18:54:21 jms +* initial checkin +* +* +*/ +/***************************************************************** + * Title: load_stub.c + * Description: + * stub routines for: + * inline load of dss benchmark + * header creation for dss benchmark + * + ***************************************************************** + */ + +#include +#include "config.h" +#include "dss.h" +#include "dsstypes.h" + +int +close_direct(void) +{ + /* any post load cleanup goes here */ + return(0); +} + +int +prep_direct(void) +{ + /* any preload prep goes here */ + return(0); +} + +int +hd_cust (FILE *f) +{ + static int count = 0; + + if (! count++) + printf("No header has been defined for the customer table\n"); + + return(0); +} + +int +ld_cust (customer_t *cp, int mode) +{ + static int count = 0; + + if (! count++) + printf("%s %s\n", + "No load routine has been defined", + "for the customer table"); + + return(0); +} + +int +hd_part (FILE *f) +{ + static int count = 0; + + if (! count++) + printf("No header has been defined for the part table\n"); + + return(0); +} + +int +ld_part (part_t *pp, int mode) +{ + static int count = 0; + + if (! count++) + printf("No load routine has been defined for the part table\n"); + + return(0); +} + +int +ld_psupp (part_t *pp, int mode) +{ + static int count = 0; + + if (! count++) + printf("%s %s\n", + "No load routine has been defined for the", + "psupp table\n"); + + return(0); + +} + + +int +hd_supp (FILE *f) +{ + static int count = 0; + + if (! count++) + printf("No header has been defined for the supplier table\n"); + + return(0); +} + +int +ld_supp (supplier_t *sp, int mode) +{ + static int count = 0; + + if (! count++) + printf("%s %s\n", + "No load routine has been defined", + "for the supplier table\n"); + + return(0); +} + + +int +hd_order (FILE *f) +{ + static int count = 0; + + if (! count++) + printf("No header has been defined for the order table\n"); + + return(0); +} + +int +ld_order (order_t *p, int mode) +{ + static int count = 0; + + if (! count++) + printf("%s %s\n", + "No load routine has been defined", + "for the order table"); + + return(0); +} + +int ld_line (order_t *p, int mode) +{ + static int count = 0; + + if (! count++) + printf("%s %s\n", + "No load routine has been defined", + "for the line table"); + + return(0); +} + + + +int +hd_psupp (FILE *f) +{ + static int count = 0; + + if (! count++) + printf("%s %s\n", + "No header has been defined for the", + "part supplier table"); + + return(0); +} + + +int +hd_line (FILE *f) +{ + static int count = 0; + + if (! count++) + printf("No header has been defined for the lineitem table\n"); + + return(0); +} + +int +hd_nation (FILE *f) +{ + static int count = 0; + + if (! count++) + printf("No header has been defined for the nation table\n"); + + return(0); +} + +int +ld_nation (code_t *cp, int mode) +{ + static int count = 0; + + if (! count++) + printf("%s %s\n", + "No load routine has been defined", + "for the nation table"); + + return(0); +} + +int +hd_region (FILE *f) +{ + static int count = 0; + + if (! count++) + printf("No header has been defined for the region table\n"); + + return(0); +} + +int +ld_region (code_t *cp, int mode) +{ + static int count = 0; + + if (! count++) + printf("%s %s\n", + "No load routine has been defined", + "for the region table"); + + return(0); +} + +int +ld_order_line (order_t *p, int mode) +{ + ld_order(p, mode); + ld_line (p, mode); + + return(0); +} + +int +hd_order_line (FILE *f) +{ + hd_order(f); + hd_line (f); + + return(0); +} + +int +ld_part_psupp (part_t *p, int mode) +{ + ld_part(p, mode); + ld_psupp (p, mode); + + return(0); +} + +int +hd_part_psupp (FILE *f) +{ + hd_part(f); + hd_psupp(f); + + return(0); +} diff --git a/tpch/00_compile_tpch/dbgen/load_stub.o b/tpch/00_compile_tpch/dbgen/load_stub.o new file mode 100644 index 0000000..f40171d Binary files /dev/null and b/tpch/00_compile_tpch/dbgen/load_stub.o differ diff --git a/tpch/00_compile_tpch/dbgen/makefile b/tpch/00_compile_tpch/dbgen/makefile new file mode 100644 index 0000000..555e722 --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/makefile @@ -0,0 +1,199 @@ +# +# $Id: makefile.suite,v 1.25 2009/10/22 19:10:21 jms Exp $ +# +# Revision History +# =================== +# $Log: makefile.suite,v $ +# Revision 1.25 2009/10/22 19:10:21 jms +# update revision to 2.9.0, disable bug55 fix +# +# Revision 1.24 2009/10/22 19:06:10 jms +# update revision to 2.9.0, disable bug55 fix +# +# Revision 1.23 2009/06/28 14:01:08 jms +# bug fix for DOP +# +# Revision 1.22 2008/09/15 16:37:46 jms +# release 2.8.0 makefile.suite +# +# Revision 1.21 2008/03/21 18:26:54 jms +# recursive zip for reference data, chmod for update_release +# +# Revision 1.20 2008/03/21 17:38:39 jms +# changes for 2.6.3 +# +# Revision 1.19 2007/03/08 20:36:03 jms +# update release number to 2.6.1 +# +# Revision 1.18 2007/02/06 18:15:56 jms +# remove update release from general target +# +# Revision 1.17 2007/01/25 19:35:50 jms +# add sln file used by VS2005 +# +# Revision 1.16 2007/01/05 20:05:41 jms +# update release number +# +# Revision 1.15 2006/09/07 17:25:57 jms +# correct dss.ddl +# +# Revision 1.14 2006/08/01 17:21:22 jms +# fix bad merge +# +# Revision 1.13 2006/08/01 16:55:44 jms +# move to 2.4.1 +# +# Revision 1.12 2006/06/29 20:46:17 jms +# 2.4.0 changes from Meikel +# +# Revision 1.10 2006/05/25 22:30:44 jms +# qgen porting for 32b/64b +# +# Revision 1.9 2006/04/26 23:17:09 jms +# checking release.h prior to release build +# +# Revision 1.8 2006/04/26 23:03:00 jms +# release 2.3.4-1 +# +# Revision 1.7 2006/04/12 18:13:58 jms +# release 2.3.3 +# +# Revision 1.6 2006/03/09 18:59:19 jms +# move to version 2.3.2 +# +# Revision 1.5 2006/01/28 23:54:32 jms +# add reference data to release +# +# Revision 1.4 2005/10/28 03:00:32 jms +# fix release target +# +# Revision 1.3 2005/10/28 02:54:14 jms +# increment build count with each release creation +# +# Revision 1.2 2005/01/03 20:08:58 jms +# change line terminations +# +# Revision 1.1.1.1 2004/11/24 23:31:47 jms +# re-establish external server +# +# Revision 1.5 2004/03/26 20:39:23 jms +# add tpch tag to release files +# +# Revision 1.4 2004/03/16 14:45:57 jms +# correct release target in makefile +# +# Revision 1.3 2004/03/02 20:49:01 jms +# simplify distributions, add Windows IDE files +# releases should use make release from now on +# +# Revision 1.2 2004/02/18 14:05:53 jms +# porting changes for LINUX and 64 bit RNG +# +# Revision 1.1.1.1 2003/04/03 18:54:21 jms +# recreation after CVS crash +# +# Revision 1.1.1.1 2003/04/03 18:54:21 jms +# initial checkin +# +# +# +################ +## CHANGE NAME OF ANSI COMPILER HERE +################ +CC = gcc +# Current values for DATABASE are: INFORMIX, DB2, TDAT (Teradata) +# SQLSERVER, SYBASE, ORACLE, VECTORWISE +# PIVOTAL +# Current values for MACHINE are: ATT, DOS, HP, IBM, ICL, MVS, +# SGI, SUN, U2200, VMS, LINUX, WIN32 +# Current values for WORKLOAD are: TPCH +DATABASE= DB2 +MACHINE = LINUX +WORKLOAD = TPCH +# +CFLAGS = -g -DDBNAME=\"dss\" -D$(MACHINE) -D$(DATABASE) -D$(WORKLOAD) -DRNG_TEST -D_FILE_OFFSET_BITS=64 +LDFLAGS = -O +# The OBJ,EXE and LIB macros will need to be changed for compilation under +# Windows NT +OBJ = .o +EXE = +LIBS = -lm +# +# NO CHANGES SHOULD BE NECESSARY BELOW THIS LINE +############### +VERSION=2 +RELEASE=13 +PATCH=0 +BUILD=`grep BUILD release.h | cut -f3 -d' '` +NEW_BUILD=`expr ${BUILD} + 1` +TREE_ROOT=/tmp/tree +# +PROG1 = dbgen$(EXE) +PROG2 = qgen$(EXE) +PROGS = $(PROG1) $(PROG2) +# +HDR1 = dss.h rnd.h config.h dsstypes.h shared.h bcd2.h rng64.h release.h +HDR2 = tpcd.h permute.h +HDR = $(HDR1) $(HDR2) +# +SRC1 = build.c driver.c bm_utils.c rnd.c print.c load_stub.c bcd2.c \ + speed_seed.c text.c permute.c rng64.c +SRC2 = qgen.c varsub.c +SRC = $(SRC1) $(SRC2) +# +OBJ1 = build$(OBJ) driver$(OBJ) bm_utils$(OBJ) rnd$(OBJ) print$(OBJ) \ + load_stub$(OBJ) bcd2$(OBJ) speed_seed$(OBJ) text$(OBJ) permute$(OBJ) \ + rng64$(OBJ) +OBJ2 = build$(OBJ) bm_utils$(OBJ) qgen$(OBJ) rnd$(OBJ) varsub$(OBJ) \ + text$(OBJ) bcd2$(OBJ) permute$(OBJ) speed_seed$(OBJ) rng64$(OBJ) +OBJS = $(OBJ1) $(OBJ2) +# +SETS = dists.dss +DOC=README HISTORY PORTING.NOTES BUGS +DDL = dss.ddl dss.ri +WINDOWS_IDE = tpch.dsw dbgen.dsp tpch.sln tpch.vcproj qgen.vcproj +OTHER=makefile.suite $(SETS) $(DDL) $(WINDOWS_IDE) +# case is *important* in TEST_RES +TEST_RES = O.res L.res c.res s.res P.res S.res n.res r.res +# +DBGENSRC=$(SRC1) $(HDR1) $(OTHER) $(DOC) $(SRC2) $(HDR2) $(SRC3) +FQD=queries/1.sql queries/2.sql queries/3.sql queries/4.sql queries/5.sql queries/6.sql queries/7.sql \ + queries/8.sql queries/9.sql queries/10.sql queries/11.sql queries/12.sql queries/13.sql \ + queries/14.sql queries/15.sql queries/16.sql queries/17.sql queries/18.sql queries/19.sql queries/20.sql \ + queries/21.sql queries/22.sql +VARIANTS= variants/8a.sql variants/12a.sql variants/13a.sql variants/14a.sql variants/15a.sql +ANS = answers/q1.out answers/q2.out answers/q3.out answers/q4.out answers/q5.out answers/q6.out answers/q7.out answers/q8.out \ + answers/q9.out answers/q10.out answers/q11.out answers/q12.out answers/q13.out answers/q14.out answers/q15.out \ + answers/q16.out answers/q17.out answers/q18.out answers/q19.out answers/q20.out answers/q21.out answers/q22.out +QSRC = $(FQD) $(VARIANTS) $(ANS) +TREE_DOC=tree.readme tree.changes appendix.readme appendix.version answers.readme queries.readme variants.readme +REFERENCE=reference/[tcR]* +REFERENCE_DATA=referenceData/[13]* +SCRIPTS= check55.sh column_split.sh dop.sh gen_tasks.sh last_row.sh load_balance.sh new55.sh check_dirs.sh +ALLSRC=$(DBGENSRC) $(REFERENCE) $(QSRC) $(SCRIPTS) +JUNK = +# +all: $(PROGS) +$(PROG1): $(OBJ1) $(SETS) + $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(OBJ1) $(LIBS) +$(PROG2): permute.h $(OBJ2) + $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(OBJ2) $(LIBS) +clean: + rm -f $(PROGS) $(OBJS) $(JUNK) +lint: + lint $(CFLAGS) -u -x -wO -Ma -p $(SRC1) + lint $(CFLAGS) -u -x -wO -Ma -p $(SRC2) + +tar: $(ALLSRC) + tar cvhf - $(ALLSRC) --exclude .svn\*/\* |gzip - > tpch_${VERSION}_${RELEASE}_${PATCH}.tar.gz + tar cvhf - $(REFERENCE_DATA) --exclude .svn\*/\* |gzip - > reference_${VERSION}_${RELEASE}_${PATCH}.tar.gz +zip: $(ALLSRC) + zip -r tpch_${VERSION}_${RELEASE}_${PATCH}.zip $(ALLSRC) -x *.svn* + zip -r reference_${VERSION}_${RELEASE}_${PATCH}.zip $(REFERENCE_DATA) -x *.svn* +release: + make -f makefile.suite tar + make -f makefile.suite zip + ( cd tests; sh test_list.sh `date '+%Y%m%d'` ) +rnd$(OBJ): rnd.h +$(OBJ1): $(HDR1) +$(OBJ2): dss.h tpcd.h config.h rng64.h release.h diff --git a/tpch/00_compile_tpch/dbgen/permute.c b/tpch/00_compile_tpch/dbgen/permute.c new file mode 100644 index 0000000..f778342 --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/permute.c @@ -0,0 +1,186 @@ +/* +* $Id: permute.c,v 1.3 2007/01/04 21:29:21 jms Exp $ +* +* Revision History +* =================== +* $Log: permute.c,v $ +* Revision 1.3 2007/01/04 21:29:21 jms +* Porting changes uncovered as part of move to VS2005. No impact on data set +* +* Revision 1.2 2005/01/03 20:08:59 jms +* change line terminations +* +* Revision 1.1.1.1 2004/11/24 23:31:47 jms +* re-establish external server +* +* Revision 1.1.1.1 2003/08/07 17:58:34 jms +* recreation after CVS crash +* +* Revision 1.2 2003/08/07 17:58:34 jms +* Convery RNG to 64bit space as preparation for new large scale RNG +* +* Revision 1.1.1.1 2003/04/03 18:54:21 jms +* initial checkin +* +* +*/ +/* +* permute.c -- a permutation generator for the query +* sequences in TPC-H and TPC-R +*/ + +#ifdef TEST +#define DECLARER +#endif +#include "config.h" +#include "dss.h" +#ifdef TEST +#include +#if (defined(_POSIX_)||!defined(WIN32)) /* Change for Windows NT */ +#include +#include +#endif /* WIN32 */ +#include /* */ +#include +#include +#include +#include +#include +#include +#ifdef HP +#include +#endif +#if (defined(WIN32)&&!defined(_POSIX_)) +#include +#pragma warning(disable:4201) +#pragma warning(disable:4214) +#pragma warning(disable:4514) +#define WIN32_LEAN_AND_MEAN +#define NOATOM +#define NOGDICAPMASKS +#define NOMETAFILE +#define NOMINMAX +#define NOMSG +#define NOOPENFILE +#define NORASTEROPS +#define NOSCROLL +#define NOSOUND +#define NOSYSMETRICS +#define NOTEXTMETRIC +#define NOWH +#define NOCOMM +#define NOKANJI +#define NOMCX +#include +#pragma warning(default:4201) +#pragma warning(default:4214) +#endif +#endif + +DSS_HUGE NextRand(DSS_HUGE seed); +void permute(long *set, int cnt, long stream); +void permute_dist(distribution *d, long stream); +long seed; +char *eol[2] = {" ", "},"}; +extern seed_t Seed[]; +#ifdef TEST +tdef tdefs = { NULL }; +#endif + + +#define MAX_QUERY 22 +#define ITERATIONS 1000 +#define UNSET 0 + +void permute(long *a, int c, long s) +{ + int i; + static DSS_HUGE source; + static long *set, temp; + + if (a != (long *)NULL) + { + for (i=0; i < c; i++) + { + RANDOM(source, (long)i, (long)(c - 1), s); + temp = *(a + source); + *(a + source) = *(a + i) ; + *(a + i) = temp; + } + } + + return; +} + +void permute_dist(distribution *d, long stream) +{ + static distribution *dist = NULL; + int i; + + if (d != NULL) + { + if (d->permute == (long *)NULL) + { + d->permute = (long *)malloc(sizeof(long) * DIST_SIZE(d)); + MALLOC_CHECK(d->permute); + } + for (i=0; i < DIST_SIZE(d); i++) + *(d->permute + i) = i; + permute(d->permute, DIST_SIZE(d), stream); + } + else + INTERNAL_ERROR("Bad call to permute_dist"); + + return; +} + + +#ifdef TEST + +main(int ac, char *av[]) + { + long *sequence, + i, + j, + streams = UNSET, + *a; + char sep; + int index = 0; + + set_seeds = 0; + sequence = (long *)malloc(MAX_QUERY * sizeof(long)); + a = sequence; + for (i=0; i < MAX_QUERY; i++) + *(sequence + i) = i; + if (ac < 3) + goto usage; + Seed[0].value = (long)atoi(av[1]); + streams = atoi(av[2]); + if (Seed[0].value == UNSET || streams == UNSET) + goto usage; + + index = 0; + printf("long permutation[%d][%d] = {\n", streams, MAX_QUERY); + for (j=0; j < streams; j++) + { + sep = '{'; + printf("%s\n", eol[index]); + for (i=0; i < MAX_QUERY; i++) + { + printf("%c%2d", sep, *permute(a, MAX_QUERY, 0) + 1); + a = (long *)NULL; + sep = ','; + } + a = sequence; + index=1; + } + printf("}\n};\n"); + return(0); + +usage: + printf("Usage: %s \n",av[0]); + printf(" uses to start the generation of permutations of [1..%d]\n", MAX_QUERY); + return(-1); + + } +#endif /* TEST */ diff --git a/tpch/00_compile_tpch/dbgen/permute.h b/tpch/00_compile_tpch/dbgen/permute.h new file mode 100644 index 0000000..fd0ef69 --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/permute.h @@ -0,0 +1,64 @@ +/* +* $Id: permute.h,v 1.2 2005/01/03 20:08:59 jms Exp $ +* +* Revision History +* =================== +* $Log: permute.h,v $ +* Revision 1.2 2005/01/03 20:08:59 jms +* change line terminations +* +* Revision 1.1.1.1 2004/11/24 23:31:47 jms +* re-establish external server +* +* Revision 1.1.1.1 2003/04/03 18:54:21 jms +* recreation after CVS crash +* +* Revision 1.1.1.1 2003/04/03 18:54:21 jms +* initial checkin +* +* +*/ +long permutation[41][22] = +{ + {14, 2, 9,20, 6,17,18, 8,21,13, 3,22,16, 4,11,15, 1,10,19, 5, 7,12}, + {21, 3,18, 5,11, 7, 6,20,17,12,16,15,13,10, 2, 8,14,19, 9,22, 1, 4}, + { 6,17,14,16,19,10, 9, 2,15, 8, 5,22,12, 7,13,18, 1, 4,20, 3,11,21}, + { 8, 5, 4, 6,17, 7, 1,18,22,14, 9,10,15,11,20, 2,21,19,13,16,12, 3}, + { 5,21,14,19,15,17,12, 6, 4, 9, 8,16,11, 2,10,18, 1,13, 7,22, 3,20}, + {21,15, 4, 6, 7,16,19,18,14,22,11,13, 3, 1, 2, 5, 8,20,12,17,10, 9}, + {10, 3,15,13, 6, 8, 9, 7, 4,11,22,18,12, 1, 5,16, 2,14,19,20,17,21}, + {18, 8,20,21, 2, 4,22,17, 1,11, 9,19, 3,13, 5, 7,10,16, 6,14,15,12}, + {19, 1,15,17, 5, 8, 9,12,14, 7, 4, 3,20,16, 6,22,10,13, 2,21,18,11}, + { 8,13, 2,20,17, 3, 6,21,18,11,19,10,15, 4,22, 1, 7,12, 9,14, 5,16}, + { 6,15,18,17,12, 1, 7, 2,22,13,21,10,14, 9, 3,16,20,19,11, 4, 8, 5}, + {15,14,18,17,10,20,16,11, 1, 8, 4,22, 5,12, 3, 9,21, 2,13, 6,19, 7}, + { 1, 7,16,17,18,22,12, 6, 8, 9,11, 4, 2, 5,20,21,13,10,19, 3,14,15}, + {21,17, 7, 3, 1,10,12,22, 9,16, 6,11, 2, 4, 5,14, 8,20,13,18,15,19}, + { 2, 9, 5, 4,18, 1,20,15,16,17, 7,21,13,14,19, 8,22,11,10, 3,12, 6}, + {16, 9,17, 8,14,11,10,12, 6,21, 7, 3,15, 5,22,20, 1,13,19, 2, 4,18}, + { 1, 3, 6, 5, 2,16,14,22,17,20, 4, 9,10,11,15, 8,12,19,18,13, 7,21}, + { 3,16, 5,11,21, 9, 2,15,10,18,17, 7, 8,19,14,13, 1, 4,22,20, 6,12}, + {14, 4,13, 5,21,11, 8, 6, 3,17, 2,20, 1,19,10, 9,12,18,15, 7,22,16}, + { 4,12,22,14, 5,15,16, 2, 8,10,17, 9,21, 7, 3, 6,13,18,11,20,19, 1}, + {16,15,14,13, 4,22,18,19, 7, 1,12,17, 5,10,20, 3, 9,21,11, 2, 6, 8}, + {20,14,21,12,15,17, 4,19,13,10,11, 1,16, 5,18, 7, 8,22, 9, 6, 3, 2}, + {16,14,13, 2,21,10,11, 4, 1,22,18,12,19, 5, 7, 8, 6, 3,15,20, 9,17}, + {18,15, 9,14,12, 2, 8,11,22,21,16, 1, 6,17, 5,10,19, 4,20,13, 3, 7}, + { 7, 3,10,14,13,21,18, 6,20, 4, 9, 8,22,15, 2, 1, 5,12,19,17,11,16}, + {18, 1,13, 7,16,10,14, 2,19, 5,21,11,22,15, 8,17,20, 3, 4,12, 6, 9}, + {13, 2,22, 5,11,21,20,14, 7,10, 4, 9,19,18, 6, 3, 1, 8,15,12,17,16}, + {14,17,21, 8, 2, 9, 6, 4, 5,13,22, 7,15, 3, 1,18,16,11,10,12,20,19}, + {10,22, 1,12,13,18,21,20, 2,14,16, 7,15, 3, 4,17, 5,19, 6, 8, 9,11}, + {10, 8, 9,18,12, 6, 1, 5,20,11,17,22,16, 3,13, 2,15,21,14,19, 7, 4}, + { 7,17,22, 5, 3,10,13,18, 9, 1,14,15,21,19,16,12, 8, 6,11,20, 4, 2}, + { 2, 9,21, 3, 4, 7, 1,11,16, 5,20,19,18, 8,17,13,10,12,15, 6,14,22}, + {15,12, 8, 4,22,13,16,17,18, 3, 7, 5, 6, 1, 9,11,21,10,14,20,19, 2}, + {15,16, 2,11,17, 7, 5,14,20, 4,21, 3,10, 9,12, 8,13, 6,18,19,22, 1}, + { 1,13,11, 3, 4,21, 6,14,15,22,18, 9, 7, 5,10,20,12,16,17, 8,19, 2}, + {14,17,22,20, 8,16, 5,10, 1,13, 2,21,12, 9, 4,18, 3, 7, 6,19,15,11}, + { 9,17, 7, 4, 5,13,21,18,11, 3,22, 1, 6,16,20,14,15,10, 8, 2,12,19}, + {13,14, 5,22,19,11, 9, 6,18,15, 8,10, 7, 4,17,16, 3, 1,12, 2,21,20}, + {20, 5, 4,14,11, 1, 6,16, 8,22, 7, 3, 2,12,21,19,17,13,10,15,18, 9}, + { 3, 7,14,15, 6, 5,21,20,18,10, 4,16,19, 1,13, 9, 8,17,11,12,22, 2}, + {13,15,17, 1,22,11, 3, 4, 7,20,14,21, 9, 8, 2,18,16, 6,10,12, 5,19} +}; diff --git a/tpch/00_compile_tpch/dbgen/permute.o b/tpch/00_compile_tpch/dbgen/permute.o new file mode 100644 index 0000000..b105602 Binary files /dev/null and b/tpch/00_compile_tpch/dbgen/permute.o differ diff --git a/tpch/00_compile_tpch/dbgen/print.c b/tpch/00_compile_tpch/dbgen/print.c new file mode 100644 index 0000000..c09869e --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/print.c @@ -0,0 +1,444 @@ +/* +* $Id: print.c,v 1.3 2005/10/28 02:56:22 jms Exp $ +* +* Revision History +* =================== +* $Log: print.c,v $ +* Revision 1.3 2005/10/28 02:56:22 jms +* add platform-specific printf formats to allow for DSS_HUGE data type +* +* Revision 1.2 2005/01/03 20:08:59 jms +* change line terminations +* +* Revision 1.1.1.1 2004/11/24 23:31:47 jms +* re-establish external server +* +* Revision 1.4 2004/02/18 16:26:49 jms +* 32/64 bit changes for overflow handling needed additional changes when ported back to windows +* +* Revision 1.3 2004/02/18 14:05:53 jms +* porting changes for LINUX and 64 bit RNG +* +* Revision 1.2 2004/01/22 05:49:29 jms +* AIX porting (AIX 5.1) +* +* Revision 1.1.1.1 2003/08/07 17:58:34 jms +* recreation after CVS crash +* +* Revision 1.2 2003/08/07 17:58:34 jms +* Convery RNG to 64bit space as preparation for new large scale RNG +* +* Revision 1.1.1.1 2003/04/03 18:54:21 jms +* initial checkin +* +* +*/ +/* generate flat files for data load */ +#include +#ifndef VMS +#include +#endif +#if defined(SUN) +#include +#endif +#include + +#include "dss.h" +#include "dsstypes.h" +#include + +/* + * Function Prototypes + */ +FILE *print_prep PROTO((int table, int update)); +int pr_drange PROTO((int tbl, DSS_HUGE min, DSS_HUGE cnt, long num)); + +FILE * +print_prep(int table, int update) +{ + char upath[128]; + FILE *res; + + if (updates) + { + if (update > 0) /* updates */ + if ( insert_segments ) + { + int this_segment; + if(strcmp(tdefs[table].name,"orders.tbl")) + this_segment=++insert_orders_segment; + else + this_segment=++insert_lineitem_segment; + sprintf(upath, "%s%c%s.u%d.%d", + env_config(PATH_TAG, PATH_DFLT), + PATH_SEP, tdefs[table].name, update%10000,this_segment); + } + else + { + sprintf(upath, "%s%c%s.u%d", + env_config(PATH_TAG, PATH_DFLT), + PATH_SEP, tdefs[table].name, update); + } + else /* deletes */ + if ( delete_segments ) + { + ++delete_segment; + sprintf(upath, "%s%cdelete.u%d.%d", + env_config(PATH_TAG, PATH_DFLT), PATH_SEP, -update%10000, + delete_segment); + } + else + { + sprintf(upath, "%s%cdelete.%d", + env_config(PATH_TAG, PATH_DFLT), PATH_SEP, -update); + } + return(fopen(upath, "w")); + } + res = tbl_open(table, "w"); + OPEN_CHECK(res, tdefs[table].name); + return(res); +} + +int +dbg_print(int format, FILE *target, void *data, int len, int sep) +{ + int dollars, + cents; + + switch(format) + { + case DT_STR: + fprintf(target, "%s", (char *)data); + break; +#ifdef MVS + case DT_VSTR: + /* note: only used in MVS, assumes columnar output */ + fprintf(target, "%c%c%-*s", + (len >> 8) & 0xFF, len & 0xFF, len, (char *)data); + break; +#endif /* MVS */ + case DT_INT: + fprintf(target, "%ld", (long)data); + break; + case DT_HUGE: + fprintf(target, HUGE_FORMAT, *(DSS_HUGE *)data); + break; + case DT_KEY: + fprintf(target, "%ld", (long)data); + break; + case DT_MONEY: + cents = (int)*(DSS_HUGE *)data; + if (cents < 0) + { + fprintf(target, "-"); + cents = -cents; + } + dollars = cents / 100; + cents %= 100; + fprintf(target, "%ld.%02ld", dollars, cents); + break; + case DT_CHR: + fprintf(target, "%c", *(char *)data); + break; + } + +#ifdef EOL_HANDLING + if (sep) +#endif /* EOL_HANDLING */ + fprintf(target, "%c", SEPARATOR); + + return(0); +} + +int +pr_cust(customer_t *c, int mode) +{ +static FILE *fp = NULL; + + if (fp == NULL) + fp = print_prep(CUST, 0); + + PR_STRT(fp); + PR_HUGE(fp, &c->custkey); + if (scale <= 3000) + PR_VSTR(fp, c->name, C_NAME_LEN); + else + PR_VSTR(fp, c->name, C_NAME_LEN + 3); + PR_VSTR(fp, c->address, c->alen); + PR_HUGE(fp, &c->nation_code); + PR_STR(fp, c->phone, PHONE_LEN); + PR_MONEY(fp, &c->acctbal); + PR_STR(fp, c->mktsegment, C_MSEG_LEN); + PR_VSTR_LAST(fp, c->comment, c->clen); + PR_END(fp); + + return(0); +} + +/* + * print the numbered order + */ +int +pr_order(order_t *o, int mode) +{ + static FILE *fp_o = NULL; + static int last_mode = 0; + + if (fp_o == NULL || mode != last_mode) + { + if (fp_o) + fclose(fp_o); + fp_o = print_prep(ORDER, mode); + last_mode = mode; + } + PR_STRT(fp_o); + PR_HUGE(fp_o, &o->okey); + PR_HUGE(fp_o, &o->custkey); + PR_CHR(fp_o, &o->orderstatus); + PR_MONEY(fp_o, &o->totalprice); + PR_STR(fp_o, o->odate, DATE_LEN); + PR_STR(fp_o, o->opriority, O_OPRIO_LEN); + PR_STR(fp_o, o->clerk, O_CLRK_LEN); + PR_INT(fp_o, o->spriority); + PR_VSTR_LAST(fp_o, o->comment, o->clen); + PR_END(fp_o); + + return(0); +} + +/* + * print an order's lineitems + */ +int +pr_line(order_t *o, int mode) +{ + static FILE *fp_l = NULL; + static int last_mode = 0; + long i; + + if (fp_l == NULL || mode != last_mode) + { + if (fp_l) + fclose(fp_l); + fp_l = print_prep(LINE, mode); + last_mode = mode; + } + + for (i = 0; i < o->lines; i++) + { + PR_STRT(fp_l); + PR_HUGE(fp_l, &o->l[i].okey); + PR_HUGE(fp_l, &o->l[i].partkey); + PR_HUGE(fp_l, &o->l[i].suppkey); + PR_HUGE(fp_l, &o->l[i].lcnt); + PR_HUGE(fp_l, &o->l[i].quantity); + PR_MONEY(fp_l, &o->l[i].eprice); + PR_MONEY(fp_l, &o->l[i].discount); + PR_MONEY(fp_l, &o->l[i].tax); + PR_CHR(fp_l, &o->l[i].rflag[0]); + PR_CHR(fp_l, &o->l[i].lstatus[0]); + PR_STR(fp_l, o->l[i].sdate, DATE_LEN); + PR_STR(fp_l, o->l[i].cdate, DATE_LEN); + PR_STR(fp_l, o->l[i].rdate, DATE_LEN); + PR_STR(fp_l, o->l[i].shipinstruct, L_INST_LEN); + PR_STR(fp_l, o->l[i].shipmode, L_SMODE_LEN); + PR_VSTR_LAST(fp_l, o->l[i].comment,o->l[i].clen); + PR_END(fp_l); + } + + return(0); +} + +/* + * print the numbered order *and* its associated lineitems + */ +int +pr_order_line(order_t *o, int mode) +{ + tdefs[ORDER].name = tdefs[ORDER_LINE].name; + pr_order(o, mode); + pr_line(o, mode); + + return(0); +} + +/* + * print the given part + */ +int +pr_part(part_t *part, int mode) +{ +static FILE *p_fp = NULL; + + if (p_fp == NULL) + p_fp = print_prep(PART, 0); + + PR_STRT(p_fp); + PR_HUGE(p_fp, &part->partkey); + PR_VSTR(p_fp, part->name,part->nlen); + PR_STR(p_fp, part->mfgr, P_MFG_LEN); + PR_STR(p_fp, part->brand, P_BRND_LEN); + PR_VSTR(p_fp, part->type,part->tlen); + PR_HUGE(p_fp, &part->size); + PR_STR(p_fp, part->container, P_CNTR_LEN); + PR_MONEY(p_fp, &part->retailprice); + PR_VSTR_LAST(p_fp, part->comment,part->clen); + PR_END(p_fp); + + return(0); +} + +/* + * print the given part's suppliers + */ +int +pr_psupp(part_t *part, int mode) +{ + static FILE *ps_fp = NULL; + long i; + + if (ps_fp == NULL) + ps_fp = print_prep(PSUPP, mode); + + for (i = 0; i < SUPP_PER_PART; i++) + { + PR_STRT(ps_fp); + PR_HUGE(ps_fp, &part->s[i].partkey); + PR_HUGE(ps_fp, &part->s[i].suppkey); + PR_HUGE(ps_fp, &part->s[i].qty); + PR_MONEY(ps_fp, &part->s[i].scost); + PR_VSTR_LAST(ps_fp, part->s[i].comment,part->s[i].clen); + PR_END(ps_fp); + } + + return(0); +} + +/* + * print the given part *and* its suppliers + */ +int +pr_part_psupp(part_t *part, int mode) +{ + tdefs[PART].name = tdefs[PART_PSUPP].name; + pr_part(part, mode); + pr_psupp(part, mode); + + return(0); +} + +int +pr_supp(supplier_t *supp, int mode) +{ +static FILE *fp = NULL; + + if (fp == NULL) + fp = print_prep(SUPP, mode); + + PR_STRT(fp); + PR_HUGE(fp, &supp->suppkey); + PR_STR(fp, supp->name, S_NAME_LEN); + PR_VSTR(fp, supp->address, supp->alen); + PR_HUGE(fp, &supp->nation_code); + PR_STR(fp, supp->phone, PHONE_LEN); + PR_MONEY(fp, &supp->acctbal); + PR_VSTR_LAST(fp, supp->comment, supp->clen); + PR_END(fp); + + return(0); +} + +int +pr_nation(code_t *c, int mode) +{ +static FILE *fp = NULL; + + if (fp == NULL) + fp = print_prep(NATION, mode); + + PR_STRT(fp); + PR_HUGE(fp, &c->code); + PR_STR(fp, c->text, NATION_LEN); + PR_INT(fp, c->join); + PR_VSTR_LAST(fp, c->comment, c->clen); + PR_END(fp); + + return(0); +} + +int +pr_region(code_t *c, int mode) +{ +static FILE *fp = NULL; + + if (fp == NULL) + fp = print_prep(REGION, mode); + + PR_STRT(fp); + PR_HUGE(fp, &c->code); + PR_STR(fp, c->text, REGION_LEN); + PR_VSTR_LAST(fp, c->comment, c->clen); + PR_END(fp); + + return(0); +} + +/* + * NOTE: this routine does NOT use the BCD2_* routines. As a result, + * it WILL fail if the keys being deleted exceed 32 bits. Since this + * would require ~660 update iterations, this seems an acceptable + * oversight + */ +int +pr_drange(int tbl, DSS_HUGE min, DSS_HUGE cnt, long num) +{ + static int last_num = 0; + static FILE *dfp = NULL; + DSS_HUGE child = -1; + DSS_HUGE start, last, new; + + static DSS_HUGE rows_per_segment=0; + static DSS_HUGE rows_this_segment=0; + + if (last_num != num) + { + if (dfp) + fclose(dfp); + dfp = print_prep(tbl, -num); + if (dfp == NULL) + return(-1); + last_num = num; + rows_this_segment=0; + } + + start = MK_SPARSE(min, num/ (10000 / UPD_PCT)); + last = start - 1; + for (child=min; cnt > 0; child++, cnt--) + { + new = MK_SPARSE(child, num/ (10000 / UPD_PCT)); + if (delete_segments) + { + + if(rows_per_segment==0) + rows_per_segment = (cnt / delete_segments) + 1; + if((++rows_this_segment) > rows_per_segment) + { + fclose(dfp); + dfp = print_prep(tbl, -num); + if (dfp == NULL) return(-1); + last_num = num; + rows_this_segment=1; + } + } + PR_STRT(dfp); + PR_HUGE_LAST(dfp, &new); + PR_END(dfp); + start = new; + last = new; + } + + return(0); +} + + + diff --git a/tpch/00_compile_tpch/dbgen/print.o b/tpch/00_compile_tpch/dbgen/print.o new file mode 100644 index 0000000..16bbafa Binary files /dev/null and b/tpch/00_compile_tpch/dbgen/print.o differ diff --git a/tpch/00_compile_tpch/dbgen/qgen b/tpch/00_compile_tpch/dbgen/qgen new file mode 100644 index 0000000..5b9a124 Binary files /dev/null and b/tpch/00_compile_tpch/dbgen/qgen differ diff --git a/tpch/00_compile_tpch/dbgen/qgen.c b/tpch/00_compile_tpch/dbgen/qgen.c new file mode 100644 index 0000000..0bd138c --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/qgen.c @@ -0,0 +1,489 @@ +/* +* $Id: qgen.c,v 1.3 2005/10/28 02:54:35 jms Exp $ +* +* Revision History +* =================== +* $Log: qgen.c,v $ +* Revision 1.3 2005/10/28 02:54:35 jms +* add release.h changes +* +* Revision 1.2 2005/01/03 20:08:59 jms +* change line terminations +* +* Revision 1.1.1.1 2004/11/24 23:31:47 jms +* re-establish external server +* +* Revision 1.1.1.1 2003/04/03 18:54:21 jms +* recreation after CVS crash +* +* Revision 1.1.1.1 2003/04/03 18:54:21 jms +* initial checkin +* +* +*/ +/* + * qgen.c -- routines to convert query templates to executable query + * text for TPC-H and TPC-R + */ +#define DECLARER + +#include +#include +#if (defined(_POSIX_)||!defined(WIN32)) +#include +#else +#include "process.h" +#endif /* WIN32 */ +#include +#include +#include "config.h" +#include "dss.h" +#include "tpcd.h" +#include "permute.h" +#include "release.h" + + +#define LINE_SIZE 512 + +/* + * Function Protoypes + */ +void varsub PROTO((int qnum, int vnum, int flags)); +int strip_comments PROTO((char *line)); +void usage PROTO((void)); +int process_options PROTO((int cnt, char **args)); +int setup PROTO((void)); +void qsub PROTO((char *qtag, int flags)); + + + +extern char *optarg; +extern int optind; +char **mk_ascdate(void); +extern seed_t Seed[]; + +char **asc_date; +int snum = -1; +char *prog; +tdef tdefs = { NULL }; +long rndm; +double flt_scale; +distribution q13a, q13b; +int qnum; +char *db_name = NULL; + + +/* + * FUNCTION strip_comments(line) + * + * remove all comments from 'line'; recognizes both {} and -- comments + */ +int +strip_comments(char *line) +{ + static int in_comment = 0; + char *cp1, *cp2; + + cp1 = line; + + while (1) /* traverse the entire string */ + { + if (in_comment) + { + if ((cp2 = strchr(cp1, '}')) != NULL) /* comment ends */ + { + strcpy(cp1, cp2 + 1); + in_comment = 0; + continue; + } + else + { + *cp1 = '\0'; + break; + } + } + else /* not in_comment */ + { + if ((cp2 = strchr(cp1, '-')) != NULL) + { + if (*(cp2 + 1) == '-') /* found a '--' comment */ + { + *cp2 = '\0'; + break; + } + } + if ((cp2 = strchr(cp1, '{')) != NULL) /* comment starts */ + { + in_comment = 1; + *cp2 = ' '; + continue; + } + else break; + } + } + return(0); +} + +/* + * FUNCTION qsub(char *qtag, int flags) + * + * based on the settings of flags, and the template file $QDIR/qtag.sql + * make the following substitutions to turn a query template into EQT + * + * String Converted to Based on + * ====== ============ =========== + * first line database ; -n from command line + * second line set explain on; -x from command line + * : parameter + * :k set number + * :o output to outpath/qnum.snum + * -o from command line, SET_OUTPUT + * :s stream number + * :b BEGIN WORK; -a from command line, START_TRAN + * :e COMMIT WORK; -a from command line, END_TRAN + * :q query number + * :n sets rowcount to be returned + */ +void +qsub(char *qtag, int flags) +{ +static char *line = NULL, + *qpath = NULL; +FILE *qfp; +char *cptr, + *mark, + *qroot = NULL; + + qnum = atoi(qtag); + if (line == NULL) + { + line = malloc(BUFSIZ); + qpath = malloc(BUFSIZ); + MALLOC_CHECK(line); + MALLOC_CHECK(qpath); + } + + qroot = env_config(QDIR_TAG, QDIR_DFLT); + sprintf(qpath, "%s%c%s.sql", + qroot, PATH_SEP, qtag); + qfp = fopen(qpath, "r"); + OPEN_CHECK(qfp, qpath); + + rowcnt = rowcnt_dflt[qnum]; + varsub(qnum, 0, flags); /* set the variables */ + if (flags & DFLT_NUM) + fprintf(ofp, SET_ROWCOUNT, rowcnt); + while (fgets(line, BUFSIZ, qfp) != NULL) + { + if (!(flags & COMMENT)) + strip_comments(line); + mark = line; + while ((cptr = strchr(mark, VTAG)) != NULL) + { + *cptr = '\0'; + cptr++; + fprintf(ofp,"%s", mark); + switch(*cptr) + { + case 'b': + case 'B': + if (!(flags & ANSI)) + fprintf(ofp,"%s\n", START_TRAN); + cptr++; + break; + case 'c': + case 'C': + if (flags & DBASE) + fprintf(ofp, SET_DBASE, db_name); + cptr++; + break; + case 'e': + case 'E': + if (!(flags & ANSI)) + fprintf(ofp,"%s\n", END_TRAN); + cptr++; + break; + case 'n': + case 'N': + if (!(flags & DFLT_NUM)) + { + rowcnt=atoi(++cptr); + while (isdigit(*cptr) || *cptr == ' ') cptr++; + fprintf(ofp, SET_ROWCOUNT, rowcnt); + } + continue; + case 'o': + case 'O': + if (flags & OUTPUT) + fprintf(ofp,"%s '%s/%s.%d'", SET_OUTPUT, osuff, + qtag, (snum < 0)?0:snum); + cptr++; + break; + case 'q': + case 'Q': + fprintf(ofp,"%s", qtag); + cptr++; + break; + case 's': + case 'S': + fprintf(ofp,"%d", (snum < 0)?0:snum); + cptr++; + break; + case 'X': + case 'x': + if (flags & EXPLAIN) + fprintf(ofp, "%s\n", GEN_QUERY_PLAN); + cptr++; + break; + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': + varsub(qnum, atoi(cptr), flags & DFLT); + while (isdigit(*++cptr)); + break; + default: + fprintf(stderr, "-- unknown flag '%c%c' ignored\n", + VTAG, *cptr); + cptr++; + break; + } + mark=cptr; + } + fprintf(ofp,"%s", mark); + } + fclose(qfp); + fflush(stdout); + return; +} + +void +usage(void) +{ +printf("%s Parameter Substitution (v. %d.%d.%d build %d)\n", + NAME, VERSION,RELEASE, + PATCH,BUILD); +printf("Copyright %s %s\n", TPC, C_DATES); +printf("USAGE: %s [ queries ]\n", prog); +printf("Options:\n"); +printf("\t-a\t\t-- use ANSI semantics.\n"); +printf("\t-b \t-- load distributions from \n"); +printf("\t-c\t\t-- retain comments found in template.\n"); +printf("\t-d\t\t-- use default substitution values.\n"); +printf("\t-h\t\t-- print this usage summary.\n"); +printf("\t-i \t-- use the contents of file to begin a query.\n"); +printf("\t-l \t-- log parameters to .\n"); +printf("\t-n \t-- connect to database .\n"); +printf("\t-N\t\t-- use default rowcounts and ignore :n directive.\n"); +printf("\t-o \t-- set the output file base path to .\n"); +printf("\t-p \t\t-- use the query permutation for stream \n"); +printf("\t-r \t\t-- seed the random number generator with \n"); +printf("\t-s \t\t-- base substitutions on an SF of \n"); +printf("\t-v\t\t-- verbose.\n"); +printf("\t-t \t-- use the contents of file to complete a query\n"); +printf("\t-x\t\t-- enable SET EXPLAIN in each query.\n"); +} + +int +process_options(int cnt, char **args) +{ + int flag; + + while((flag = getopt(cnt, args, "ab:cdhi:n:Nl:o:p:r:s:t:vx")) != -1) + switch(flag) + { + case 'a': /* use ANSI semantics */ + flags |= ANSI; + break; + case 'b': /* load distributions from named file */ + d_path = (char *)malloc((int)strlen(optarg) + 1); + MALLOC_CHECK(d_path); + strcpy(d_path, optarg); + break; + case 'c': /* retain comments in EQT */ + flags |= COMMENT; + break; + case 'd': /* use default substitution values */ + flags |= DFLT; + break; + case 'h': /* just generate the usage summary */ + usage(); + exit(0); + break; + case 'i': /* set stream initialization file name */ + ifile = malloc((int)strlen(optarg) + 1); + MALLOC_CHECK(ifile); + strcpy(ifile, optarg); + flags |= INIT; + break; + case 'l': /* log parameter usages */ + lfile = malloc((int)strlen(optarg) + 1); + MALLOC_CHECK(lfile); + strcpy(lfile, optarg); + flags |= LOG; + break; + case 'N': /* use default rowcounts */ + flags |= DFLT_NUM; + break; + case 'n': /* set database name */ + db_name = malloc((int)strlen(optarg) + 1); + MALLOC_CHECK(db_name); + strcpy(db_name, optarg); + flags |= DBASE; + break; + case 'o': /* set the output path */ + osuff = malloc((int)strlen(optarg) + 1); + MALLOC_CHECK(osuff); + strcpy(osuff, optarg); + flags |=OUTPUT; + break; + case 'p': /* permutation for a given stream */ + snum = atoi(optarg); + break; + case 'r': /* set random number seed for parameter gen */ + flags |= SEED; + rndm = atol(optarg); + break; + case 's': /* scale of data set to run against */ + flt_scale = atof(optarg); + if (scale > MAX_SCALE) + fprintf(stderr, "%s %5.0f %s\n%s\n", + "WARNING: Support for scale factors >", + MAX_SCALE, + "GB is still in development.", + "Data set integrity is not guaranteed.\n"); + break; + case 't': /* set termination file name */ + tfile = malloc((int)strlen(optarg) + 1); + MALLOC_CHECK(tfile); + strcpy(tfile, optarg); + flags |= TERMINATE; + break; + case 'v': /* verbose */ + flags |= VERBOSE; + break; + case 'x': /* set explain in the queries */ + flags |= EXPLAIN; + break; + default: + printf("unknown option '%s' ignored\n", args[optind]); + usage(); + exit(1); + break; + } + return(0); +} + +int +setup(void) +{ + asc_date = mk_ascdate(); + read_dist(env_config(DIST_TAG, DIST_DFLT), "p_cntr", &p_cntr_set); + read_dist(env_config(DIST_TAG, DIST_DFLT), "colors", &colors); + read_dist(env_config(DIST_TAG, DIST_DFLT), "p_types", &p_types_set); + read_dist(env_config(DIST_TAG, DIST_DFLT), "nations", &nations); + read_dist(env_config(DIST_TAG, DIST_DFLT), "nations2", &nations2); + read_dist(env_config(DIST_TAG, DIST_DFLT), "regions", ®ions); + read_dist(env_config(DIST_TAG, DIST_DFLT), "o_oprio", + &o_priority_set); + read_dist(env_config(DIST_TAG, DIST_DFLT), "instruct", + &l_instruct_set); + read_dist(env_config(DIST_TAG, DIST_DFLT), "smode", &l_smode_set); + read_dist(env_config(DIST_TAG, DIST_DFLT), "category", + &l_category_set); + read_dist(env_config(DIST_TAG, DIST_DFLT), "rflag", &l_rflag_set); + read_dist(env_config(DIST_TAG, DIST_DFLT), "msegmnt", &c_mseg_set); + read_dist(env_config(DIST_TAG, DIST_DFLT), "Q13a", &q13a); + read_dist(env_config(DIST_TAG, DIST_DFLT), "Q13b", &q13b); + + return(0); +} + + +int main(int ac, char **av) +{ + int i; + FILE *ifp; + char line[LINE_SIZE]; + + prog = av[0]; + flt_scale = (double)1.0; + flags = 0; + d_path = NULL; + process_options(ac, av); + if (flags & VERBOSE) + fprintf(ofp, + "-- TPC %s Parameter Substitution (Version %d.%d.%d build %d)\n", + NAME, VERSION, RELEASE, PATCH, BUILD); + + setup(); + + if (!(flags & DFLT)) /* perturb the RNG */ + { + if (!(flags & SEED)) + rndm = (long)((unsigned)time(NULL)); + if (rndm < 0) + rndm += 2147483647; + Seed[0].value = rndm; + for (i=1; i <= QUERIES_PER_SET; i++) + { + Seed[0].value = NextRand(Seed[0].value); + Seed[i].value = Seed[0].value; + } + printf("-- using %ld as a seed to the RNG\n", rndm); + } + else + printf("-- using default substitutions\n"); + + if (flags & INIT) /* init stream with ifile */ + { + ifp = fopen(ifile, "r"); + OPEN_CHECK(ifp, ifile); + while (fgets(line, LINE_SIZE, ifp) != NULL) + fprintf(stdout, "%s", line); + } + + if (snum >= 0) + if (optind < ac) + for (i=optind; i < ac; i++) + { + char qname[10]; + sprintf(qname, "%d", SEQUENCE(snum, atoi(av[i]))); + qsub(qname, flags); + } + else + for (i=1; i <= QUERIES_PER_SET; i++) + { + char qname[10]; + sprintf(qname, "%d", SEQUENCE(snum, i)); + qsub(qname, flags); + } + else + if (optind < ac) + for (i=optind; i < ac; i++) + qsub(av[i], flags); + else + for (i=1; i <= QUERIES_PER_SET; i++) + { + char qname[10]; + sprintf(qname, "%d", i); + qsub(qname, flags); + } + + if (flags & TERMINATE) /* terminate stream with tfile */ + { + ifp = fopen(tfile, "r"); + if (ifp == NULL) + OPEN_CHECK(ifp, tfile); + while (fgets(line, LINE_SIZE, ifp) != NULL) + fprintf(stdout, "%s", line); + } + + return(0); +} + diff --git a/tpch/00_compile_tpch/dbgen/qgen.o b/tpch/00_compile_tpch/dbgen/qgen.o new file mode 100644 index 0000000..3a6d0b1 Binary files /dev/null and b/tpch/00_compile_tpch/dbgen/qgen.o differ diff --git a/tpch/00_compile_tpch/dbgen/qgen.vcproj b/tpch/00_compile_tpch/dbgen/qgen.vcproj new file mode 100644 index 0000000..da67844 --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/qgen.vcproj @@ -0,0 +1,265 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tpch/00_compile_tpch/dbgen/queries/1.sql b/tpch/00_compile_tpch/dbgen/queries/1.sql new file mode 100644 index 0000000..5ba43bf --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/queries/1.sql @@ -0,0 +1,29 @@ +--begin q01 +-- $ID$ +-- TPC-H/TPC-R Pricing Summary Report Query (Q1) +-- Functional Query Definition +-- Approved February 1998 +:x +:o +select + l_returnflag, + l_linestatus, + sum(l_quantity) as sum_qty, + sum(l_extendedprice) as sum_base_price, + sum(l_extendedprice * (1 - l_discount)) as sum_disc_price, + sum(l_extendedprice * (1 - l_discount) * (1 + l_tax)) as sum_charge, + avg(l_quantity) as avg_qty, + avg(l_extendedprice) as avg_price, + avg(l_discount) as avg_disc, + count(*) as count_order +from + tpch.lineitem +where + l_shipdate <= ADD_DAYS(DATE '2000-02-28', -:1) +group by + l_returnflag, + l_linestatus +order by + l_returnflag, + l_linestatus; +--end q01 diff --git a/tpch/00_compile_tpch/dbgen/queries/10.sql b/tpch/00_compile_tpch/dbgen/queries/10.sql new file mode 100644 index 0000000..2528417 --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/queries/10.sql @@ -0,0 +1,40 @@ +--begin q10 +-- $ID$ +-- TPC-H/TPC-R Returned Item Reporting Query (Q10) +-- Functional Query Definition +-- Approved February 1998 +:x +:o +select + c_custkey, + c_name, + sum(l_extendedprice * (1 - l_discount)) as revenue, + c_acctbal, + n_name, + c_address, + c_phone, + c_comment +from + tpch.customer, + tpch.orders, + tpch.lineitem, + tpch.nation +where + c_custkey = o_custkey + and l_orderkey = o_orderkey + and o_orderdate >= date ':1' + and o_orderdate < ADD_MONTHS(date ':1', 3) + and l_returnflag = 'R' + and c_nationkey = n_nationkey +group by + c_custkey, + c_name, + c_acctbal, + c_phone, + n_name, + c_address, + c_comment +order by + revenue desc; +:n 20; +--end q10 diff --git a/tpch/00_compile_tpch/dbgen/queries/11.sql b/tpch/00_compile_tpch/dbgen/queries/11.sql new file mode 100644 index 0000000..063ecb1 --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/queries/11.sql @@ -0,0 +1,35 @@ +--begin q11 +-- $ID$ +-- TPC-H/TPC-R Important Stock Identification Query (Q11) +-- Functional Query Definition +-- Approved February 1998 +:x +:o +select + ps_partkey, + sum(ps_supplycost * ps_availqty) as val +from + tpch.partsupp, + tpch.supplier, + tpch.nation +where + ps_suppkey = s_suppkey + and s_nationkey = n_nationkey + and n_name = ':1' +group by + ps_partkey having + sum(ps_supplycost * ps_availqty) > ( + select + sum(ps_supplycost * ps_availqty) * :2 + from + tpch.partsupp, + tpch.supplier, + tpch.nation + where + ps_suppkey = s_suppkey + and s_nationkey = n_nationkey + and n_name = ':1' + ) +order by + val desc; +--end q11 \ No newline at end of file diff --git a/tpch/00_compile_tpch/dbgen/queries/12.sql b/tpch/00_compile_tpch/dbgen/queries/12.sql new file mode 100644 index 0000000..82c823c --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/queries/12.sql @@ -0,0 +1,36 @@ +--begin q12 +-- $ID$ +-- TPC-H/TPC-R Shipping Modes and Order Priority Query (Q12) +-- Functional Query Definition +-- Approved February 1998 +:x +:o +select + l_shipmode, + sum(case + when o_orderpriority = '1-URGENT' + or o_orderpriority = '2-HIGH' + then 1 + else 0 + end) as high_line_count, + sum(case + when o_orderpriority <> '1-URGENT' + and o_orderpriority <> '2-HIGH' + then 1 + else 0 + end) as low_line_count +from + tpch.orders, + tpch.lineitem +where + o_orderkey = l_orderkey + and l_shipmode in (':1', ':2') + and l_commitdate < l_receiptdate + and l_shipdate < l_commitdate + and l_receiptdate >= date ':3' + and l_receiptdate < ADD_YEARS(DATE ':3', 1) +group by + l_shipmode +order by + l_shipmode; +--end q12 \ No newline at end of file diff --git a/tpch/00_compile_tpch/dbgen/queries/13.sql b/tpch/00_compile_tpch/dbgen/queries/13.sql new file mode 100644 index 0000000..9ac072c --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/queries/13.sql @@ -0,0 +1,28 @@ +--begin q13 +-- $ID$ +-- TPC-H/TPC-R Customer Distribution Query (Q13) +-- Functional Query Definition +-- Approved February 1998 +:x +:o +select + c_count, + count(*) as custdist +from + ( + select + c_custkey, + count(o_orderkey) + from + tpch.customer left outer join tpch.orders on + c_custkey = o_custkey + and o_comment not like '%:1%:2%' + group by + c_custkey + ) as c_orders (c_custkey, c_count) +group by + c_count +order by + custdist desc, + c_count desc; +--end q13 \ No newline at end of file diff --git a/tpch/00_compile_tpch/dbgen/queries/14.sql b/tpch/00_compile_tpch/dbgen/queries/14.sql new file mode 100644 index 0000000..7802744 --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/queries/14.sql @@ -0,0 +1,21 @@ +--begin q14 +-- $ID$ +-- TPC-H/TPC-R Promotion Effect Query (Q14) +-- Functional Query Definition +-- Approved February 1998 +:x +:o +select + 100.00 * sum(case + when p_type like 'PROMO%' + then l_extendedprice * (1 - l_discount) + else 0 + end) / sum(l_extendedprice * (1 - l_discount)) as promo_revenue +from + tpch.lineitem, + tpch.part +where + l_partkey = p_partkey + and l_shipdate >= date ':1' + and l_shipdate < ADD_MONTHS(date ':1', 1); +--end q14 \ No newline at end of file diff --git a/tpch/00_compile_tpch/dbgen/queries/15.sql b/tpch/00_compile_tpch/dbgen/queries/15.sql new file mode 100644 index 0000000..7e61da9 --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/queries/15.sql @@ -0,0 +1,38 @@ +--begin q15 +-- $ID$ +-- TPC-H/TPC-R Top Supplier Query (Q15) +-- Variant A +-- Approved February 1998 +:x +:o +with revenue (supplier_no, total_revenue) as ( + select + l_suppkey, + sum(l_extendedprice * (1-l_discount)) + from + tpch.lineitem + where + l_shipdate >= date ':1' + and l_shipdate < ADD_MONTHS(date':1', 3) + group by + l_suppkey +) +select + s_suppkey, + s_name, + s_address, + s_phone, + total_revenue +from + tpch.supplier, + revenue +where + s_suppkey = supplier_no + and total_revenue = ( + select + max(total_revenue) + from + revenue + ) +order by + s_suppkey; diff --git a/tpch/00_compile_tpch/dbgen/queries/16.sql b/tpch/00_compile_tpch/dbgen/queries/16.sql new file mode 100644 index 0000000..d43710e --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/queries/16.sql @@ -0,0 +1,38 @@ +--begin q16 +-- $ID$ +-- TPC-H/TPC-R Parts/Supplier Relationship Query (Q16) +-- Functional Query Definition +-- Approved February 1998 +:x +:o +select + p_brand, + p_type, + p_size, + count(distinct ps_suppkey) as supplier_cnt +from + tpch.partsupp, + tpch.part +where + p_partkey = ps_partkey + and p_brand <> ':1' + and p_type not like ':2%' + and p_size in (:3, :4, :5, :6, :7, :8, :9, :10) + and ps_suppkey not in ( + select + s_suppkey + from + tpch.supplier + where + s_comment like '%Customer%Complaints%' + ) +group by + p_brand, + p_type, + p_size +order by + supplier_cnt desc, + p_brand, + p_type, + p_size; +--end q16 \ No newline at end of file diff --git a/tpch/00_compile_tpch/dbgen/queries/17.sql b/tpch/00_compile_tpch/dbgen/queries/17.sql new file mode 100644 index 0000000..ac37283 --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/queries/17.sql @@ -0,0 +1,25 @@ +--begin q17 +-- $ID$ +-- TPC-H/TPC-R Small-Quantity-Order Revenue Query (Q17) +-- Functional Query Definition +-- Approved February 1998 +:x +:o +select + sum(l_extendedprice) / 7.0 as avg_yearly +from + tpch.lineitem, + tpch.part +where + p_partkey = l_partkey + and p_brand = ':1' + and p_container = ':2' + and l_quantity < ( + select + 0.2 * avg(l_quantity) + from + tpch.lineitem + where + l_partkey = p_partkey + ); +--end q17 \ No newline at end of file diff --git a/tpch/00_compile_tpch/dbgen/queries/18.sql b/tpch/00_compile_tpch/dbgen/queries/18.sql new file mode 100644 index 0000000..6e1f992 --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/queries/18.sql @@ -0,0 +1,41 @@ +--begin q18 +-- $ID$ +-- TPC-H/TPC-R Large Volume Customer Query (Q18) +-- Function Query Definition +-- Approved February 1998 +:x +:o +select + c_name, + c_custkey, + o_orderkey, + o_orderdate, + o_totalprice, + sum(l_quantity) +from + tpch.customer, + tpch.orders, + tpch.lineitem +where + o_orderkey in ( + select + l_orderkey + from + tpch.lineitem + group by + l_orderkey having + sum(l_quantity) > :1 + ) + and c_custkey = o_custkey + and o_orderkey = l_orderkey +group by + c_name, + c_custkey, + o_orderkey, + o_orderdate, + o_totalprice +order by + o_totalprice desc, + o_orderdate; +:n 100; +--end q18 diff --git a/tpch/00_compile_tpch/dbgen/queries/19.sql b/tpch/00_compile_tpch/dbgen/queries/19.sql new file mode 100644 index 0000000..9120bd5 --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/queries/19.sql @@ -0,0 +1,43 @@ +--begin q19 +-- $ID$ +-- TPC-H/TPC-R Discounted Revenue Query (Q19) +-- Functional Query Definition +-- Approved February 1998 +:x +:o +select + sum(l_extendedprice* (1 - l_discount)) as revenue +from + tpch.lineitem, + tpch.part +where + ( + p_partkey = l_partkey + and p_brand = ':1' + and p_container in ('SM CASE', 'SM BOX', 'SM PACK', 'SM PKG') + and l_quantity >= :4 and l_quantity <= :4 + 10 + and p_size between 1 and 5 + and l_shipmode in ('AIR', 'AIR REG') + and l_shipinstruct = 'DELIVER IN PERSON' + ) + or + ( + p_partkey = l_partkey + and p_brand = ':2' + and p_container in ('MED BAG', 'MED BOX', 'MED PKG', 'MED PACK') + and l_quantity >= :5 and l_quantity <= :5 + 10 + and p_size between 1 and 10 + and l_shipmode in ('AIR', 'AIR REG') + and l_shipinstruct = 'DELIVER IN PERSON' + ) + or + ( + p_partkey = l_partkey + and p_brand = ':3' + and p_container in ('LG CASE', 'LG BOX', 'LG PACK', 'LG PKG') + and l_quantity >= :6 and l_quantity <= :6 + 10 + and p_size between 1 and 15 + and l_shipmode in ('AIR', 'AIR REG') + and l_shipinstruct = 'DELIVER IN PERSON' + ); +--end q19 \ No newline at end of file diff --git a/tpch/00_compile_tpch/dbgen/queries/2.sql b/tpch/00_compile_tpch/dbgen/queries/2.sql new file mode 100644 index 0000000..eaf9164 --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/queries/2.sql @@ -0,0 +1,52 @@ +--begin q02 +-- $ID$ +-- TPC-H/TPC-R Minimum Cost Supplier Query (Q2) +-- Functional Query Definition +-- Approved February 1998 +:x +:o +select + s_acctbal, + s_name, + n_name, + p_partkey, + p_mfgr, + s_address, + s_phone, + s_comment +from + tpch.part, + tpch.supplier, + tpch.partsupp, + tpch.nation, + tpch.region +where + p_partkey = ps_partkey + and s_suppkey = ps_suppkey + and p_size = :1 + and p_type like '%:2' + and s_nationkey = n_nationkey + and n_regionkey = r_regionkey + and r_name = ':3' + and ps_supplycost = ( + select + min(ps_supplycost) + from + tpch.partsupp, + tpch.supplier, + tpch.nation, + tpch.region + where + p_partkey = ps_partkey + and s_suppkey = ps_suppkey + and s_nationkey = n_nationkey + and n_regionkey = r_regionkey + and r_name = ':3' + ) +order by + s_acctbal desc, + n_name, + s_name, + p_partkey; +:n 100; +--end q02 diff --git a/tpch/00_compile_tpch/dbgen/queries/20.sql b/tpch/00_compile_tpch/dbgen/queries/20.sql new file mode 100644 index 0000000..5c78c0d --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/queries/20.sql @@ -0,0 +1,45 @@ +--begin q20 +-- $ID$ +-- TPC-H/TPC-R Potential Part Promotion Query (Q20) +-- Function Query Definition +-- Approved February 1998 +:x +:o +select + s_name, + s_address +from + tpch.supplier, + tpch.nation +where + s_suppkey in ( + select + ps_suppkey + from + tpch.partsupp + where + ps_partkey in ( + select + p_partkey + from + tpch.part + where + p_name like ':1%' + ) + and ps_availqty > ( + select + 0.5 * sum(l_quantity) + from + tpch.lineitem + where + l_partkey = ps_partkey + and l_suppkey = ps_suppkey + and l_shipdate >= date ':2' + and l_shipdate < ADD_YEARS(date ':2', 1) + ) + ) + and s_nationkey = n_nationkey + and n_name = ':3' +order by + s_name; +--end q20 \ No newline at end of file diff --git a/tpch/00_compile_tpch/dbgen/queries/21.sql b/tpch/00_compile_tpch/dbgen/queries/21.sql new file mode 100644 index 0000000..c31190f --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/queries/21.sql @@ -0,0 +1,48 @@ +--begin q21 +-- $ID$ +-- TPC-H/TPC-R Suppliers Who Kept Orders Waiting Query (Q21) +-- Functional Query Definition +-- Approved February 1998 +:x +:o +select + s_name, + count(*) as numwait +from + tpch.supplier, + tpch.lineitem l1, + tpch.orders, + tpch.nation +where + s_suppkey = l1.l_suppkey + and o_orderkey = l1.l_orderkey + and o_orderstatus = 'F' + and l1.l_receiptdate > l1.l_commitdate + and exists ( + select + * + from + tpch.lineitem l2 + where + l2.l_orderkey = l1.l_orderkey + and l2.l_suppkey <> l1.l_suppkey + ) + and not exists ( + select + * + from + tpch.lineitem l3 + where + l3.l_orderkey = l1.l_orderkey + and l3.l_suppkey <> l1.l_suppkey + and l3.l_receiptdate > l3.l_commitdate + ) + and s_nationkey = n_nationkey + and n_name = ':1' +group by + s_name +order by + numwait desc, + s_name; +:n 100; +--end q21 diff --git a/tpch/00_compile_tpch/dbgen/queries/22.sql b/tpch/00_compile_tpch/dbgen/queries/22.sql new file mode 100644 index 0000000..c5f9fc2 --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/queries/22.sql @@ -0,0 +1,45 @@ +--begin q22 +-- $ID$ +-- TPC-H/TPC-R Global Sales Opportunity Query (Q22) +-- Functional Query Definition +-- Approved February 1998 +:x +:o +select + cntrycode, + count(*) as numcust, + sum(c_acctbal) as totacctbal +from + ( + select + substring(c_phone from 1 for 2) as cntrycode, + c_acctbal + from + tpch.customer + where + substring(c_phone from 1 for 2) in + (':1', ':2', ':3', ':4', ':5', ':6', ':7') + and c_acctbal > ( + select + avg(c_acctbal) + from + tpch.customer + where + c_acctbal > 0.00 + and substring(c_phone from 1 for 2) in + (':1', ':2', ':3', ':4', ':5', ':6', ':7') + ) + and not exists ( + select + * + from + tpch.orders + where + o_custkey = c_custkey + ) + ) as custsale +group by + cntrycode +order by + cntrycode; +--end q22 \ No newline at end of file diff --git a/tpch/00_compile_tpch/dbgen/queries/3.sql b/tpch/00_compile_tpch/dbgen/queries/3.sql new file mode 100644 index 0000000..8bb431a --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/queries/3.sql @@ -0,0 +1,31 @@ +--begin q03 +-- $ID$ +-- TPC-H/TPC-R Shipping Priority Query (Q3) +-- Functional Query Definition +-- Approved February 1998 +:x +:o +select + l_orderkey, + sum(l_extendedprice * (1 - l_discount)) as revenue, + o_orderdate, + o_shippriority +from + tpch.customer, + tpch.orders, + tpch.lineitem +where + c_mktsegment = ':1' + and c_custkey = o_custkey + and l_orderkey = o_orderkey + and o_orderdate < date ':2' + and l_shipdate > date ':2' +group by + l_orderkey, + o_orderdate, + o_shippriority +order by + revenue desc, + o_orderdate; +:n 10; +--end q03 diff --git a/tpch/00_compile_tpch/dbgen/queries/4.sql b/tpch/00_compile_tpch/dbgen/queries/4.sql new file mode 100644 index 0000000..5b4585e --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/queries/4.sql @@ -0,0 +1,29 @@ +--begin q04 +-- $ID$ +-- TPC-H/TPC-R Order Priority Checking Query (Q4) +-- Functional Query Definition +-- Approved February 1998 +:x +:o +select + o_orderpriority, + count(*) as order_count +from + tpch.orders +where + o_orderdate >= date ':1' + and o_orderdate < ADD_MONTHS(date ':1', 3) + and exists ( + select + * + from + tpch.lineitem + where + l_orderkey = o_orderkey + and l_commitdate < l_receiptdate + ) +group by + o_orderpriority +order by + o_orderpriority; +--end q04 diff --git a/tpch/00_compile_tpch/dbgen/queries/5.sql b/tpch/00_compile_tpch/dbgen/queries/5.sql new file mode 100644 index 0000000..6279cb5 --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/queries/5.sql @@ -0,0 +1,32 @@ +--begin q05 +-- $ID$ +-- TPC-H/TPC-R Local Supplier Volume Query (Q5) +-- Functional Query Definition +-- Approved February 1998 +:x +:o +select + n_name, + sum(l_extendedprice * (1 - l_discount)) as revenue +from + tpch.customer, + tpch.orders, + tpch.lineitem, + tpch.supplier, + tpch.nation, + tpch.region +where + c_custkey = o_custkey + and l_orderkey = o_orderkey + and l_suppkey = s_suppkey + and c_nationkey = s_nationkey + and s_nationkey = n_nationkey + and n_regionkey = r_regionkey + and r_name = ':1' + and o_orderdate >= date ':2' + and o_orderdate < ADD_YEARS(date ':2', 1) +group by + n_name +order by + revenue desc; +--end q05 \ No newline at end of file diff --git a/tpch/00_compile_tpch/dbgen/queries/6.sql b/tpch/00_compile_tpch/dbgen/queries/6.sql new file mode 100644 index 0000000..de7fcdd --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/queries/6.sql @@ -0,0 +1,17 @@ +--begin q06 +-- $ID$ +-- TPC-H/TPC-R Forecasting Revenue Change Query (Q6) +-- Functional Query Definition +-- Approved February 1998 +:x +:o +select + sum(l_extendedprice * l_discount) as revenue +from + tpch.lineitem +where + l_shipdate >= date ':1' + and l_shipdate < ADD_YEARS(date ':1', 1) + and l_discount between :2 - 0.01 and :2 + 0.01 + and l_quantity < :3; +--end q06 \ No newline at end of file diff --git a/tpch/00_compile_tpch/dbgen/queries/7.sql b/tpch/00_compile_tpch/dbgen/queries/7.sql new file mode 100644 index 0000000..28d5de2 --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/queries/7.sql @@ -0,0 +1,47 @@ +--begin q07 +-- $ID$ +-- TPC-H/TPC-R Volume Shipping Query (Q7) +-- Functional Query Definition +-- Approved February 1998 +:x +:o +select + supp_nation, + cust_nation, + l_year, + sum(volume) as revenue +from + ( + select + n1.n_name as supp_nation, + n2.n_name as cust_nation, + extract(year from l_shipdate) as l_year, + l_extendedprice * (1 - l_discount) as volume + from + tpch.supplier, + tpch.lineitem, + tpch.orders, + tpch.customer, + tpch.nation n1, + tpch.nation n2 + where + s_suppkey = l_suppkey + and o_orderkey = l_orderkey + and c_custkey = o_custkey + and s_nationkey = n1.n_nationkey + and c_nationkey = n2.n_nationkey + and ( + (n1.n_name = ':1' and n2.n_name = ':2') + or (n1.n_name = ':2' and n2.n_name = ':1') + ) + and l_shipdate between date '1995-01-01' and date '1996-12-31' + ) as shipping +group by + supp_nation, + cust_nation, + l_year +order by + supp_nation, + cust_nation, + l_year; +--end q07 \ No newline at end of file diff --git a/tpch/00_compile_tpch/dbgen/queries/8.sql b/tpch/00_compile_tpch/dbgen/queries/8.sql new file mode 100644 index 0000000..dca20be --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/queries/8.sql @@ -0,0 +1,45 @@ +--begin q08 +-- $ID$ +-- TPC-H/TPC-R National Market Share Query (Q8) +-- Functional Query Definition +-- Approved February 1998 +:x +:o +select + o_year, + sum(case + when nation = ':1' then volume + else 0 + end) / sum(volume) as mkt_share +from + ( + select + extract(year from o_orderdate) as o_year, + l_extendedprice * (1 - l_discount) as volume, + n2.n_name as nation + from + tpch.part, + tpch.supplier, + tpch.lineitem, + tpch.orders, + tpch.customer, + tpch.nation n1, + tpch.nation n2, + tpch.region + where + p_partkey = l_partkey + and s_suppkey = l_suppkey + and l_orderkey = o_orderkey + and o_custkey = c_custkey + and c_nationkey = n1.n_nationkey + and n1.n_regionkey = r_regionkey + and r_name = ':2' + and s_nationkey = n2.n_nationkey + and o_orderdate between date '1995-01-01' and date '1996-12-31' + and p_type = ':3' + ) as all_nations +group by + o_year +order by + o_year; +--end q08 diff --git a/tpch/00_compile_tpch/dbgen/queries/9.sql b/tpch/00_compile_tpch/dbgen/queries/9.sql new file mode 100644 index 0000000..9b018a1 --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/queries/9.sql @@ -0,0 +1,40 @@ +--begin q09 +-- $ID$ +-- TPC-H/TPC-R Product Type Profit Measure Query (Q9) +-- Functional Query Definition +-- Approved February 1998 +:x +:o +select + nation, + o_year, + sum(amount) as sum_profit +from + ( + select + n_name as nation, + extract(year from o_orderdate) as o_year, + l_extendedprice * (1 - l_discount) - ps_supplycost * l_quantity as amount + from + tpch.part, + tpch.supplier, + tpch.lineitem, + tpch.partsupp, + tpch.orders, + tpch.nation + where + s_suppkey = l_suppkey + and ps_suppkey = l_suppkey + and ps_partkey = l_partkey + and p_partkey = l_partkey + and o_orderkey = l_orderkey + and s_nationkey = n_nationkey + and p_name like '%:1%' + ) as profit +group by + nation, + o_year +order by + nation, + o_year desc; +--end q09 diff --git a/tpch/00_compile_tpch/dbgen/queries/cratedb/1.sql b/tpch/00_compile_tpch/dbgen/queries/cratedb/1.sql new file mode 100644 index 0000000..b8c2c8d --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/queries/cratedb/1.sql @@ -0,0 +1,22 @@ +select + l_returnflag, + l_linestatus, + sum(l_quantity) as sum_qty, + sum(l_extendedprice) as sum_base_price, + sum(l_extendedprice * (1 - l_discount)) as sum_disc_price, + sum(l_extendedprice * (1 - l_discount) * (1 + l_tax)) as sum_charge, + avg(l_quantity) as avg_qty, + avg(l_extendedprice) as avg_price, + avg(l_discount) as avg_disc, + count(*) as count_order +from + tpch.lineitem +where + l_shipdate <= '1998-12-01'::timestamp - '90 day'::interval +group by + l_returnflag, + l_linestatus +order by + l_returnflag, + l_linestatus; + diff --git a/tpch/00_compile_tpch/dbgen/queries/cratedb/10.sql b/tpch/00_compile_tpch/dbgen/queries/cratedb/10.sql new file mode 100644 index 0000000..dbfceb1 --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/queries/cratedb/10.sql @@ -0,0 +1,31 @@ +select + c_custkey, + c_name, + sum(l_extendedprice * (1 - l_discount)) as revenue, + c_acctbal, + n_name, + c_address, + c_phone, + c_comment +from + tpch.customer, + tpch.orders, + tpch.lineitem, + tpch.nation +where + c_custkey = o_custkey + and l_orderkey = o_orderkey + and o_orderdate >= ':1'::timestamp + and o_orderdate < ':1'::timestamp + '3 month'::interval + and l_returnflag = 'R' + and c_nationkey = n_nationkey +group by + c_custkey, + c_name, + c_acctbal, + c_phone, + n_name, + c_address, + c_comment +order by + revenue desc; diff --git a/tpch/00_compile_tpch/dbgen/queries/cratedb/11.sql b/tpch/00_compile_tpch/dbgen/queries/cratedb/11.sql new file mode 100644 index 0000000..76a9a47 --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/queries/cratedb/11.sql @@ -0,0 +1,27 @@ +select + ps_partkey, + sum(ps_supplycost * ps_availqty) as value +from + tpch.partsupp, + tpch.supplier, + tpch.nation +where + ps_suppkey = s_suppkey + and s_nationkey = n_nationkey + and n_name = ':1' +group by + ps_partkey having + sum(ps_supplycost * ps_availqty) > ( + select + sum(ps_supplycost * ps_availqty) * :2 + from + tpch.partsupp, + tpch.supplier, + tpch.nation + where + ps_suppkey = s_suppkey + and s_nationkey = n_nationkey + and n_name = ':1' + ) +order by + value desc; diff --git a/tpch/00_compile_tpch/dbgen/queries/cratedb/12.sql b/tpch/00_compile_tpch/dbgen/queries/cratedb/12.sql new file mode 100644 index 0000000..9163c27 --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/queries/cratedb/12.sql @@ -0,0 +1,28 @@ +select + l_shipmode, + sum(case + when o_orderpriority = '1-URGENT' + or o_orderpriority = '2-HIGH' + then 1 + else 0 + end) as high_line_count, + sum(case + when o_orderpriority <> '1-URGENT' + and o_orderpriority <> '2-HIGH' + then 1 + else 0 + end) as low_line_count +from + tpch.orders, + tpch.lineitem +where + o_orderkey = l_orderkey + and l_shipmode in (':1', ':2') + and l_commitdate < l_receiptdate + and l_shipdate < l_commitdate + and l_receiptdate >= ':3'::timestamp + and l_receiptdate < ':3'::timestamp + '1 year'::interval +group by + l_shipmode +order by + l_shipmode; diff --git a/tpch/00_compile_tpch/dbgen/queries/cratedb/13.sql b/tpch/00_compile_tpch/dbgen/queries/cratedb/13.sql new file mode 100644 index 0000000..00a8ad3 --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/queries/cratedb/13.sql @@ -0,0 +1,20 @@ +select + c_count, + count(*) as custdist +from + ( + select + c_custkey, + count(o_orderkey) + from + tpch.customer left outer join tpch.orders on + c_custkey = o_custkey + and o_comment not like '%:1%:2%' + group by + c_custkey + ) as c_orders (c_custkey, c_count) +group by + c_count +order by + custdist desc, + c_count desc; diff --git a/tpch/00_compile_tpch/dbgen/queries/cratedb/14.sql b/tpch/00_compile_tpch/dbgen/queries/cratedb/14.sql new file mode 100644 index 0000000..ff22344 --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/queries/cratedb/14.sql @@ -0,0 +1,13 @@ +select + 100.00 * sum(case + when p_type like 'PROMO%' + then l_extendedprice * (1 - l_discount) + else 0 + end) / sum(l_extendedprice * (1 - l_discount)) as promo_revenue +from + tpch.lineitem, + tpch.part +where + l_partkey = p_partkey + and l_shipdate >= ':1'::timestamp + and l_shipdate < ':1'::timestamp + '1 month'::interval; diff --git a/tpch/00_compile_tpch/dbgen/queries/cratedb/15.sql b/tpch/00_compile_tpch/dbgen/queries/cratedb/15.sql new file mode 100644 index 0000000..2d35cbd --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/queries/cratedb/15.sql @@ -0,0 +1,11 @@ +create view tpch.revenue:s as + select + l_suppkey as supplier_no, + sum(l_extendedprice * (1 - l_discount)) as total_revenue + from + tpch.lineitem + where + l_shipdate >= ':1'::timestamp + and l_shipdate < ':1'::timestamp + '3 month'::interval + group by + l_suppkey; diff --git a/tpch/00_compile_tpch/dbgen/queries/cratedb/16.sql b/tpch/00_compile_tpch/dbgen/queries/cratedb/16.sql new file mode 100644 index 0000000..0f31da5 --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/queries/cratedb/16.sql @@ -0,0 +1,30 @@ +select + p_brand, + p_type, + p_size, + count(distinct ps_suppkey) as supplier_cnt +from + tpch.partsupp, + tpch.part +where + p_partkey = ps_partkey + and p_brand <> ':1' + and p_type not like ':2%' + and p_size in (:3, :4, :5, :6, :7, :8, :9, :10) + and ps_suppkey not in ( + select + s_suppkey + from + tpch.supplier + where + s_comment like '%Customer%Complaints%' + ) +group by + p_brand, + p_type, + p_size +order by + supplier_cnt desc, + p_brand, + p_type, + p_size; diff --git a/tpch/00_compile_tpch/dbgen/queries/cratedb/17.sql b/tpch/00_compile_tpch/dbgen/queries/cratedb/17.sql new file mode 100644 index 0000000..4f61e72 --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/queries/cratedb/17.sql @@ -0,0 +1,17 @@ +select + sum(l_extendedprice) / 7.0 as avg_yearly +from + tpch.lineitem, + tpch.part +where + p_partkey = l_partkey + and p_brand = ':1' + and p_container = ':2' + and l_quantity < ( + select + 0.2 * avg(l_quantity) + from + tpch.lineitem + where + l_partkey = p_partkey + ); diff --git a/tpch/00_compile_tpch/dbgen/queries/cratedb/18.sql b/tpch/00_compile_tpch/dbgen/queries/cratedb/18.sql new file mode 100644 index 0000000..bd575aa --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/queries/cratedb/18.sql @@ -0,0 +1,32 @@ +select + c_name, + c_custkey, + o_orderkey, + o_orderdate, + o_totalprice, + sum(l_quantity) +from + tpch.customer, + tpch.orders, + tpch.lineitem +where + o_orderkey in ( + select + l_orderkey + from + tpch.lineitem + group by + l_orderkey having + sum(l_quantity) > :1 + ) + and c_custkey = o_custkey + and o_orderkey = l_orderkey +group by + c_name, + c_custkey, + o_orderkey, + o_orderdate, + o_totalprice +order by + o_totalprice desc, + o_orderdate; diff --git a/tpch/00_compile_tpch/dbgen/queries/cratedb/19.sql b/tpch/00_compile_tpch/dbgen/queries/cratedb/19.sql new file mode 100644 index 0000000..d801355 --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/queries/cratedb/19.sql @@ -0,0 +1,35 @@ +select + sum(l_extendedprice* (1 - l_discount)) as revenue +from + tpch.lineitem, + tpch.part +where + ( + p_partkey = l_partkey + and p_brand = ':1' + and p_container in ('SM CASE', 'SM BOX', 'SM PACK', 'SM PKG') + and l_quantity >= :4 and l_quantity <= :4 + 10 + and p_size between 1 and 5 + and l_shipmode in ('AIR', 'AIR REG') + and l_shipinstruct = 'DELIVER IN PERSON' + ) + or + ( + p_partkey = l_partkey + and p_brand = ':2' + and p_container in ('MED BAG', 'MED BOX', 'MED PKG', 'MED PACK') + and l_quantity >= :5 and l_quantity <= :5 + 10 + and p_size between 1 and 10 + and l_shipmode in ('AIR', 'AIR REG') + and l_shipinstruct = 'DELIVER IN PERSON' + ) + or + ( + p_partkey = l_partkey + and p_brand = ':3' + and p_container in ('LG CASE', 'LG BOX', 'LG PACK', 'LG PKG') + and l_quantity >= :6 and l_quantity <= :6 + 10 + and p_size between 1 and 15 + and l_shipmode in ('AIR', 'AIR REG') + and l_shipinstruct = 'DELIVER IN PERSON' + ); diff --git a/tpch/00_compile_tpch/dbgen/queries/cratedb/2.sql b/tpch/00_compile_tpch/dbgen/queries/cratedb/2.sql new file mode 100644 index 0000000..0ebe4d6 --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/queries/cratedb/2.sql @@ -0,0 +1,43 @@ +select + s_acctbal, + s_name, + n_name, + p_partkey, + p_mfgr, + s_address, + s_phone, + s_comment +from + tpch.part, + tpch.supplier, + tpch.partsupp, + tpch.nation, + tpch.region +where + p_partkey = ps_partkey + and s_suppkey = ps_suppkey + and p_size = :1 + and p_type like '%:2' + and s_nationkey = n_nationkey + and n_regionkey = r_regionkey + and r_name = ':3' + and ps_supplycost = ( + select + min(ps_supplycost) + from + tpch.partsupp, + tpch.supplier, + tpch.nation, + tpch.region + where + p_partkey = ps_partkey + and s_suppkey = ps_suppkey + and s_nationkey = n_nationkey + and n_regionkey = r_regionkey + and r_name = ':3' + ) +order by + s_acctbal desc, + n_name, + s_name, + p_partkey; diff --git a/tpch/00_compile_tpch/dbgen/queries/cratedb/20.sql b/tpch/00_compile_tpch/dbgen/queries/cratedb/20.sql new file mode 100644 index 0000000..bd71acb --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/queries/cratedb/20.sql @@ -0,0 +1,37 @@ +select + s_name, + s_address +from + tpch.supplier, + tpch.nation +where + s_suppkey in ( + select + ps_suppkey + from + tpch.partsupp + where + ps_partkey in ( + select + p_partkey + from + tpch.part + where + p_name like ':1%' + ) + and ps_availqty > ( + select + 0.5 * sum(l_quantity) + from + tpch.lineitem + where + l_partkey = ps_partkey + and l_suppkey = ps_suppkey + and l_shipdate >= ':2'::timestamp + and l_shipdate < ':2'::timestamp + '1 year'::interval + ) + ) + and s_nationkey = n_nationkey + and n_name = ':3' +order by + s_name; diff --git a/tpch/00_compile_tpch/dbgen/queries/cratedb/21.sql b/tpch/00_compile_tpch/dbgen/queries/cratedb/21.sql new file mode 100644 index 0000000..4a05284 --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/queries/cratedb/21.sql @@ -0,0 +1,46 @@ +--begin q21 +-- $ID$ +-- TPC-H/TPC-R Suppliers Who Kept Orders Waiting Query (Q21) +-- Functional Query Definition +-- Approved February 1998 +:x +:o +select + s_name, + count(*) as numwait +from + tpch.supplier, + tpch.lineitem l1, + tpch.orders, + tpch.nation +where + s_suppkey = l1.l_suppkey + and o_orderkey = l1.l_orderkey + and o_orderstatus = 'F' + and l1.l_receiptdate > l1.l_commitdate + and exists ( + select + * + from + tpch.lineitem l2 + where + l2.l_orderkey = l1.l_orderkey + and l2.l_suppkey <> l1.l_suppkey + ) + and not exists ( + select + * + from + tpch.lineitem l3 + where + l3.l_orderkey = l1.l_orderkey + and l3.l_suppkey <> l1.l_suppkey + and l3.l_receiptdate > l3.l_commitdate + ) + and s_nationkey = n_nationkey + and n_name = ':1' +group by + s_name +order by + numwait desc, + s_name; diff --git a/tpch/00_compile_tpch/dbgen/queries/cratedb/22.sql b/tpch/00_compile_tpch/dbgen/queries/cratedb/22.sql new file mode 100644 index 0000000..3b102d3 --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/queries/cratedb/22.sql @@ -0,0 +1,35 @@ +select + cntrycode, + count(*) as numcust, + sum(c_acctbal) as totacctbal +from + ( + select + substring(c_phone from 1 for 2) as cntrycode, + c_acctbal + from + tpch.customer + where + substring(c_phone from 1 for 2) in + (':1', ':2', ':3', ':4', ':5', ':6', ':7') + and c_acctbal > ( + select + avg(c_acctbal) + from + tpch.customer + where + c_acctbal > 0.00 + and substring(c_phone from 1 for 2) in + (':1', ':2', ':3', ':4', ':5', ':6', ':7') + ) + and c_custkey not in ( + select + o_custkey + from + tpch.orders + ) + ) as custsale +group by + cntrycode +order by + cntrycode; diff --git a/tpch/00_compile_tpch/dbgen/queries/cratedb/3.sql b/tpch/00_compile_tpch/dbgen/queries/cratedb/3.sql new file mode 100644 index 0000000..bbf73fd --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/queries/cratedb/3.sql @@ -0,0 +1,22 @@ +select + l_orderkey, + sum(l_extendedprice * (1 - l_discount)) as revenue, + o_orderdate, + o_shippriority +from + tpch.customer, + tpch.orders, + tpch.lineitem +where + c_mktsegment = ':1' + and c_custkey = o_custkey + and l_orderkey = o_orderkey + and o_orderdate < ':2'::timestamp + and l_shipdate > ':2'::timestamp +group by + l_orderkey, + o_orderdate, + o_shippriority +order by + revenue desc, + o_orderdate; diff --git a/tpch/00_compile_tpch/dbgen/queries/cratedb/4.sql b/tpch/00_compile_tpch/dbgen/queries/cratedb/4.sql new file mode 100644 index 0000000..7435ed4 --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/queries/cratedb/4.sql @@ -0,0 +1,20 @@ +select + o_orderpriority, + count(*) as order_count +from + tpch.orders +where + o_orderdate >= ':1'::timestamp + and o_orderdate < ':1'::timestamp + '3 month'::interval + and o_orderkey in ( + select + l_orderkey + from + tpch.lineitem + where + l_commitdate < l_receiptdate + ) +group by + o_orderpriority +order by + o_orderpriority; diff --git a/tpch/00_compile_tpch/dbgen/queries/cratedb/5.sql b/tpch/00_compile_tpch/dbgen/queries/cratedb/5.sql new file mode 100644 index 0000000..9dfbe94 --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/queries/cratedb/5.sql @@ -0,0 +1,24 @@ +select + n_name, + sum(l_extendedprice * (1 - l_discount)) as revenue +from + tpch.customer, + tpch.orders, + tpch.lineitem, + tpch.supplier, + tpch.nation, + tpch.region +where + c_custkey = o_custkey + and l_orderkey = o_orderkey + and l_suppkey = s_suppkey + and c_nationkey = s_nationkey + and s_nationkey = n_nationkey + and n_regionkey = r_regionkey + and r_name = ':1' + and o_orderdate >= ':2'::timestamp + and o_orderdate < ':2'::timestamp + '1 year'::interval +group by + n_name +order by + revenue desc; diff --git a/tpch/00_compile_tpch/dbgen/queries/cratedb/6.sql b/tpch/00_compile_tpch/dbgen/queries/cratedb/6.sql new file mode 100644 index 0000000..d0283d2 --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/queries/cratedb/6.sql @@ -0,0 +1,10 @@ +select + sum(l_extendedprice * l_discount) as revenue +from + tpch.lineitem +where + l_shipdate >= ':1'::timestamp + and l_shipdate < ':1'::timestamp + '1 year'::interval + and l_discount between :2 - 0.01 and :2 + 0.01 + and l_quantity < :3 +limit 100; diff --git a/tpch/00_compile_tpch/dbgen/queries/cratedb/7.sql b/tpch/00_compile_tpch/dbgen/queries/cratedb/7.sql new file mode 100644 index 0000000..d6d14fe --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/queries/cratedb/7.sql @@ -0,0 +1,39 @@ +select + supp_nation, + cust_nation, + l_year, + sum(volume) as revenue +from + ( + select + n1.n_name as supp_nation, + n2.n_name as cust_nation, + extract(year from l_shipdate) as l_year, + l_extendedprice * (1 - l_discount) as volume + from + tpch.supplier, + tpch.lineitem, + tpch.orders, + tpch.customer, + tpch.nation n1, + tpch.nation n2 + where + s_suppkey = l_suppkey + and o_orderkey = l_orderkey + and c_custkey = o_custkey + and s_nationkey = n1.n_nationkey + and c_nationkey = n2.n_nationkey + and ( + (n1.n_name = ':1' and n2.n_name = ':2') + or (n1.n_name = ':2' and n2.n_name = ':1') + ) + and l_shipdate between '1995-01-01'::timestamp and '1996-12-31'::timestamp + ) as shipping +group by + supp_nation, + cust_nation, + l_year +order by + supp_nation, + cust_nation, + l_year; diff --git a/tpch/00_compile_tpch/dbgen/queries/cratedb/8.sql b/tpch/00_compile_tpch/dbgen/queries/cratedb/8.sql new file mode 100644 index 0000000..1d23213 --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/queries/cratedb/8.sql @@ -0,0 +1,37 @@ +select + o_year, + sum(case + when nation = ':1' then volume + else 0 + end) / sum(volume) as mkt_share +from + ( + select + extract(year from o_orderdate) as o_year, + l_extendedprice * (1 - l_discount) as volume, + n2.n_name as nation + from + tpch.part, + tpch.supplier, + tpch.lineitem, + tpch.orders, + tpch.customer, + tpch.nation n1, + tpch.nation n2, + tpch.region + where + p_partkey = l_partkey + and s_suppkey = l_suppkey + and l_orderkey = o_orderkey + and o_custkey = c_custkey + and c_nationkey = n1.n_nationkey + and n1.n_regionkey = r_regionkey + and r_name = ':2' + and s_nationkey = n2.n_nationkey + and o_orderdate between '1995-01-01'::timestamp and '1996-12-31'::timestamp + and p_type = ':3' + ) as all_nations +group by + o_year +order by + o_year; diff --git a/tpch/00_compile_tpch/dbgen/queries/cratedb/9.sql b/tpch/00_compile_tpch/dbgen/queries/cratedb/9.sql new file mode 100644 index 0000000..dca24fc --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/queries/cratedb/9.sql @@ -0,0 +1,32 @@ +select + nation, + o_year, + sum(amount) as sum_profit +from + ( + select + n_name as nation, + extract(year from o_orderdate) as o_year, + l_extendedprice * (1 - l_discount) - ps_supplycost * l_quantity as amount + from + tpch.part, + tpch.supplier, + tpch.lineitem, + tpch.partsupp, + tpch.orders, + tpch.nation + where + s_suppkey = l_suppkey + and ps_suppkey = l_suppkey + and ps_partkey = l_partkey + and p_partkey = l_partkey + and o_orderkey = l_orderkey + and s_nationkey = n_nationkey + and p_name like '%:1%' + ) as profit +group by + nation, + o_year +order by + nation, + o_year desc; diff --git a/tpch/00_compile_tpch/dbgen/queries/cratedb/full_15.sql b/tpch/00_compile_tpch/dbgen/queries/cratedb/full_15.sql new file mode 100644 index 0000000..2fe6175 --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/queries/cratedb/full_15.sql @@ -0,0 +1,33 @@ +create view revenue:s (tpch.supplier_no, tpch.total_revenue) as + select + l_suppkey, + sum(l_extendedprice * (1 - l_discount)) + from + tpch.lineitem + where + l_shipdate >= ':1'::timestamp + and l_shipdate < ':1'::timestamp + '3 month'::interval) + group by + l_suppkey; + +select + s_suppkey, + s_name, + s_address, + s_phone, + total_revenue +from + tpch.supplier, + revenue:s +where + s_suppkey = supplier_no + and total_revenue = ( + select + max(total_revenue) + from + revenue:s + ) +order by + s_suppkey; + +drop view revenue:s; diff --git a/tpch/00_compile_tpch/dbgen/queries/default/1.sql b/tpch/00_compile_tpch/dbgen/queries/default/1.sql new file mode 100644 index 0000000..190418c --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/queries/default/1.sql @@ -0,0 +1,29 @@ +--begin q01 +-- $ID$ +-- TPC-H/TPC-R Pricing Summary Report Query (Q1) +-- Functional Query Definition +-- Approved February 1998 +:x +:o +select + l_returnflag, + l_linestatus, + sum(l_quantity) as sum_qty, + sum(l_extendedprice) as sum_base_price, + sum(l_extendedprice * (1 - l_discount)) as sum_disc_price, + sum(l_extendedprice * (1 - l_discount) * (1 + l_tax)) as sum_charge, + avg(l_quantity) as avg_qty, + avg(l_extendedprice) as avg_price, + avg(l_discount) as avg_disc, + count(*) as count_order +from + lineitem +where + l_shipdate <= date '1998-12-01' - interval '90 days' +group by + l_returnflag, + l_linestatus +order by + l_returnflag, + l_linestatus; +--end q01 diff --git a/tpch/00_compile_tpch/dbgen/queries/default/10.sql b/tpch/00_compile_tpch/dbgen/queries/default/10.sql new file mode 100644 index 0000000..cd39a9f --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/queries/default/10.sql @@ -0,0 +1,40 @@ +--begin q10 +-- $ID$ +-- TPC-H/TPC-R Returned Item Reporting Query (Q10) +-- Functional Query Definition +-- Approved February 1998 +:x +:o +select + c_custkey, + c_name, + sum(l_extendedprice * (1 - l_discount)) as revenue, + c_acctbal, + n_name, + c_address, + c_phone, + c_comment +from + customer, + orders, + lineitem, + nation +where + c_custkey = o_custkey + and l_orderkey = o_orderkey + and o_orderdate >= date ':1' + and o_orderdate < date ':1' + interval '3 months' + and l_returnflag = 'R' + and c_nationkey = n_nationkey +group by + c_custkey, + c_name, + c_acctbal, + c_phone, + n_name, + c_address, + c_comment +order by + revenue desc +:n 20; +--end q10 diff --git a/tpch/00_compile_tpch/dbgen/queries/default/11.sql b/tpch/00_compile_tpch/dbgen/queries/default/11.sql new file mode 100644 index 0000000..d110d83 --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/queries/default/11.sql @@ -0,0 +1,35 @@ +--begin q11 +-- $ID$ +-- TPC-H/TPC-R Important Stock Identification Query (Q11) +-- Functional Query Definition +-- Approved February 1998 +:x +:o +select + ps_partkey, + sum(ps_supplycost * ps_availqty) as value +from + partsupp, + supplier, + nation +where + ps_suppkey = s_suppkey + and s_nationkey = n_nationkey + and n_name = ':1' +group by + ps_partkey having + sum(ps_supplycost * ps_availqty) > ( + select + sum(ps_supplycost * ps_availqty) * :2 + from + partsupp, + supplier, + nation + where + ps_suppkey = s_suppkey + and s_nationkey = n_nationkey + and n_name = ':1' + ) +order by + value desc; +--end q11 diff --git a/tpch/00_compile_tpch/dbgen/queries/default/12.sql b/tpch/00_compile_tpch/dbgen/queries/default/12.sql new file mode 100644 index 0000000..9af82f4 --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/queries/default/12.sql @@ -0,0 +1,36 @@ +--begin q12 +-- $ID$ +-- TPC-H/TPC-R Shipping Modes and Order Priority Query (Q12) +-- Functional Query Definition +-- Approved February 1998 +:x +:o +select + l_shipmode, + sum(case + when o_orderpriority = '1-URGENT' + or o_orderpriority = '2-HIGH' + then 1 + else 0 + end) as high_line_count, + sum(case + when o_orderpriority <> '1-URGENT' + and o_orderpriority <> '2-HIGH' + then 1 + else 0 + end) as low_line_count +from + orders, + lineitem +where + o_orderkey = l_orderkey + and l_shipmode in (':1', ':2') + and l_commitdate < l_receiptdate + and l_shipdate < l_commitdate + and l_receiptdate >= date ':3' + and l_receiptdate < date ':3' + interval '1 year' +group by + l_shipmode +order by + l_shipmode; +--end q12 diff --git a/tpch/00_compile_tpch/dbgen/queries/default/13.sql b/tpch/00_compile_tpch/dbgen/queries/default/13.sql new file mode 100644 index 0000000..dc3b117 --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/queries/default/13.sql @@ -0,0 +1,28 @@ +--begin q13 +-- $ID$ +-- TPC-H/TPC-R Customer Distribution Query (Q13) +-- Functional Query Definition +-- Approved February 1998 +:x +:o +select + c_count, + count(*) as custdist +from + ( + select + c_custkey, + count(o_orderkey) + from + customer left outer join orders on + c_custkey = o_custkey + and o_comment not like '%:1%:2%' + group by + c_custkey + ) as c_orders (c_custkey, c_count) +group by + c_count +order by + custdist desc, + c_count desc; +--end q13 diff --git a/tpch/00_compile_tpch/dbgen/queries/default/14.sql b/tpch/00_compile_tpch/dbgen/queries/default/14.sql new file mode 100644 index 0000000..dfa4bc5 --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/queries/default/14.sql @@ -0,0 +1,21 @@ +--begin q14 +-- $ID$ +-- TPC-H/TPC-R Promotion Effect Query (Q14) +-- Functional Query Definition +-- Approved February 1998 +:x +:o +select + 100.00 * sum(case + when p_type like 'PROMO%' + then l_extendedprice * (1 - l_discount) + else 0 + end) / sum(l_extendedprice * (1 - l_discount)) as promo_revenue +from + lineitem, + part +where + l_partkey = p_partkey + and l_shipdate >= date ':1' + and l_shipdate < date ':1' + interval '1 month'; +--end q14 diff --git a/tpch/00_compile_tpch/dbgen/queries/default/15.sql b/tpch/00_compile_tpch/dbgen/queries/default/15.sql new file mode 100644 index 0000000..d24c208 --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/queries/default/15.sql @@ -0,0 +1,40 @@ +--begin q15 +-- $ID$ +-- TPC-H/TPC-R Top Supplier Query (Q15) +-- Variant A +-- Approved February 1998 +:x +with revenue (supplier_no, total_revenue) as ( + select + l_suppkey, + sum(l_extendedprice * (1-l_discount)) + from + lineitem + where + l_shipdate >= date ':1' + and l_shipdate < date ':1' + interval '3 months' + group by + l_suppkey +) + +:o +select + s_suppkey, + s_name, + s_address, + s_phone, + total_revenue +from + supplier, + revenue +where + s_suppkey = supplier_no + and total_revenue = ( + select + max(total_revenue) + from + revenue + ) +order by + s_suppkey; +--end q15 diff --git a/tpch/00_compile_tpch/dbgen/queries/default/16.sql b/tpch/00_compile_tpch/dbgen/queries/default/16.sql new file mode 100644 index 0000000..75a488e --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/queries/default/16.sql @@ -0,0 +1,38 @@ +--begin q16 +-- $ID$ +-- TPC-H/TPC-R Parts/Supplier Relationship Query (Q16) +-- Functional Query Definition +-- Approved February 1998 +:x +:o +select + p_brand, + p_type, + p_size, + count(distinct ps_suppkey) as supplier_cnt +from + partsupp, + part +where + p_partkey = ps_partkey + and p_brand <> ':1' + and p_type not like ':2%' + and p_size in (:3, :4, :5, :6, :7, :8, :9, :10) + and ps_suppkey not in ( + select + s_suppkey + from + supplier + where + s_comment like '%Customer%Complaints%' + ) +group by + p_brand, + p_type, + p_size +order by + supplier_cnt desc, + p_brand, + p_type, + p_size; +--end q16 diff --git a/tpch/00_compile_tpch/dbgen/queries/default/17.sql b/tpch/00_compile_tpch/dbgen/queries/default/17.sql new file mode 100644 index 0000000..46c791e --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/queries/default/17.sql @@ -0,0 +1,25 @@ +--begin q17 +-- $ID$ +-- TPC-H/TPC-R Small-Quantity-Order Revenue Query (Q17) +-- Functional Query Definition +-- Approved February 1998 +:x +:o +select + sum(l_extendedprice) / 7.0 as avg_yearly +from + lineitem, + part +where + p_partkey = l_partkey + and p_brand = ':1' + and p_container = ':2' + and l_quantity < ( + select + 0.2 * avg(l_quantity) + from + lineitem + where + l_partkey = p_partkey + ); +--end q17 diff --git a/tpch/00_compile_tpch/dbgen/queries/default/18.sql b/tpch/00_compile_tpch/dbgen/queries/default/18.sql new file mode 100644 index 0000000..ba62c4a --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/queries/default/18.sql @@ -0,0 +1,41 @@ +--begin q18 +-- $ID$ +-- TPC-H/TPC-R Large Volume Customer Query (Q18) +-- Function Query Definition +-- Approved February 1998 +:x +:o +select + c_name, + c_custkey, + o_orderkey, + o_orderdate, + o_totalprice, + sum(l_quantity) +from + customer, + orders, + lineitem +where + o_orderkey in ( + select + l_orderkey + from + lineitem + group by + l_orderkey having + sum(l_quantity) > :1 + ) + and c_custkey = o_custkey + and o_orderkey = l_orderkey +group by + c_name, + c_custkey, + o_orderkey, + o_orderdate, + o_totalprice +order by + o_totalprice desc, + o_orderdate +:n 100; +--end q18 diff --git a/tpch/00_compile_tpch/dbgen/queries/default/19.sql b/tpch/00_compile_tpch/dbgen/queries/default/19.sql new file mode 100644 index 0000000..1aad18f --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/queries/default/19.sql @@ -0,0 +1,43 @@ +--begin q19 +-- $ID$ +-- TPC-H/TPC-R Discounted Revenue Query (Q19) +-- Functional Query Definition +-- Approved February 1998 +:x +:o +select + sum(l_extendedprice* (1 - l_discount)) as revenue +from + lineitem, + part +where + ( + p_partkey = l_partkey + and p_brand = ':1' + and p_container in ('SM CASE', 'SM BOX', 'SM PACK', 'SM PKG') + and l_quantity >= :4 and l_quantity <= :4 + 10 + and p_size between 1 and 5 + and l_shipmode in ('AIR', 'AIR REG') + and l_shipinstruct = 'DELIVER IN PERSON' + ) + or + ( + p_partkey = l_partkey + and p_brand = ':2' + and p_container in ('MED BAG', 'MED BOX', 'MED PKG', 'MED PACK') + and l_quantity >= :5 and l_quantity <= :5 + 10 + and p_size between 1 and 10 + and l_shipmode in ('AIR', 'AIR REG') + and l_shipinstruct = 'DELIVER IN PERSON' + ) + or + ( + p_partkey = l_partkey + and p_brand = ':3' + and p_container in ('LG CASE', 'LG BOX', 'LG PACK', 'LG PKG') + and l_quantity >= :6 and l_quantity <= :6 + 10 + and p_size between 1 and 15 + and l_shipmode in ('AIR', 'AIR REG') + and l_shipinstruct = 'DELIVER IN PERSON' + ); +--end q19 diff --git a/tpch/00_compile_tpch/dbgen/queries/default/2.sql b/tpch/00_compile_tpch/dbgen/queries/default/2.sql new file mode 100644 index 0000000..5766b44 --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/queries/default/2.sql @@ -0,0 +1,52 @@ +--begin q02 +-- $ID$ +-- TPC-H/TPC-R Minimum Cost Supplier Query (Q2) +-- Functional Query Definition +-- Approved February 1998 +:x +:o +select + s_acctbal, + s_name, + n_name, + p_partkey, + p_mfgr, + s_address, + s_phone, + s_comment +from + part, + supplier, + partsupp, + nation, + region +where + p_partkey = ps_partkey + and s_suppkey = ps_suppkey + and p_size = :1 + and p_type like '%:2' + and s_nationkey = n_nationkey + and n_regionkey = r_regionkey + and r_name = ':3' + and ps_supplycost = ( + select + min(ps_supplycost) + from + partsupp, + supplier, + nation, + region + where + p_partkey = ps_partkey + and s_suppkey = ps_suppkey + and s_nationkey = n_nationkey + and n_regionkey = r_regionkey + and r_name = ':3' + ) +order by + s_acctbal desc, + n_name, + s_name, + p_partkey +:n 100; +--end q02 diff --git a/tpch/00_compile_tpch/dbgen/queries/default/20.sql b/tpch/00_compile_tpch/dbgen/queries/default/20.sql new file mode 100644 index 0000000..4874e74 --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/queries/default/20.sql @@ -0,0 +1,45 @@ +--begin q20 +-- $ID$ +-- TPC-H/TPC-R Potential Part Promotion Query (Q20) +-- Function Query Definition +-- Approved February 1998 +:x +:o +select + s_name, + s_address +from + supplier, + nation +where + s_suppkey in ( + select + ps_suppkey + from + partsupp + where + ps_partkey in ( + select + p_partkey + from + part + where + p_name like ':1%' + ) + and ps_availqty > ( + select + 0.5 * sum(l_quantity) + from + lineitem + where + l_partkey = ps_partkey + and l_suppkey = ps_suppkey + and l_shipdate >= date ':2' + and l_shipdate < date ':2' + interval '1 year' + ) + ) + and s_nationkey = n_nationkey + and n_name = ':3' +order by + s_name; +--end q20 diff --git a/tpch/00_compile_tpch/dbgen/queries/default/21.sql b/tpch/00_compile_tpch/dbgen/queries/default/21.sql new file mode 100644 index 0000000..4a38b23 --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/queries/default/21.sql @@ -0,0 +1,48 @@ +--begin q21 +-- $ID$ +-- TPC-H/TPC-R Suppliers Who Kept Orders Waiting Query (Q21) +-- Functional Query Definition +-- Approved February 1998 +:x +:o +select + s_name, + count(*) as numwait +from + supplier, + lineitem l1, + orders, + nation +where + s_suppkey = l1.l_suppkey + and o_orderkey = l1.l_orderkey + and o_orderstatus = 'F' + and l1.l_receiptdate > l1.l_commitdate + and exists ( + select + * + from + lineitem l2 + where + l2.l_orderkey = l1.l_orderkey + and l2.l_suppkey <> l1.l_suppkey + ) + and not exists ( + select + * + from + lineitem l3 + where + l3.l_orderkey = l1.l_orderkey + and l3.l_suppkey <> l1.l_suppkey + and l3.l_receiptdate > l3.l_commitdate + ) + and s_nationkey = n_nationkey + and n_name = ':1' +group by + s_name +order by + numwait desc, + s_name +:n 100; +--end q21 diff --git a/tpch/00_compile_tpch/dbgen/queries/default/22.sql b/tpch/00_compile_tpch/dbgen/queries/default/22.sql new file mode 100644 index 0000000..b9cf3ac --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/queries/default/22.sql @@ -0,0 +1,45 @@ +--begin q22 +-- $ID$ +-- TPC-H/TPC-R Global Sales Opportunity Query (Q22) +-- Functional Query Definition +-- Approved February 1998 +:x +:o +select + cntrycode, + count(*) as numcust, + sum(c_acctbal) as totacctbal +from + ( + select + substring(c_phone from 1 for 2) as cntrycode, + c_acctbal + from + customer + where + substring(c_phone from 1 for 2) in + (':1', ':2', ':3', ':4', ':5', ':6', ':7') + and c_acctbal > ( + select + avg(c_acctbal) + from + customer + where + c_acctbal > 0.00 + and substring(c_phone from 1 for 2) in + (':1', ':2', ':3', ':4', ':5', ':6', ':7') + ) + and not exists ( + select + * + from + orders + where + o_custkey = c_custkey + ) + ) as custsale +group by + cntrycode +order by + cntrycode; +--end q22 diff --git a/tpch/00_compile_tpch/dbgen/queries/default/3.sql b/tpch/00_compile_tpch/dbgen/queries/default/3.sql new file mode 100644 index 0000000..83cb4c1 --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/queries/default/3.sql @@ -0,0 +1,31 @@ +--begin q03 +-- $ID$ +-- TPC-H/TPC-R Shipping Priority Query (Q3) +-- Functional Query Definition +-- Approved February 1998 +:x +:o +select + l_orderkey, + sum(l_extendedprice * (1 - l_discount)) as revenue, + o_orderdate, + o_shippriority +from + customer, + orders, + lineitem +where + c_mktsegment = ':1' + and c_custkey = o_custkey + and l_orderkey = o_orderkey + and o_orderdate < date ':2' + and l_shipdate > date ':2' +group by + l_orderkey, + o_orderdate, + o_shippriority +order by + revenue desc, + o_orderdate +:n 10; +--end q03 diff --git a/tpch/00_compile_tpch/dbgen/queries/default/4.sql b/tpch/00_compile_tpch/dbgen/queries/default/4.sql new file mode 100644 index 0000000..0a2ba8e --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/queries/default/4.sql @@ -0,0 +1,29 @@ +--begin q04 +-- $ID$ +-- TPC-H/TPC-R Order Priority Checking Query (Q4) +-- Functional Query Definition +-- Approved February 1998 +:x +:o +select + o_orderpriority, + count(*) as order_count +from + orders +where + o_orderdate >= date ':1' + and o_orderdate < date ':1' + interval '3 months' + and exists ( + select + * + from + lineitem + where + l_orderkey = o_orderkey + and l_commitdate < l_receiptdate + ) +group by + o_orderpriority +order by + o_orderpriority; +--end q04 diff --git a/tpch/00_compile_tpch/dbgen/queries/default/5.sql b/tpch/00_compile_tpch/dbgen/queries/default/5.sql new file mode 100644 index 0000000..acd4e5e --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/queries/default/5.sql @@ -0,0 +1,32 @@ +--begin q05 +-- $ID$ +-- TPC-H/TPC-R Local Supplier Volume Query (Q5) +-- Functional Query Definition +-- Approved February 1998 +:x +:o +select + n_name, + sum(l_extendedprice * (1 - l_discount)) as revenue +from + customer, + orders, + lineitem, + supplier, + nation, + region +where + c_custkey = o_custkey + and l_orderkey = o_orderkey + and l_suppkey = s_suppkey + and c_nationkey = s_nationkey + and s_nationkey = n_nationkey + and n_regionkey = r_regionkey + and r_name = ':1' + and o_orderdate >= date ':2' + and o_orderdate < date ':2' + interval '1 year' +group by + n_name +order by + revenue desc; +--end q05 diff --git a/tpch/00_compile_tpch/dbgen/queries/default/6.sql b/tpch/00_compile_tpch/dbgen/queries/default/6.sql new file mode 100644 index 0000000..ac3dae3 --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/queries/default/6.sql @@ -0,0 +1,17 @@ +--begin q06 +-- $ID$ +-- TPC-H/TPC-R Forecasting Revenue Change Query (Q6) +-- Functional Query Definition +-- Approved February 1998 +:x +:o +select + sum(l_extendedprice * l_discount) as revenue +from + lineitem +where + l_shipdate >= date ':1' + and l_shipdate < date ':1' + interval '1 year' + and l_discount between :2 - 0.01 and :2 + 0.01 + and l_quantity < :3; +--end q06 diff --git a/tpch/00_compile_tpch/dbgen/queries/default/7.sql b/tpch/00_compile_tpch/dbgen/queries/default/7.sql new file mode 100644 index 0000000..faa1d13 --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/queries/default/7.sql @@ -0,0 +1,47 @@ +--begin q07 +-- $ID$ +-- TPC-H/TPC-R Volume Shipping Query (Q7) +-- Functional Query Definition +-- Approved February 1998 +:x +:o +select + supp_nation, + cust_nation, + l_year, + sum(volume) as revenue +from + ( + select + n1.n_name as supp_nation, + n2.n_name as cust_nation, + extract(year from l_shipdate) as l_year, + l_extendedprice * (1 - l_discount) as volume + from + supplier, + lineitem, + orders, + customer, + nation n1, + nation n2 + where + s_suppkey = l_suppkey + and o_orderkey = l_orderkey + and c_custkey = o_custkey + and s_nationkey = n1.n_nationkey + and c_nationkey = n2.n_nationkey + and ( + (n1.n_name = ':1' and n2.n_name = ':2') + or (n1.n_name = ':2' and n2.n_name = ':1') + ) + and l_shipdate between date '1995-01-01' and date '1996-12-31' + ) as shipping +group by + supp_nation, + cust_nation, + l_year +order by + supp_nation, + cust_nation, + l_year; +--end q07 diff --git a/tpch/00_compile_tpch/dbgen/queries/default/8.sql b/tpch/00_compile_tpch/dbgen/queries/default/8.sql new file mode 100644 index 0000000..0898dfc --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/queries/default/8.sql @@ -0,0 +1,45 @@ +--begin q08 +-- $ID$ +-- TPC-H/TPC-R National Market Share Query (Q8) +-- Functional Query Definition +-- Approved February 1998 +:x +:o +select + o_year, + sum(case + when nation = ':1' then volume + else 0 + end) / sum(volume) as mkt_share +from + ( + select + extract(year from o_orderdate) as o_year, + l_extendedprice * (1 - l_discount) as volume, + n2.n_name as nation + from + part, + supplier, + lineitem, + orders, + customer, + nation n1, + nation n2, + region + where + p_partkey = l_partkey + and s_suppkey = l_suppkey + and l_orderkey = o_orderkey + and o_custkey = c_custkey + and c_nationkey = n1.n_nationkey + and n1.n_regionkey = r_regionkey + and r_name = ':2' + and s_nationkey = n2.n_nationkey + and o_orderdate between date '1995-01-01' and date '1996-12-31' + and p_type = ':3' + ) as all_nations +group by + o_year +order by + o_year; +--end q08 diff --git a/tpch/00_compile_tpch/dbgen/queries/default/9.sql b/tpch/00_compile_tpch/dbgen/queries/default/9.sql new file mode 100644 index 0000000..a30b549 --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/queries/default/9.sql @@ -0,0 +1,40 @@ +--begin q09 +-- $ID$ +-- TPC-H/TPC-R Product Type Profit Measure Query (Q9) +-- Functional Query Definition +-- Approved February 1998 +:x +:o +select + nation, + o_year, + sum(amount) as sum_profit +from + ( + select + n_name as nation, + extract(year from o_orderdate) as o_year, + l_extendedprice * (1 - l_discount) - ps_supplycost * l_quantity as amount + from + part, + supplier, + lineitem, + partsupp, + orders, + nation + where + s_suppkey = l_suppkey + and ps_suppkey = l_suppkey + and ps_partkey = l_partkey + and p_partkey = l_partkey + and o_orderkey = l_orderkey + and s_nationkey = n_nationkey + and p_name like '%:1%' + ) as profit +group by + nation, + o_year +order by + nation, + o_year desc; +--end q09 diff --git a/tpch/00_compile_tpch/dbgen/queries/exasol/1.sql b/tpch/00_compile_tpch/dbgen/queries/exasol/1.sql new file mode 100644 index 0000000..5ba43bf --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/queries/exasol/1.sql @@ -0,0 +1,29 @@ +--begin q01 +-- $ID$ +-- TPC-H/TPC-R Pricing Summary Report Query (Q1) +-- Functional Query Definition +-- Approved February 1998 +:x +:o +select + l_returnflag, + l_linestatus, + sum(l_quantity) as sum_qty, + sum(l_extendedprice) as sum_base_price, + sum(l_extendedprice * (1 - l_discount)) as sum_disc_price, + sum(l_extendedprice * (1 - l_discount) * (1 + l_tax)) as sum_charge, + avg(l_quantity) as avg_qty, + avg(l_extendedprice) as avg_price, + avg(l_discount) as avg_disc, + count(*) as count_order +from + tpch.lineitem +where + l_shipdate <= ADD_DAYS(DATE '2000-02-28', -:1) +group by + l_returnflag, + l_linestatus +order by + l_returnflag, + l_linestatus; +--end q01 diff --git a/tpch/00_compile_tpch/dbgen/queries/exasol/10.sql b/tpch/00_compile_tpch/dbgen/queries/exasol/10.sql new file mode 100644 index 0000000..2528417 --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/queries/exasol/10.sql @@ -0,0 +1,40 @@ +--begin q10 +-- $ID$ +-- TPC-H/TPC-R Returned Item Reporting Query (Q10) +-- Functional Query Definition +-- Approved February 1998 +:x +:o +select + c_custkey, + c_name, + sum(l_extendedprice * (1 - l_discount)) as revenue, + c_acctbal, + n_name, + c_address, + c_phone, + c_comment +from + tpch.customer, + tpch.orders, + tpch.lineitem, + tpch.nation +where + c_custkey = o_custkey + and l_orderkey = o_orderkey + and o_orderdate >= date ':1' + and o_orderdate < ADD_MONTHS(date ':1', 3) + and l_returnflag = 'R' + and c_nationkey = n_nationkey +group by + c_custkey, + c_name, + c_acctbal, + c_phone, + n_name, + c_address, + c_comment +order by + revenue desc; +:n 20; +--end q10 diff --git a/tpch/00_compile_tpch/dbgen/queries/exasol/11.sql b/tpch/00_compile_tpch/dbgen/queries/exasol/11.sql new file mode 100644 index 0000000..063ecb1 --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/queries/exasol/11.sql @@ -0,0 +1,35 @@ +--begin q11 +-- $ID$ +-- TPC-H/TPC-R Important Stock Identification Query (Q11) +-- Functional Query Definition +-- Approved February 1998 +:x +:o +select + ps_partkey, + sum(ps_supplycost * ps_availqty) as val +from + tpch.partsupp, + tpch.supplier, + tpch.nation +where + ps_suppkey = s_suppkey + and s_nationkey = n_nationkey + and n_name = ':1' +group by + ps_partkey having + sum(ps_supplycost * ps_availqty) > ( + select + sum(ps_supplycost * ps_availqty) * :2 + from + tpch.partsupp, + tpch.supplier, + tpch.nation + where + ps_suppkey = s_suppkey + and s_nationkey = n_nationkey + and n_name = ':1' + ) +order by + val desc; +--end q11 \ No newline at end of file diff --git a/tpch/00_compile_tpch/dbgen/queries/exasol/12.sql b/tpch/00_compile_tpch/dbgen/queries/exasol/12.sql new file mode 100644 index 0000000..82c823c --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/queries/exasol/12.sql @@ -0,0 +1,36 @@ +--begin q12 +-- $ID$ +-- TPC-H/TPC-R Shipping Modes and Order Priority Query (Q12) +-- Functional Query Definition +-- Approved February 1998 +:x +:o +select + l_shipmode, + sum(case + when o_orderpriority = '1-URGENT' + or o_orderpriority = '2-HIGH' + then 1 + else 0 + end) as high_line_count, + sum(case + when o_orderpriority <> '1-URGENT' + and o_orderpriority <> '2-HIGH' + then 1 + else 0 + end) as low_line_count +from + tpch.orders, + tpch.lineitem +where + o_orderkey = l_orderkey + and l_shipmode in (':1', ':2') + and l_commitdate < l_receiptdate + and l_shipdate < l_commitdate + and l_receiptdate >= date ':3' + and l_receiptdate < ADD_YEARS(DATE ':3', 1) +group by + l_shipmode +order by + l_shipmode; +--end q12 \ No newline at end of file diff --git a/tpch/00_compile_tpch/dbgen/queries/exasol/13.sql b/tpch/00_compile_tpch/dbgen/queries/exasol/13.sql new file mode 100644 index 0000000..9ac072c --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/queries/exasol/13.sql @@ -0,0 +1,28 @@ +--begin q13 +-- $ID$ +-- TPC-H/TPC-R Customer Distribution Query (Q13) +-- Functional Query Definition +-- Approved February 1998 +:x +:o +select + c_count, + count(*) as custdist +from + ( + select + c_custkey, + count(o_orderkey) + from + tpch.customer left outer join tpch.orders on + c_custkey = o_custkey + and o_comment not like '%:1%:2%' + group by + c_custkey + ) as c_orders (c_custkey, c_count) +group by + c_count +order by + custdist desc, + c_count desc; +--end q13 \ No newline at end of file diff --git a/tpch/00_compile_tpch/dbgen/queries/exasol/14.sql b/tpch/00_compile_tpch/dbgen/queries/exasol/14.sql new file mode 100644 index 0000000..7802744 --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/queries/exasol/14.sql @@ -0,0 +1,21 @@ +--begin q14 +-- $ID$ +-- TPC-H/TPC-R Promotion Effect Query (Q14) +-- Functional Query Definition +-- Approved February 1998 +:x +:o +select + 100.00 * sum(case + when p_type like 'PROMO%' + then l_extendedprice * (1 - l_discount) + else 0 + end) / sum(l_extendedprice * (1 - l_discount)) as promo_revenue +from + tpch.lineitem, + tpch.part +where + l_partkey = p_partkey + and l_shipdate >= date ':1' + and l_shipdate < ADD_MONTHS(date ':1', 1); +--end q14 \ No newline at end of file diff --git a/tpch/00_compile_tpch/dbgen/queries/exasol/15.sql b/tpch/00_compile_tpch/dbgen/queries/exasol/15.sql new file mode 100644 index 0000000..7e61da9 --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/queries/exasol/15.sql @@ -0,0 +1,38 @@ +--begin q15 +-- $ID$ +-- TPC-H/TPC-R Top Supplier Query (Q15) +-- Variant A +-- Approved February 1998 +:x +:o +with revenue (supplier_no, total_revenue) as ( + select + l_suppkey, + sum(l_extendedprice * (1-l_discount)) + from + tpch.lineitem + where + l_shipdate >= date ':1' + and l_shipdate < ADD_MONTHS(date':1', 3) + group by + l_suppkey +) +select + s_suppkey, + s_name, + s_address, + s_phone, + total_revenue +from + tpch.supplier, + revenue +where + s_suppkey = supplier_no + and total_revenue = ( + select + max(total_revenue) + from + revenue + ) +order by + s_suppkey; diff --git a/tpch/00_compile_tpch/dbgen/queries/exasol/16.sql b/tpch/00_compile_tpch/dbgen/queries/exasol/16.sql new file mode 100644 index 0000000..d43710e --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/queries/exasol/16.sql @@ -0,0 +1,38 @@ +--begin q16 +-- $ID$ +-- TPC-H/TPC-R Parts/Supplier Relationship Query (Q16) +-- Functional Query Definition +-- Approved February 1998 +:x +:o +select + p_brand, + p_type, + p_size, + count(distinct ps_suppkey) as supplier_cnt +from + tpch.partsupp, + tpch.part +where + p_partkey = ps_partkey + and p_brand <> ':1' + and p_type not like ':2%' + and p_size in (:3, :4, :5, :6, :7, :8, :9, :10) + and ps_suppkey not in ( + select + s_suppkey + from + tpch.supplier + where + s_comment like '%Customer%Complaints%' + ) +group by + p_brand, + p_type, + p_size +order by + supplier_cnt desc, + p_brand, + p_type, + p_size; +--end q16 \ No newline at end of file diff --git a/tpch/00_compile_tpch/dbgen/queries/exasol/17.sql b/tpch/00_compile_tpch/dbgen/queries/exasol/17.sql new file mode 100644 index 0000000..ac37283 --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/queries/exasol/17.sql @@ -0,0 +1,25 @@ +--begin q17 +-- $ID$ +-- TPC-H/TPC-R Small-Quantity-Order Revenue Query (Q17) +-- Functional Query Definition +-- Approved February 1998 +:x +:o +select + sum(l_extendedprice) / 7.0 as avg_yearly +from + tpch.lineitem, + tpch.part +where + p_partkey = l_partkey + and p_brand = ':1' + and p_container = ':2' + and l_quantity < ( + select + 0.2 * avg(l_quantity) + from + tpch.lineitem + where + l_partkey = p_partkey + ); +--end q17 \ No newline at end of file diff --git a/tpch/00_compile_tpch/dbgen/queries/exasol/18.sql b/tpch/00_compile_tpch/dbgen/queries/exasol/18.sql new file mode 100644 index 0000000..6e1f992 --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/queries/exasol/18.sql @@ -0,0 +1,41 @@ +--begin q18 +-- $ID$ +-- TPC-H/TPC-R Large Volume Customer Query (Q18) +-- Function Query Definition +-- Approved February 1998 +:x +:o +select + c_name, + c_custkey, + o_orderkey, + o_orderdate, + o_totalprice, + sum(l_quantity) +from + tpch.customer, + tpch.orders, + tpch.lineitem +where + o_orderkey in ( + select + l_orderkey + from + tpch.lineitem + group by + l_orderkey having + sum(l_quantity) > :1 + ) + and c_custkey = o_custkey + and o_orderkey = l_orderkey +group by + c_name, + c_custkey, + o_orderkey, + o_orderdate, + o_totalprice +order by + o_totalprice desc, + o_orderdate; +:n 100; +--end q18 diff --git a/tpch/00_compile_tpch/dbgen/queries/exasol/19.sql b/tpch/00_compile_tpch/dbgen/queries/exasol/19.sql new file mode 100644 index 0000000..9120bd5 --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/queries/exasol/19.sql @@ -0,0 +1,43 @@ +--begin q19 +-- $ID$ +-- TPC-H/TPC-R Discounted Revenue Query (Q19) +-- Functional Query Definition +-- Approved February 1998 +:x +:o +select + sum(l_extendedprice* (1 - l_discount)) as revenue +from + tpch.lineitem, + tpch.part +where + ( + p_partkey = l_partkey + and p_brand = ':1' + and p_container in ('SM CASE', 'SM BOX', 'SM PACK', 'SM PKG') + and l_quantity >= :4 and l_quantity <= :4 + 10 + and p_size between 1 and 5 + and l_shipmode in ('AIR', 'AIR REG') + and l_shipinstruct = 'DELIVER IN PERSON' + ) + or + ( + p_partkey = l_partkey + and p_brand = ':2' + and p_container in ('MED BAG', 'MED BOX', 'MED PKG', 'MED PACK') + and l_quantity >= :5 and l_quantity <= :5 + 10 + and p_size between 1 and 10 + and l_shipmode in ('AIR', 'AIR REG') + and l_shipinstruct = 'DELIVER IN PERSON' + ) + or + ( + p_partkey = l_partkey + and p_brand = ':3' + and p_container in ('LG CASE', 'LG BOX', 'LG PACK', 'LG PKG') + and l_quantity >= :6 and l_quantity <= :6 + 10 + and p_size between 1 and 15 + and l_shipmode in ('AIR', 'AIR REG') + and l_shipinstruct = 'DELIVER IN PERSON' + ); +--end q19 \ No newline at end of file diff --git a/tpch/00_compile_tpch/dbgen/queries/exasol/2.sql b/tpch/00_compile_tpch/dbgen/queries/exasol/2.sql new file mode 100644 index 0000000..eaf9164 --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/queries/exasol/2.sql @@ -0,0 +1,52 @@ +--begin q02 +-- $ID$ +-- TPC-H/TPC-R Minimum Cost Supplier Query (Q2) +-- Functional Query Definition +-- Approved February 1998 +:x +:o +select + s_acctbal, + s_name, + n_name, + p_partkey, + p_mfgr, + s_address, + s_phone, + s_comment +from + tpch.part, + tpch.supplier, + tpch.partsupp, + tpch.nation, + tpch.region +where + p_partkey = ps_partkey + and s_suppkey = ps_suppkey + and p_size = :1 + and p_type like '%:2' + and s_nationkey = n_nationkey + and n_regionkey = r_regionkey + and r_name = ':3' + and ps_supplycost = ( + select + min(ps_supplycost) + from + tpch.partsupp, + tpch.supplier, + tpch.nation, + tpch.region + where + p_partkey = ps_partkey + and s_suppkey = ps_suppkey + and s_nationkey = n_nationkey + and n_regionkey = r_regionkey + and r_name = ':3' + ) +order by + s_acctbal desc, + n_name, + s_name, + p_partkey; +:n 100; +--end q02 diff --git a/tpch/00_compile_tpch/dbgen/queries/exasol/20.sql b/tpch/00_compile_tpch/dbgen/queries/exasol/20.sql new file mode 100644 index 0000000..5c78c0d --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/queries/exasol/20.sql @@ -0,0 +1,45 @@ +--begin q20 +-- $ID$ +-- TPC-H/TPC-R Potential Part Promotion Query (Q20) +-- Function Query Definition +-- Approved February 1998 +:x +:o +select + s_name, + s_address +from + tpch.supplier, + tpch.nation +where + s_suppkey in ( + select + ps_suppkey + from + tpch.partsupp + where + ps_partkey in ( + select + p_partkey + from + tpch.part + where + p_name like ':1%' + ) + and ps_availqty > ( + select + 0.5 * sum(l_quantity) + from + tpch.lineitem + where + l_partkey = ps_partkey + and l_suppkey = ps_suppkey + and l_shipdate >= date ':2' + and l_shipdate < ADD_YEARS(date ':2', 1) + ) + ) + and s_nationkey = n_nationkey + and n_name = ':3' +order by + s_name; +--end q20 \ No newline at end of file diff --git a/tpch/00_compile_tpch/dbgen/queries/exasol/21.sql b/tpch/00_compile_tpch/dbgen/queries/exasol/21.sql new file mode 100644 index 0000000..c31190f --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/queries/exasol/21.sql @@ -0,0 +1,48 @@ +--begin q21 +-- $ID$ +-- TPC-H/TPC-R Suppliers Who Kept Orders Waiting Query (Q21) +-- Functional Query Definition +-- Approved February 1998 +:x +:o +select + s_name, + count(*) as numwait +from + tpch.supplier, + tpch.lineitem l1, + tpch.orders, + tpch.nation +where + s_suppkey = l1.l_suppkey + and o_orderkey = l1.l_orderkey + and o_orderstatus = 'F' + and l1.l_receiptdate > l1.l_commitdate + and exists ( + select + * + from + tpch.lineitem l2 + where + l2.l_orderkey = l1.l_orderkey + and l2.l_suppkey <> l1.l_suppkey + ) + and not exists ( + select + * + from + tpch.lineitem l3 + where + l3.l_orderkey = l1.l_orderkey + and l3.l_suppkey <> l1.l_suppkey + and l3.l_receiptdate > l3.l_commitdate + ) + and s_nationkey = n_nationkey + and n_name = ':1' +group by + s_name +order by + numwait desc, + s_name; +:n 100; +--end q21 diff --git a/tpch/00_compile_tpch/dbgen/queries/exasol/22.sql b/tpch/00_compile_tpch/dbgen/queries/exasol/22.sql new file mode 100644 index 0000000..c5f9fc2 --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/queries/exasol/22.sql @@ -0,0 +1,45 @@ +--begin q22 +-- $ID$ +-- TPC-H/TPC-R Global Sales Opportunity Query (Q22) +-- Functional Query Definition +-- Approved February 1998 +:x +:o +select + cntrycode, + count(*) as numcust, + sum(c_acctbal) as totacctbal +from + ( + select + substring(c_phone from 1 for 2) as cntrycode, + c_acctbal + from + tpch.customer + where + substring(c_phone from 1 for 2) in + (':1', ':2', ':3', ':4', ':5', ':6', ':7') + and c_acctbal > ( + select + avg(c_acctbal) + from + tpch.customer + where + c_acctbal > 0.00 + and substring(c_phone from 1 for 2) in + (':1', ':2', ':3', ':4', ':5', ':6', ':7') + ) + and not exists ( + select + * + from + tpch.orders + where + o_custkey = c_custkey + ) + ) as custsale +group by + cntrycode +order by + cntrycode; +--end q22 \ No newline at end of file diff --git a/tpch/00_compile_tpch/dbgen/queries/exasol/3.sql b/tpch/00_compile_tpch/dbgen/queries/exasol/3.sql new file mode 100644 index 0000000..8bb431a --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/queries/exasol/3.sql @@ -0,0 +1,31 @@ +--begin q03 +-- $ID$ +-- TPC-H/TPC-R Shipping Priority Query (Q3) +-- Functional Query Definition +-- Approved February 1998 +:x +:o +select + l_orderkey, + sum(l_extendedprice * (1 - l_discount)) as revenue, + o_orderdate, + o_shippriority +from + tpch.customer, + tpch.orders, + tpch.lineitem +where + c_mktsegment = ':1' + and c_custkey = o_custkey + and l_orderkey = o_orderkey + and o_orderdate < date ':2' + and l_shipdate > date ':2' +group by + l_orderkey, + o_orderdate, + o_shippriority +order by + revenue desc, + o_orderdate; +:n 10; +--end q03 diff --git a/tpch/00_compile_tpch/dbgen/queries/exasol/4.sql b/tpch/00_compile_tpch/dbgen/queries/exasol/4.sql new file mode 100644 index 0000000..5b4585e --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/queries/exasol/4.sql @@ -0,0 +1,29 @@ +--begin q04 +-- $ID$ +-- TPC-H/TPC-R Order Priority Checking Query (Q4) +-- Functional Query Definition +-- Approved February 1998 +:x +:o +select + o_orderpriority, + count(*) as order_count +from + tpch.orders +where + o_orderdate >= date ':1' + and o_orderdate < ADD_MONTHS(date ':1', 3) + and exists ( + select + * + from + tpch.lineitem + where + l_orderkey = o_orderkey + and l_commitdate < l_receiptdate + ) +group by + o_orderpriority +order by + o_orderpriority; +--end q04 diff --git a/tpch/00_compile_tpch/dbgen/queries/exasol/5.sql b/tpch/00_compile_tpch/dbgen/queries/exasol/5.sql new file mode 100644 index 0000000..6279cb5 --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/queries/exasol/5.sql @@ -0,0 +1,32 @@ +--begin q05 +-- $ID$ +-- TPC-H/TPC-R Local Supplier Volume Query (Q5) +-- Functional Query Definition +-- Approved February 1998 +:x +:o +select + n_name, + sum(l_extendedprice * (1 - l_discount)) as revenue +from + tpch.customer, + tpch.orders, + tpch.lineitem, + tpch.supplier, + tpch.nation, + tpch.region +where + c_custkey = o_custkey + and l_orderkey = o_orderkey + and l_suppkey = s_suppkey + and c_nationkey = s_nationkey + and s_nationkey = n_nationkey + and n_regionkey = r_regionkey + and r_name = ':1' + and o_orderdate >= date ':2' + and o_orderdate < ADD_YEARS(date ':2', 1) +group by + n_name +order by + revenue desc; +--end q05 \ No newline at end of file diff --git a/tpch/00_compile_tpch/dbgen/queries/exasol/6.sql b/tpch/00_compile_tpch/dbgen/queries/exasol/6.sql new file mode 100644 index 0000000..de7fcdd --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/queries/exasol/6.sql @@ -0,0 +1,17 @@ +--begin q06 +-- $ID$ +-- TPC-H/TPC-R Forecasting Revenue Change Query (Q6) +-- Functional Query Definition +-- Approved February 1998 +:x +:o +select + sum(l_extendedprice * l_discount) as revenue +from + tpch.lineitem +where + l_shipdate >= date ':1' + and l_shipdate < ADD_YEARS(date ':1', 1) + and l_discount between :2 - 0.01 and :2 + 0.01 + and l_quantity < :3; +--end q06 \ No newline at end of file diff --git a/tpch/00_compile_tpch/dbgen/queries/exasol/7.sql b/tpch/00_compile_tpch/dbgen/queries/exasol/7.sql new file mode 100644 index 0000000..28d5de2 --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/queries/exasol/7.sql @@ -0,0 +1,47 @@ +--begin q07 +-- $ID$ +-- TPC-H/TPC-R Volume Shipping Query (Q7) +-- Functional Query Definition +-- Approved February 1998 +:x +:o +select + supp_nation, + cust_nation, + l_year, + sum(volume) as revenue +from + ( + select + n1.n_name as supp_nation, + n2.n_name as cust_nation, + extract(year from l_shipdate) as l_year, + l_extendedprice * (1 - l_discount) as volume + from + tpch.supplier, + tpch.lineitem, + tpch.orders, + tpch.customer, + tpch.nation n1, + tpch.nation n2 + where + s_suppkey = l_suppkey + and o_orderkey = l_orderkey + and c_custkey = o_custkey + and s_nationkey = n1.n_nationkey + and c_nationkey = n2.n_nationkey + and ( + (n1.n_name = ':1' and n2.n_name = ':2') + or (n1.n_name = ':2' and n2.n_name = ':1') + ) + and l_shipdate between date '1995-01-01' and date '1996-12-31' + ) as shipping +group by + supp_nation, + cust_nation, + l_year +order by + supp_nation, + cust_nation, + l_year; +--end q07 \ No newline at end of file diff --git a/tpch/00_compile_tpch/dbgen/queries/exasol/8.sql b/tpch/00_compile_tpch/dbgen/queries/exasol/8.sql new file mode 100644 index 0000000..dca20be --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/queries/exasol/8.sql @@ -0,0 +1,45 @@ +--begin q08 +-- $ID$ +-- TPC-H/TPC-R National Market Share Query (Q8) +-- Functional Query Definition +-- Approved February 1998 +:x +:o +select + o_year, + sum(case + when nation = ':1' then volume + else 0 + end) / sum(volume) as mkt_share +from + ( + select + extract(year from o_orderdate) as o_year, + l_extendedprice * (1 - l_discount) as volume, + n2.n_name as nation + from + tpch.part, + tpch.supplier, + tpch.lineitem, + tpch.orders, + tpch.customer, + tpch.nation n1, + tpch.nation n2, + tpch.region + where + p_partkey = l_partkey + and s_suppkey = l_suppkey + and l_orderkey = o_orderkey + and o_custkey = c_custkey + and c_nationkey = n1.n_nationkey + and n1.n_regionkey = r_regionkey + and r_name = ':2' + and s_nationkey = n2.n_nationkey + and o_orderdate between date '1995-01-01' and date '1996-12-31' + and p_type = ':3' + ) as all_nations +group by + o_year +order by + o_year; +--end q08 diff --git a/tpch/00_compile_tpch/dbgen/queries/exasol/9.sql b/tpch/00_compile_tpch/dbgen/queries/exasol/9.sql new file mode 100644 index 0000000..9b018a1 --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/queries/exasol/9.sql @@ -0,0 +1,40 @@ +--begin q09 +-- $ID$ +-- TPC-H/TPC-R Product Type Profit Measure Query (Q9) +-- Functional Query Definition +-- Approved February 1998 +:x +:o +select + nation, + o_year, + sum(amount) as sum_profit +from + ( + select + n_name as nation, + extract(year from o_orderdate) as o_year, + l_extendedprice * (1 - l_discount) - ps_supplycost * l_quantity as amount + from + tpch.part, + tpch.supplier, + tpch.lineitem, + tpch.partsupp, + tpch.orders, + tpch.nation + where + s_suppkey = l_suppkey + and ps_suppkey = l_suppkey + and ps_partkey = l_partkey + and p_partkey = l_partkey + and o_orderkey = l_orderkey + and s_nationkey = n_nationkey + and p_name like '%:1%' + ) as profit +group by + nation, + o_year +order by + nation, + o_year desc; +--end q09 diff --git a/tpch/00_compile_tpch/dbgen/queries/exasol/view_15.sql b/tpch/00_compile_tpch/dbgen/queries/exasol/view_15.sql new file mode 100644 index 0000000..aebcf04 --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/queries/exasol/view_15.sql @@ -0,0 +1,41 @@ +--begin q15 +-- $ID$ +-- TPC-H/TPC-R Top Supplier Query (Q15) +-- Variant A +-- Approved February 1998 +:x +:o +create view revenue:s (tpch.supplier_no, tpch.total_revenue) as + select + l_suppkey, + sum(l_extendedprice * (1 - l_discount)) + from + tpch.lineitem + where + l_shipdate >= date':1' + and l_shipdate < ADD_MONTHS(date':1', 3) + group by + l_suppkey; + +select + s_suppkey, + s_name, + s_address, + s_phone, + total_revenue +from + tpch.supplier, + revenue:s +where + s_suppkey = supplier_no + and total_revenue = ( + select + max(total_revenue) + from + revenue:s + ) +order by + s_suppkey; + +drop view revenue:s; +--end q15 \ No newline at end of file diff --git a/tpch/00_compile_tpch/dbgen/queries/gpdb/1.sql b/tpch/00_compile_tpch/dbgen/queries/gpdb/1.sql new file mode 100644 index 0000000..190418c --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/queries/gpdb/1.sql @@ -0,0 +1,29 @@ +--begin q01 +-- $ID$ +-- TPC-H/TPC-R Pricing Summary Report Query (Q1) +-- Functional Query Definition +-- Approved February 1998 +:x +:o +select + l_returnflag, + l_linestatus, + sum(l_quantity) as sum_qty, + sum(l_extendedprice) as sum_base_price, + sum(l_extendedprice * (1 - l_discount)) as sum_disc_price, + sum(l_extendedprice * (1 - l_discount) * (1 + l_tax)) as sum_charge, + avg(l_quantity) as avg_qty, + avg(l_extendedprice) as avg_price, + avg(l_discount) as avg_disc, + count(*) as count_order +from + lineitem +where + l_shipdate <= date '1998-12-01' - interval '90 days' +group by + l_returnflag, + l_linestatus +order by + l_returnflag, + l_linestatus; +--end q01 diff --git a/tpch/00_compile_tpch/dbgen/queries/gpdb/10.sql b/tpch/00_compile_tpch/dbgen/queries/gpdb/10.sql new file mode 100644 index 0000000..cd39a9f --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/queries/gpdb/10.sql @@ -0,0 +1,40 @@ +--begin q10 +-- $ID$ +-- TPC-H/TPC-R Returned Item Reporting Query (Q10) +-- Functional Query Definition +-- Approved February 1998 +:x +:o +select + c_custkey, + c_name, + sum(l_extendedprice * (1 - l_discount)) as revenue, + c_acctbal, + n_name, + c_address, + c_phone, + c_comment +from + customer, + orders, + lineitem, + nation +where + c_custkey = o_custkey + and l_orderkey = o_orderkey + and o_orderdate >= date ':1' + and o_orderdate < date ':1' + interval '3 months' + and l_returnflag = 'R' + and c_nationkey = n_nationkey +group by + c_custkey, + c_name, + c_acctbal, + c_phone, + n_name, + c_address, + c_comment +order by + revenue desc +:n 20; +--end q10 diff --git a/tpch/00_compile_tpch/dbgen/queries/gpdb/11.sql b/tpch/00_compile_tpch/dbgen/queries/gpdb/11.sql new file mode 100644 index 0000000..d110d83 --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/queries/gpdb/11.sql @@ -0,0 +1,35 @@ +--begin q11 +-- $ID$ +-- TPC-H/TPC-R Important Stock Identification Query (Q11) +-- Functional Query Definition +-- Approved February 1998 +:x +:o +select + ps_partkey, + sum(ps_supplycost * ps_availqty) as value +from + partsupp, + supplier, + nation +where + ps_suppkey = s_suppkey + and s_nationkey = n_nationkey + and n_name = ':1' +group by + ps_partkey having + sum(ps_supplycost * ps_availqty) > ( + select + sum(ps_supplycost * ps_availqty) * :2 + from + partsupp, + supplier, + nation + where + ps_suppkey = s_suppkey + and s_nationkey = n_nationkey + and n_name = ':1' + ) +order by + value desc; +--end q11 diff --git a/tpch/00_compile_tpch/dbgen/queries/gpdb/12.sql b/tpch/00_compile_tpch/dbgen/queries/gpdb/12.sql new file mode 100644 index 0000000..9af82f4 --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/queries/gpdb/12.sql @@ -0,0 +1,36 @@ +--begin q12 +-- $ID$ +-- TPC-H/TPC-R Shipping Modes and Order Priority Query (Q12) +-- Functional Query Definition +-- Approved February 1998 +:x +:o +select + l_shipmode, + sum(case + when o_orderpriority = '1-URGENT' + or o_orderpriority = '2-HIGH' + then 1 + else 0 + end) as high_line_count, + sum(case + when o_orderpriority <> '1-URGENT' + and o_orderpriority <> '2-HIGH' + then 1 + else 0 + end) as low_line_count +from + orders, + lineitem +where + o_orderkey = l_orderkey + and l_shipmode in (':1', ':2') + and l_commitdate < l_receiptdate + and l_shipdate < l_commitdate + and l_receiptdate >= date ':3' + and l_receiptdate < date ':3' + interval '1 year' +group by + l_shipmode +order by + l_shipmode; +--end q12 diff --git a/tpch/00_compile_tpch/dbgen/queries/gpdb/13.sql b/tpch/00_compile_tpch/dbgen/queries/gpdb/13.sql new file mode 100644 index 0000000..dc3b117 --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/queries/gpdb/13.sql @@ -0,0 +1,28 @@ +--begin q13 +-- $ID$ +-- TPC-H/TPC-R Customer Distribution Query (Q13) +-- Functional Query Definition +-- Approved February 1998 +:x +:o +select + c_count, + count(*) as custdist +from + ( + select + c_custkey, + count(o_orderkey) + from + customer left outer join orders on + c_custkey = o_custkey + and o_comment not like '%:1%:2%' + group by + c_custkey + ) as c_orders (c_custkey, c_count) +group by + c_count +order by + custdist desc, + c_count desc; +--end q13 diff --git a/tpch/00_compile_tpch/dbgen/queries/gpdb/14.sql b/tpch/00_compile_tpch/dbgen/queries/gpdb/14.sql new file mode 100644 index 0000000..dfa4bc5 --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/queries/gpdb/14.sql @@ -0,0 +1,21 @@ +--begin q14 +-- $ID$ +-- TPC-H/TPC-R Promotion Effect Query (Q14) +-- Functional Query Definition +-- Approved February 1998 +:x +:o +select + 100.00 * sum(case + when p_type like 'PROMO%' + then l_extendedprice * (1 - l_discount) + else 0 + end) / sum(l_extendedprice * (1 - l_discount)) as promo_revenue +from + lineitem, + part +where + l_partkey = p_partkey + and l_shipdate >= date ':1' + and l_shipdate < date ':1' + interval '1 month'; +--end q14 diff --git a/tpch/00_compile_tpch/dbgen/queries/gpdb/15.sql b/tpch/00_compile_tpch/dbgen/queries/gpdb/15.sql new file mode 100644 index 0000000..d24c208 --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/queries/gpdb/15.sql @@ -0,0 +1,40 @@ +--begin q15 +-- $ID$ +-- TPC-H/TPC-R Top Supplier Query (Q15) +-- Variant A +-- Approved February 1998 +:x +with revenue (supplier_no, total_revenue) as ( + select + l_suppkey, + sum(l_extendedprice * (1-l_discount)) + from + lineitem + where + l_shipdate >= date ':1' + and l_shipdate < date ':1' + interval '3 months' + group by + l_suppkey +) + +:o +select + s_suppkey, + s_name, + s_address, + s_phone, + total_revenue +from + supplier, + revenue +where + s_suppkey = supplier_no + and total_revenue = ( + select + max(total_revenue) + from + revenue + ) +order by + s_suppkey; +--end q15 diff --git a/tpch/00_compile_tpch/dbgen/queries/gpdb/16.sql b/tpch/00_compile_tpch/dbgen/queries/gpdb/16.sql new file mode 100644 index 0000000..75a488e --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/queries/gpdb/16.sql @@ -0,0 +1,38 @@ +--begin q16 +-- $ID$ +-- TPC-H/TPC-R Parts/Supplier Relationship Query (Q16) +-- Functional Query Definition +-- Approved February 1998 +:x +:o +select + p_brand, + p_type, + p_size, + count(distinct ps_suppkey) as supplier_cnt +from + partsupp, + part +where + p_partkey = ps_partkey + and p_brand <> ':1' + and p_type not like ':2%' + and p_size in (:3, :4, :5, :6, :7, :8, :9, :10) + and ps_suppkey not in ( + select + s_suppkey + from + supplier + where + s_comment like '%Customer%Complaints%' + ) +group by + p_brand, + p_type, + p_size +order by + supplier_cnt desc, + p_brand, + p_type, + p_size; +--end q16 diff --git a/tpch/00_compile_tpch/dbgen/queries/gpdb/17.sql b/tpch/00_compile_tpch/dbgen/queries/gpdb/17.sql new file mode 100644 index 0000000..46c791e --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/queries/gpdb/17.sql @@ -0,0 +1,25 @@ +--begin q17 +-- $ID$ +-- TPC-H/TPC-R Small-Quantity-Order Revenue Query (Q17) +-- Functional Query Definition +-- Approved February 1998 +:x +:o +select + sum(l_extendedprice) / 7.0 as avg_yearly +from + lineitem, + part +where + p_partkey = l_partkey + and p_brand = ':1' + and p_container = ':2' + and l_quantity < ( + select + 0.2 * avg(l_quantity) + from + lineitem + where + l_partkey = p_partkey + ); +--end q17 diff --git a/tpch/00_compile_tpch/dbgen/queries/gpdb/18.sql b/tpch/00_compile_tpch/dbgen/queries/gpdb/18.sql new file mode 100644 index 0000000..ba62c4a --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/queries/gpdb/18.sql @@ -0,0 +1,41 @@ +--begin q18 +-- $ID$ +-- TPC-H/TPC-R Large Volume Customer Query (Q18) +-- Function Query Definition +-- Approved February 1998 +:x +:o +select + c_name, + c_custkey, + o_orderkey, + o_orderdate, + o_totalprice, + sum(l_quantity) +from + customer, + orders, + lineitem +where + o_orderkey in ( + select + l_orderkey + from + lineitem + group by + l_orderkey having + sum(l_quantity) > :1 + ) + and c_custkey = o_custkey + and o_orderkey = l_orderkey +group by + c_name, + c_custkey, + o_orderkey, + o_orderdate, + o_totalprice +order by + o_totalprice desc, + o_orderdate +:n 100; +--end q18 diff --git a/tpch/00_compile_tpch/dbgen/queries/gpdb/19.sql b/tpch/00_compile_tpch/dbgen/queries/gpdb/19.sql new file mode 100644 index 0000000..1aad18f --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/queries/gpdb/19.sql @@ -0,0 +1,43 @@ +--begin q19 +-- $ID$ +-- TPC-H/TPC-R Discounted Revenue Query (Q19) +-- Functional Query Definition +-- Approved February 1998 +:x +:o +select + sum(l_extendedprice* (1 - l_discount)) as revenue +from + lineitem, + part +where + ( + p_partkey = l_partkey + and p_brand = ':1' + and p_container in ('SM CASE', 'SM BOX', 'SM PACK', 'SM PKG') + and l_quantity >= :4 and l_quantity <= :4 + 10 + and p_size between 1 and 5 + and l_shipmode in ('AIR', 'AIR REG') + and l_shipinstruct = 'DELIVER IN PERSON' + ) + or + ( + p_partkey = l_partkey + and p_brand = ':2' + and p_container in ('MED BAG', 'MED BOX', 'MED PKG', 'MED PACK') + and l_quantity >= :5 and l_quantity <= :5 + 10 + and p_size between 1 and 10 + and l_shipmode in ('AIR', 'AIR REG') + and l_shipinstruct = 'DELIVER IN PERSON' + ) + or + ( + p_partkey = l_partkey + and p_brand = ':3' + and p_container in ('LG CASE', 'LG BOX', 'LG PACK', 'LG PKG') + and l_quantity >= :6 and l_quantity <= :6 + 10 + and p_size between 1 and 15 + and l_shipmode in ('AIR', 'AIR REG') + and l_shipinstruct = 'DELIVER IN PERSON' + ); +--end q19 diff --git a/tpch/00_compile_tpch/dbgen/queries/gpdb/2.sql b/tpch/00_compile_tpch/dbgen/queries/gpdb/2.sql new file mode 100644 index 0000000..5766b44 --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/queries/gpdb/2.sql @@ -0,0 +1,52 @@ +--begin q02 +-- $ID$ +-- TPC-H/TPC-R Minimum Cost Supplier Query (Q2) +-- Functional Query Definition +-- Approved February 1998 +:x +:o +select + s_acctbal, + s_name, + n_name, + p_partkey, + p_mfgr, + s_address, + s_phone, + s_comment +from + part, + supplier, + partsupp, + nation, + region +where + p_partkey = ps_partkey + and s_suppkey = ps_suppkey + and p_size = :1 + and p_type like '%:2' + and s_nationkey = n_nationkey + and n_regionkey = r_regionkey + and r_name = ':3' + and ps_supplycost = ( + select + min(ps_supplycost) + from + partsupp, + supplier, + nation, + region + where + p_partkey = ps_partkey + and s_suppkey = ps_suppkey + and s_nationkey = n_nationkey + and n_regionkey = r_regionkey + and r_name = ':3' + ) +order by + s_acctbal desc, + n_name, + s_name, + p_partkey +:n 100; +--end q02 diff --git a/tpch/00_compile_tpch/dbgen/queries/gpdb/20.sql b/tpch/00_compile_tpch/dbgen/queries/gpdb/20.sql new file mode 100644 index 0000000..4874e74 --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/queries/gpdb/20.sql @@ -0,0 +1,45 @@ +--begin q20 +-- $ID$ +-- TPC-H/TPC-R Potential Part Promotion Query (Q20) +-- Function Query Definition +-- Approved February 1998 +:x +:o +select + s_name, + s_address +from + supplier, + nation +where + s_suppkey in ( + select + ps_suppkey + from + partsupp + where + ps_partkey in ( + select + p_partkey + from + part + where + p_name like ':1%' + ) + and ps_availqty > ( + select + 0.5 * sum(l_quantity) + from + lineitem + where + l_partkey = ps_partkey + and l_suppkey = ps_suppkey + and l_shipdate >= date ':2' + and l_shipdate < date ':2' + interval '1 year' + ) + ) + and s_nationkey = n_nationkey + and n_name = ':3' +order by + s_name; +--end q20 diff --git a/tpch/00_compile_tpch/dbgen/queries/gpdb/21.sql b/tpch/00_compile_tpch/dbgen/queries/gpdb/21.sql new file mode 100644 index 0000000..4a38b23 --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/queries/gpdb/21.sql @@ -0,0 +1,48 @@ +--begin q21 +-- $ID$ +-- TPC-H/TPC-R Suppliers Who Kept Orders Waiting Query (Q21) +-- Functional Query Definition +-- Approved February 1998 +:x +:o +select + s_name, + count(*) as numwait +from + supplier, + lineitem l1, + orders, + nation +where + s_suppkey = l1.l_suppkey + and o_orderkey = l1.l_orderkey + and o_orderstatus = 'F' + and l1.l_receiptdate > l1.l_commitdate + and exists ( + select + * + from + lineitem l2 + where + l2.l_orderkey = l1.l_orderkey + and l2.l_suppkey <> l1.l_suppkey + ) + and not exists ( + select + * + from + lineitem l3 + where + l3.l_orderkey = l1.l_orderkey + and l3.l_suppkey <> l1.l_suppkey + and l3.l_receiptdate > l3.l_commitdate + ) + and s_nationkey = n_nationkey + and n_name = ':1' +group by + s_name +order by + numwait desc, + s_name +:n 100; +--end q21 diff --git a/tpch/00_compile_tpch/dbgen/queries/gpdb/22.sql b/tpch/00_compile_tpch/dbgen/queries/gpdb/22.sql new file mode 100644 index 0000000..b9cf3ac --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/queries/gpdb/22.sql @@ -0,0 +1,45 @@ +--begin q22 +-- $ID$ +-- TPC-H/TPC-R Global Sales Opportunity Query (Q22) +-- Functional Query Definition +-- Approved February 1998 +:x +:o +select + cntrycode, + count(*) as numcust, + sum(c_acctbal) as totacctbal +from + ( + select + substring(c_phone from 1 for 2) as cntrycode, + c_acctbal + from + customer + where + substring(c_phone from 1 for 2) in + (':1', ':2', ':3', ':4', ':5', ':6', ':7') + and c_acctbal > ( + select + avg(c_acctbal) + from + customer + where + c_acctbal > 0.00 + and substring(c_phone from 1 for 2) in + (':1', ':2', ':3', ':4', ':5', ':6', ':7') + ) + and not exists ( + select + * + from + orders + where + o_custkey = c_custkey + ) + ) as custsale +group by + cntrycode +order by + cntrycode; +--end q22 diff --git a/tpch/00_compile_tpch/dbgen/queries/gpdb/3.sql b/tpch/00_compile_tpch/dbgen/queries/gpdb/3.sql new file mode 100644 index 0000000..83cb4c1 --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/queries/gpdb/3.sql @@ -0,0 +1,31 @@ +--begin q03 +-- $ID$ +-- TPC-H/TPC-R Shipping Priority Query (Q3) +-- Functional Query Definition +-- Approved February 1998 +:x +:o +select + l_orderkey, + sum(l_extendedprice * (1 - l_discount)) as revenue, + o_orderdate, + o_shippriority +from + customer, + orders, + lineitem +where + c_mktsegment = ':1' + and c_custkey = o_custkey + and l_orderkey = o_orderkey + and o_orderdate < date ':2' + and l_shipdate > date ':2' +group by + l_orderkey, + o_orderdate, + o_shippriority +order by + revenue desc, + o_orderdate +:n 10; +--end q03 diff --git a/tpch/00_compile_tpch/dbgen/queries/gpdb/4.sql b/tpch/00_compile_tpch/dbgen/queries/gpdb/4.sql new file mode 100644 index 0000000..0a2ba8e --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/queries/gpdb/4.sql @@ -0,0 +1,29 @@ +--begin q04 +-- $ID$ +-- TPC-H/TPC-R Order Priority Checking Query (Q4) +-- Functional Query Definition +-- Approved February 1998 +:x +:o +select + o_orderpriority, + count(*) as order_count +from + orders +where + o_orderdate >= date ':1' + and o_orderdate < date ':1' + interval '3 months' + and exists ( + select + * + from + lineitem + where + l_orderkey = o_orderkey + and l_commitdate < l_receiptdate + ) +group by + o_orderpriority +order by + o_orderpriority; +--end q04 diff --git a/tpch/00_compile_tpch/dbgen/queries/gpdb/5.sql b/tpch/00_compile_tpch/dbgen/queries/gpdb/5.sql new file mode 100644 index 0000000..acd4e5e --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/queries/gpdb/5.sql @@ -0,0 +1,32 @@ +--begin q05 +-- $ID$ +-- TPC-H/TPC-R Local Supplier Volume Query (Q5) +-- Functional Query Definition +-- Approved February 1998 +:x +:o +select + n_name, + sum(l_extendedprice * (1 - l_discount)) as revenue +from + customer, + orders, + lineitem, + supplier, + nation, + region +where + c_custkey = o_custkey + and l_orderkey = o_orderkey + and l_suppkey = s_suppkey + and c_nationkey = s_nationkey + and s_nationkey = n_nationkey + and n_regionkey = r_regionkey + and r_name = ':1' + and o_orderdate >= date ':2' + and o_orderdate < date ':2' + interval '1 year' +group by + n_name +order by + revenue desc; +--end q05 diff --git a/tpch/00_compile_tpch/dbgen/queries/gpdb/6.sql b/tpch/00_compile_tpch/dbgen/queries/gpdb/6.sql new file mode 100644 index 0000000..ac3dae3 --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/queries/gpdb/6.sql @@ -0,0 +1,17 @@ +--begin q06 +-- $ID$ +-- TPC-H/TPC-R Forecasting Revenue Change Query (Q6) +-- Functional Query Definition +-- Approved February 1998 +:x +:o +select + sum(l_extendedprice * l_discount) as revenue +from + lineitem +where + l_shipdate >= date ':1' + and l_shipdate < date ':1' + interval '1 year' + and l_discount between :2 - 0.01 and :2 + 0.01 + and l_quantity < :3; +--end q06 diff --git a/tpch/00_compile_tpch/dbgen/queries/gpdb/7.sql b/tpch/00_compile_tpch/dbgen/queries/gpdb/7.sql new file mode 100644 index 0000000..faa1d13 --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/queries/gpdb/7.sql @@ -0,0 +1,47 @@ +--begin q07 +-- $ID$ +-- TPC-H/TPC-R Volume Shipping Query (Q7) +-- Functional Query Definition +-- Approved February 1998 +:x +:o +select + supp_nation, + cust_nation, + l_year, + sum(volume) as revenue +from + ( + select + n1.n_name as supp_nation, + n2.n_name as cust_nation, + extract(year from l_shipdate) as l_year, + l_extendedprice * (1 - l_discount) as volume + from + supplier, + lineitem, + orders, + customer, + nation n1, + nation n2 + where + s_suppkey = l_suppkey + and o_orderkey = l_orderkey + and c_custkey = o_custkey + and s_nationkey = n1.n_nationkey + and c_nationkey = n2.n_nationkey + and ( + (n1.n_name = ':1' and n2.n_name = ':2') + or (n1.n_name = ':2' and n2.n_name = ':1') + ) + and l_shipdate between date '1995-01-01' and date '1996-12-31' + ) as shipping +group by + supp_nation, + cust_nation, + l_year +order by + supp_nation, + cust_nation, + l_year; +--end q07 diff --git a/tpch/00_compile_tpch/dbgen/queries/gpdb/8.sql b/tpch/00_compile_tpch/dbgen/queries/gpdb/8.sql new file mode 100644 index 0000000..0898dfc --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/queries/gpdb/8.sql @@ -0,0 +1,45 @@ +--begin q08 +-- $ID$ +-- TPC-H/TPC-R National Market Share Query (Q8) +-- Functional Query Definition +-- Approved February 1998 +:x +:o +select + o_year, + sum(case + when nation = ':1' then volume + else 0 + end) / sum(volume) as mkt_share +from + ( + select + extract(year from o_orderdate) as o_year, + l_extendedprice * (1 - l_discount) as volume, + n2.n_name as nation + from + part, + supplier, + lineitem, + orders, + customer, + nation n1, + nation n2, + region + where + p_partkey = l_partkey + and s_suppkey = l_suppkey + and l_orderkey = o_orderkey + and o_custkey = c_custkey + and c_nationkey = n1.n_nationkey + and n1.n_regionkey = r_regionkey + and r_name = ':2' + and s_nationkey = n2.n_nationkey + and o_orderdate between date '1995-01-01' and date '1996-12-31' + and p_type = ':3' + ) as all_nations +group by + o_year +order by + o_year; +--end q08 diff --git a/tpch/00_compile_tpch/dbgen/queries/gpdb/9.sql b/tpch/00_compile_tpch/dbgen/queries/gpdb/9.sql new file mode 100644 index 0000000..a30b549 --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/queries/gpdb/9.sql @@ -0,0 +1,40 @@ +--begin q09 +-- $ID$ +-- TPC-H/TPC-R Product Type Profit Measure Query (Q9) +-- Functional Query Definition +-- Approved February 1998 +:x +:o +select + nation, + o_year, + sum(amount) as sum_profit +from + ( + select + n_name as nation, + extract(year from o_orderdate) as o_year, + l_extendedprice * (1 - l_discount) - ps_supplycost * l_quantity as amount + from + part, + supplier, + lineitem, + partsupp, + orders, + nation + where + s_suppkey = l_suppkey + and ps_suppkey = l_suppkey + and ps_partkey = l_partkey + and p_partkey = l_partkey + and o_orderkey = l_orderkey + and s_nationkey = n_nationkey + and p_name like '%:1%' + ) as profit +group by + nation, + o_year +order by + nation, + o_year desc; +--end q09 diff --git a/tpch/00_compile_tpch/dbgen/queries/ignite/1.sql b/tpch/00_compile_tpch/dbgen/queries/ignite/1.sql new file mode 100644 index 0000000..e5393a7 --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/queries/ignite/1.sql @@ -0,0 +1,29 @@ +--begin q01 +-- $ID$ +-- TPC-H/TPC-R Pricing Summary Report Query (Q1) +-- Functional Query Definition +-- Approved February 1998 +:x +:o +select + l_returnflag, + l_linestatus, + sum(l_quantity) as sum_qty, + sum(l_extendedprice) as sum_base_price, + sum(l_extendedprice * (1 - l_discount)) as sum_disc_price, + sum(l_extendedprice * (1 - l_discount) * (1 + l_tax)) as sum_charge, + avg(l_quantity) as avg_qty, + avg(l_extendedprice) as avg_price, + avg(l_discount) as avg_disc, + count(*) as count_order +from + tpch.lineitem +where + l_shipdate <= DATEADD('DAY', -:1, DATE '2000-02-28') +group by + l_returnflag, + l_linestatus +order by + l_returnflag, + l_linestatus; +--end q01 diff --git a/tpch/00_compile_tpch/dbgen/queries/ignite/10.sql b/tpch/00_compile_tpch/dbgen/queries/ignite/10.sql new file mode 100644 index 0000000..117c0b6 --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/queries/ignite/10.sql @@ -0,0 +1,40 @@ +--begin q10 +-- $ID$ +-- TPC-H/TPC-R Returned Item Reporting Query (Q10) +-- Functional Query Definition +-- Approved February 1998 +:x +:o +select + c_custkey, + c_name, + sum(l_extendedprice * (1 - l_discount)) as revenue, + c_acctbal, + n_name, + c_address, + c_phone, + c_comment +from + tpch.customer, + tpch.orders, + tpch.lineitem, + tpch.nation +where + c_custkey = o_custkey + and l_orderkey = o_orderkey + and o_orderdate >= date ':1' + and o_orderdate < DATEADD('MONTH', 3, date ':1') + and l_returnflag = 'R' + and c_nationkey = n_nationkey +group by + c_custkey, + c_name, + c_acctbal, + c_phone, + n_name, + c_address, + c_comment +order by + revenue desc; +:n 20; +--end q10 diff --git a/tpch/00_compile_tpch/dbgen/queries/ignite/11.sql b/tpch/00_compile_tpch/dbgen/queries/ignite/11.sql new file mode 100644 index 0000000..b967e01 --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/queries/ignite/11.sql @@ -0,0 +1,27 @@ +--begin q11 +-- $ID$ +-- TPC-H/TPC-R Important Stock Identification Query (Q11) +-- Functional Query Definition +-- Approved February 1998 +:x +:o +select + sub.ps_partkey, + sub.val +FROM +( + SELECT ps_partkey, sum(ps_supplycost * ps_availqty) as val, sum(ps_supplycost * ps_availqty) * :2 AS a + from + tpch.partsupp, + tpch.supplier, + tpch.nation + where + ps_suppkey = s_suppkey + and s_nationkey = n_nationkey + and n_name = ':1' + GROUP BY ps_partkey +) sub +WHERE sub.ps_partkey > sub.a +order by + sub.val desc; +--end q11 \ No newline at end of file diff --git a/tpch/00_compile_tpch/dbgen/queries/ignite/12.sql b/tpch/00_compile_tpch/dbgen/queries/ignite/12.sql new file mode 100644 index 0000000..aefb0c6 --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/queries/ignite/12.sql @@ -0,0 +1,36 @@ +--begin q12 +-- $ID$ +-- TPC-H/TPC-R Shipping Modes and Order Priority Query (Q12) +-- Functional Query Definition +-- Approved February 1998 +:x +:o +select + l_shipmode, + sum(case + when o_orderpriority = '1-URGENT' + or o_orderpriority = '2-HIGH' + then 1 + else 0 + end) as high_line_count, + sum(case + when o_orderpriority <> '1-URGENT' + and o_orderpriority <> '2-HIGH' + then 1 + else 0 + end) as low_line_count +from + tpch.orders, + tpch.lineitem +where + o_orderkey = l_orderkey + and l_shipmode in (':1', ':2') + and l_commitdate < l_receiptdate + and l_shipdate < l_commitdate + and l_receiptdate >= date ':3' + and l_receiptdate < DATEADD('YEAR', 1, DATE ':3') +group by + l_shipmode +order by + l_shipmode; +--end q12 \ No newline at end of file diff --git a/tpch/00_compile_tpch/dbgen/queries/ignite/13.sql b/tpch/00_compile_tpch/dbgen/queries/ignite/13.sql new file mode 100644 index 0000000..9ca5a83 --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/queries/ignite/13.sql @@ -0,0 +1,26 @@ +--begin q13 +-- $ID$ +-- TPC-H/TPC-R Customer Distribution Query (Q13) +-- Functional Query Definition +-- Approved February 1998 +select + c_orders.c_count, + count(*) as custdist +from + ( + select + c_custkey, + count(o_orderkey) AS c_count + from + tpch.customer left outer join tpch.orders on + c_custkey = o_custkey + and o_comment not like '%:1%:2%' + group by + c_custkey + ) as c_orders +group by + c_orders.c_count +order by + custdist desc, + c_orders.c_count desc; +--end q13 \ No newline at end of file diff --git a/tpch/00_compile_tpch/dbgen/queries/ignite/14.sql b/tpch/00_compile_tpch/dbgen/queries/ignite/14.sql new file mode 100644 index 0000000..af8cf88 --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/queries/ignite/14.sql @@ -0,0 +1,21 @@ +--begin q14 +-- $ID$ +-- TPC-H/TPC-R Promotion Effect Query (Q14) +-- Functional Query Definition +-- Approved February 1998 +:x +:o +select + 100.00 * sum(case + when p_type like 'PROMO%' + then l_extendedprice * (1 - l_discount) + else 0 + end) / sum(l_extendedprice * (1 - l_discount)) as promo_revenue +from + tpch.lineitem, + tpch.part +where + l_partkey = p_partkey + and l_shipdate >= date ':1' + and l_shipdate < DATEADD('MONTH', 1, DATE ':1'); +--end q14 \ No newline at end of file diff --git a/tpch/00_compile_tpch/dbgen/queries/ignite/15.sql b/tpch/00_compile_tpch/dbgen/queries/ignite/15.sql new file mode 100644 index 0000000..dfc44c1 --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/queries/ignite/15.sql @@ -0,0 +1,38 @@ +--begin q15 +-- $ID$ +-- TPC-H/TPC-R Top Supplier Query (Q15) +-- Variant A +-- Approved February 1998 +:x +:o +with revenue (supplier_no, total_revenue) as ( + select + l_suppkey, + sum(l_extendedprice * (1-l_discount)) + from + tpch.lineitem + where + l_shipdate >= date ':1' + and l_shipdate < DATEADD('MONTH', 3, date':1') + group by + l_suppkey +) +select + s_suppkey, + s_name, + s_address, + s_phone, + total_revenue +from + tpch.supplier, + revenue +where + s_suppkey = supplier_no + and total_revenue = ( + select + max(total_revenue) + from + revenue + ) +order by + s_suppkey; diff --git a/tpch/00_compile_tpch/dbgen/queries/ignite/16.sql b/tpch/00_compile_tpch/dbgen/queries/ignite/16.sql new file mode 100644 index 0000000..d43710e --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/queries/ignite/16.sql @@ -0,0 +1,38 @@ +--begin q16 +-- $ID$ +-- TPC-H/TPC-R Parts/Supplier Relationship Query (Q16) +-- Functional Query Definition +-- Approved February 1998 +:x +:o +select + p_brand, + p_type, + p_size, + count(distinct ps_suppkey) as supplier_cnt +from + tpch.partsupp, + tpch.part +where + p_partkey = ps_partkey + and p_brand <> ':1' + and p_type not like ':2%' + and p_size in (:3, :4, :5, :6, :7, :8, :9, :10) + and ps_suppkey not in ( + select + s_suppkey + from + tpch.supplier + where + s_comment like '%Customer%Complaints%' + ) +group by + p_brand, + p_type, + p_size +order by + supplier_cnt desc, + p_brand, + p_type, + p_size; +--end q16 \ No newline at end of file diff --git a/tpch/00_compile_tpch/dbgen/queries/ignite/17.sql b/tpch/00_compile_tpch/dbgen/queries/ignite/17.sql new file mode 100644 index 0000000..ac37283 --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/queries/ignite/17.sql @@ -0,0 +1,25 @@ +--begin q17 +-- $ID$ +-- TPC-H/TPC-R Small-Quantity-Order Revenue Query (Q17) +-- Functional Query Definition +-- Approved February 1998 +:x +:o +select + sum(l_extendedprice) / 7.0 as avg_yearly +from + tpch.lineitem, + tpch.part +where + p_partkey = l_partkey + and p_brand = ':1' + and p_container = ':2' + and l_quantity < ( + select + 0.2 * avg(l_quantity) + from + tpch.lineitem + where + l_partkey = p_partkey + ); +--end q17 \ No newline at end of file diff --git a/tpch/00_compile_tpch/dbgen/queries/ignite/18.sql b/tpch/00_compile_tpch/dbgen/queries/ignite/18.sql new file mode 100644 index 0000000..6e1f992 --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/queries/ignite/18.sql @@ -0,0 +1,41 @@ +--begin q18 +-- $ID$ +-- TPC-H/TPC-R Large Volume Customer Query (Q18) +-- Function Query Definition +-- Approved February 1998 +:x +:o +select + c_name, + c_custkey, + o_orderkey, + o_orderdate, + o_totalprice, + sum(l_quantity) +from + tpch.customer, + tpch.orders, + tpch.lineitem +where + o_orderkey in ( + select + l_orderkey + from + tpch.lineitem + group by + l_orderkey having + sum(l_quantity) > :1 + ) + and c_custkey = o_custkey + and o_orderkey = l_orderkey +group by + c_name, + c_custkey, + o_orderkey, + o_orderdate, + o_totalprice +order by + o_totalprice desc, + o_orderdate; +:n 100; +--end q18 diff --git a/tpch/00_compile_tpch/dbgen/queries/ignite/19.sql b/tpch/00_compile_tpch/dbgen/queries/ignite/19.sql new file mode 100644 index 0000000..9120bd5 --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/queries/ignite/19.sql @@ -0,0 +1,43 @@ +--begin q19 +-- $ID$ +-- TPC-H/TPC-R Discounted Revenue Query (Q19) +-- Functional Query Definition +-- Approved February 1998 +:x +:o +select + sum(l_extendedprice* (1 - l_discount)) as revenue +from + tpch.lineitem, + tpch.part +where + ( + p_partkey = l_partkey + and p_brand = ':1' + and p_container in ('SM CASE', 'SM BOX', 'SM PACK', 'SM PKG') + and l_quantity >= :4 and l_quantity <= :4 + 10 + and p_size between 1 and 5 + and l_shipmode in ('AIR', 'AIR REG') + and l_shipinstruct = 'DELIVER IN PERSON' + ) + or + ( + p_partkey = l_partkey + and p_brand = ':2' + and p_container in ('MED BAG', 'MED BOX', 'MED PKG', 'MED PACK') + and l_quantity >= :5 and l_quantity <= :5 + 10 + and p_size between 1 and 10 + and l_shipmode in ('AIR', 'AIR REG') + and l_shipinstruct = 'DELIVER IN PERSON' + ) + or + ( + p_partkey = l_partkey + and p_brand = ':3' + and p_container in ('LG CASE', 'LG BOX', 'LG PACK', 'LG PKG') + and l_quantity >= :6 and l_quantity <= :6 + 10 + and p_size between 1 and 15 + and l_shipmode in ('AIR', 'AIR REG') + and l_shipinstruct = 'DELIVER IN PERSON' + ); +--end q19 \ No newline at end of file diff --git a/tpch/00_compile_tpch/dbgen/queries/ignite/2.sql b/tpch/00_compile_tpch/dbgen/queries/ignite/2.sql new file mode 100644 index 0000000..eaf9164 --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/queries/ignite/2.sql @@ -0,0 +1,52 @@ +--begin q02 +-- $ID$ +-- TPC-H/TPC-R Minimum Cost Supplier Query (Q2) +-- Functional Query Definition +-- Approved February 1998 +:x +:o +select + s_acctbal, + s_name, + n_name, + p_partkey, + p_mfgr, + s_address, + s_phone, + s_comment +from + tpch.part, + tpch.supplier, + tpch.partsupp, + tpch.nation, + tpch.region +where + p_partkey = ps_partkey + and s_suppkey = ps_suppkey + and p_size = :1 + and p_type like '%:2' + and s_nationkey = n_nationkey + and n_regionkey = r_regionkey + and r_name = ':3' + and ps_supplycost = ( + select + min(ps_supplycost) + from + tpch.partsupp, + tpch.supplier, + tpch.nation, + tpch.region + where + p_partkey = ps_partkey + and s_suppkey = ps_suppkey + and s_nationkey = n_nationkey + and n_regionkey = r_regionkey + and r_name = ':3' + ) +order by + s_acctbal desc, + n_name, + s_name, + p_partkey; +:n 100; +--end q02 diff --git a/tpch/00_compile_tpch/dbgen/queries/ignite/20.sql b/tpch/00_compile_tpch/dbgen/queries/ignite/20.sql new file mode 100644 index 0000000..615193f --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/queries/ignite/20.sql @@ -0,0 +1,45 @@ +--begin q20 +-- $ID$ +-- TPC-H/TPC-R Potential Part Promotion Query (Q20) +-- Function Query Definition +-- Approved February 1998 +:x +:o +select + s_name, + s_address +from + tpch.supplier, + tpch.nation +where + s_suppkey in ( + select + ps_suppkey + from + tpch.partsupp + where + ps_partkey in ( + select + p_partkey + from + tpch.part + where + p_name like ':1%' + ) + and ps_availqty > ( + select + 0.5 * sum(l_quantity) + from + tpch.lineitem + where + l_partkey = ps_partkey + and l_suppkey = ps_suppkey + and l_shipdate >= date ':2' + and l_shipdate < DATEADD('YEAR', 1, date ':2') + ) + ) + and s_nationkey = n_nationkey + and n_name = ':3' +order by + s_name; +--end q20 \ No newline at end of file diff --git a/tpch/00_compile_tpch/dbgen/queries/ignite/21.sql b/tpch/00_compile_tpch/dbgen/queries/ignite/21.sql new file mode 100644 index 0000000..c31190f --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/queries/ignite/21.sql @@ -0,0 +1,48 @@ +--begin q21 +-- $ID$ +-- TPC-H/TPC-R Suppliers Who Kept Orders Waiting Query (Q21) +-- Functional Query Definition +-- Approved February 1998 +:x +:o +select + s_name, + count(*) as numwait +from + tpch.supplier, + tpch.lineitem l1, + tpch.orders, + tpch.nation +where + s_suppkey = l1.l_suppkey + and o_orderkey = l1.l_orderkey + and o_orderstatus = 'F' + and l1.l_receiptdate > l1.l_commitdate + and exists ( + select + * + from + tpch.lineitem l2 + where + l2.l_orderkey = l1.l_orderkey + and l2.l_suppkey <> l1.l_suppkey + ) + and not exists ( + select + * + from + tpch.lineitem l3 + where + l3.l_orderkey = l1.l_orderkey + and l3.l_suppkey <> l1.l_suppkey + and l3.l_receiptdate > l3.l_commitdate + ) + and s_nationkey = n_nationkey + and n_name = ':1' +group by + s_name +order by + numwait desc, + s_name; +:n 100; +--end q21 diff --git a/tpch/00_compile_tpch/dbgen/queries/ignite/22.sql b/tpch/00_compile_tpch/dbgen/queries/ignite/22.sql new file mode 100644 index 0000000..c5f9fc2 --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/queries/ignite/22.sql @@ -0,0 +1,45 @@ +--begin q22 +-- $ID$ +-- TPC-H/TPC-R Global Sales Opportunity Query (Q22) +-- Functional Query Definition +-- Approved February 1998 +:x +:o +select + cntrycode, + count(*) as numcust, + sum(c_acctbal) as totacctbal +from + ( + select + substring(c_phone from 1 for 2) as cntrycode, + c_acctbal + from + tpch.customer + where + substring(c_phone from 1 for 2) in + (':1', ':2', ':3', ':4', ':5', ':6', ':7') + and c_acctbal > ( + select + avg(c_acctbal) + from + tpch.customer + where + c_acctbal > 0.00 + and substring(c_phone from 1 for 2) in + (':1', ':2', ':3', ':4', ':5', ':6', ':7') + ) + and not exists ( + select + * + from + tpch.orders + where + o_custkey = c_custkey + ) + ) as custsale +group by + cntrycode +order by + cntrycode; +--end q22 \ No newline at end of file diff --git a/tpch/00_compile_tpch/dbgen/queries/ignite/3.sql b/tpch/00_compile_tpch/dbgen/queries/ignite/3.sql new file mode 100644 index 0000000..8bb431a --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/queries/ignite/3.sql @@ -0,0 +1,31 @@ +--begin q03 +-- $ID$ +-- TPC-H/TPC-R Shipping Priority Query (Q3) +-- Functional Query Definition +-- Approved February 1998 +:x +:o +select + l_orderkey, + sum(l_extendedprice * (1 - l_discount)) as revenue, + o_orderdate, + o_shippriority +from + tpch.customer, + tpch.orders, + tpch.lineitem +where + c_mktsegment = ':1' + and c_custkey = o_custkey + and l_orderkey = o_orderkey + and o_orderdate < date ':2' + and l_shipdate > date ':2' +group by + l_orderkey, + o_orderdate, + o_shippriority +order by + revenue desc, + o_orderdate; +:n 10; +--end q03 diff --git a/tpch/00_compile_tpch/dbgen/queries/ignite/4.sql b/tpch/00_compile_tpch/dbgen/queries/ignite/4.sql new file mode 100644 index 0000000..db3f678 --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/queries/ignite/4.sql @@ -0,0 +1,29 @@ +--begin q04 +-- $ID$ +-- TPC-H/TPC-R Order Priority Checking Query (Q4) +-- Functional Query Definition +-- Approved February 1998 +:x +:o +select + o_orderpriority, + count(*) as order_count +from + tpch.orders +where + o_orderdate >= date ':1' + and o_orderdate < DATEADD('MONTH', 3, date ':1') + and exists ( + select + * + from + tpch.lineitem + where + l_orderkey = o_orderkey + and l_commitdate < l_receiptdate + ) +group by + o_orderpriority +order by + o_orderpriority; +--end q04 diff --git a/tpch/00_compile_tpch/dbgen/queries/ignite/5.sql b/tpch/00_compile_tpch/dbgen/queries/ignite/5.sql new file mode 100644 index 0000000..977cdca --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/queries/ignite/5.sql @@ -0,0 +1,32 @@ +--begin q05 +-- $ID$ +-- TPC-H/TPC-R Local Supplier Volume Query (Q5) +-- Functional Query Definition +-- Approved February 1998 +:x +:o +select + n_name, + sum(l_extendedprice * (1 - l_discount)) as revenue +from + tpch.customer, + tpch.orders, + tpch.lineitem, + tpch.supplier, + tpch.nation, + tpch.region +where + c_custkey = o_custkey + and l_orderkey = o_orderkey + and l_suppkey = s_suppkey + and c_nationkey = s_nationkey + and s_nationkey = n_nationkey + and n_regionkey = r_regionkey + and r_name = ':1' + and o_orderdate >= date ':2' + and o_orderdate < DATEADD('YEAR', 1, date ':2') +group by + n_name +order by + revenue desc; +--end q05 \ No newline at end of file diff --git a/tpch/00_compile_tpch/dbgen/queries/ignite/6.sql b/tpch/00_compile_tpch/dbgen/queries/ignite/6.sql new file mode 100644 index 0000000..18072c0 --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/queries/ignite/6.sql @@ -0,0 +1,17 @@ +--begin q06 +-- $ID$ +-- TPC-H/TPC-R Forecasting Revenue Change Query (Q6) +-- Functional Query Definition +-- Approved February 1998 +:x +:o +select + sum(l_extendedprice * l_discount) as revenue +from + tpch.lineitem +where + l_shipdate >= date ':1' + and l_shipdate < DATEADD('YEAR', 1, date ':1') + and l_discount between :2 - 0.01 and :2 + 0.01 + and l_quantity < :3; +--end q06 \ No newline at end of file diff --git a/tpch/00_compile_tpch/dbgen/queries/ignite/7.sql b/tpch/00_compile_tpch/dbgen/queries/ignite/7.sql new file mode 100644 index 0000000..28d5de2 --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/queries/ignite/7.sql @@ -0,0 +1,47 @@ +--begin q07 +-- $ID$ +-- TPC-H/TPC-R Volume Shipping Query (Q7) +-- Functional Query Definition +-- Approved February 1998 +:x +:o +select + supp_nation, + cust_nation, + l_year, + sum(volume) as revenue +from + ( + select + n1.n_name as supp_nation, + n2.n_name as cust_nation, + extract(year from l_shipdate) as l_year, + l_extendedprice * (1 - l_discount) as volume + from + tpch.supplier, + tpch.lineitem, + tpch.orders, + tpch.customer, + tpch.nation n1, + tpch.nation n2 + where + s_suppkey = l_suppkey + and o_orderkey = l_orderkey + and c_custkey = o_custkey + and s_nationkey = n1.n_nationkey + and c_nationkey = n2.n_nationkey + and ( + (n1.n_name = ':1' and n2.n_name = ':2') + or (n1.n_name = ':2' and n2.n_name = ':1') + ) + and l_shipdate between date '1995-01-01' and date '1996-12-31' + ) as shipping +group by + supp_nation, + cust_nation, + l_year +order by + supp_nation, + cust_nation, + l_year; +--end q07 \ No newline at end of file diff --git a/tpch/00_compile_tpch/dbgen/queries/ignite/8.sql b/tpch/00_compile_tpch/dbgen/queries/ignite/8.sql new file mode 100644 index 0000000..dca20be --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/queries/ignite/8.sql @@ -0,0 +1,45 @@ +--begin q08 +-- $ID$ +-- TPC-H/TPC-R National Market Share Query (Q8) +-- Functional Query Definition +-- Approved February 1998 +:x +:o +select + o_year, + sum(case + when nation = ':1' then volume + else 0 + end) / sum(volume) as mkt_share +from + ( + select + extract(year from o_orderdate) as o_year, + l_extendedprice * (1 - l_discount) as volume, + n2.n_name as nation + from + tpch.part, + tpch.supplier, + tpch.lineitem, + tpch.orders, + tpch.customer, + tpch.nation n1, + tpch.nation n2, + tpch.region + where + p_partkey = l_partkey + and s_suppkey = l_suppkey + and l_orderkey = o_orderkey + and o_custkey = c_custkey + and c_nationkey = n1.n_nationkey + and n1.n_regionkey = r_regionkey + and r_name = ':2' + and s_nationkey = n2.n_nationkey + and o_orderdate between date '1995-01-01' and date '1996-12-31' + and p_type = ':3' + ) as all_nations +group by + o_year +order by + o_year; +--end q08 diff --git a/tpch/00_compile_tpch/dbgen/queries/ignite/9.sql b/tpch/00_compile_tpch/dbgen/queries/ignite/9.sql new file mode 100644 index 0000000..9b018a1 --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/queries/ignite/9.sql @@ -0,0 +1,40 @@ +--begin q09 +-- $ID$ +-- TPC-H/TPC-R Product Type Profit Measure Query (Q9) +-- Functional Query Definition +-- Approved February 1998 +:x +:o +select + nation, + o_year, + sum(amount) as sum_profit +from + ( + select + n_name as nation, + extract(year from o_orderdate) as o_year, + l_extendedprice * (1 - l_discount) - ps_supplycost * l_quantity as amount + from + tpch.part, + tpch.supplier, + tpch.lineitem, + tpch.partsupp, + tpch.orders, + tpch.nation + where + s_suppkey = l_suppkey + and ps_suppkey = l_suppkey + and ps_partkey = l_partkey + and p_partkey = l_partkey + and o_orderkey = l_orderkey + and s_nationkey = n_nationkey + and p_name like '%:1%' + ) as profit +group by + nation, + o_year +order by + nation, + o_year desc; +--end q09 diff --git a/tpch/00_compile_tpch/dbgen/queries/ignite/as_13.sql b/tpch/00_compile_tpch/dbgen/queries/ignite/as_13.sql new file mode 100644 index 0000000..9ac072c --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/queries/ignite/as_13.sql @@ -0,0 +1,28 @@ +--begin q13 +-- $ID$ +-- TPC-H/TPC-R Customer Distribution Query (Q13) +-- Functional Query Definition +-- Approved February 1998 +:x +:o +select + c_count, + count(*) as custdist +from + ( + select + c_custkey, + count(o_orderkey) + from + tpch.customer left outer join tpch.orders on + c_custkey = o_custkey + and o_comment not like '%:1%:2%' + group by + c_custkey + ) as c_orders (c_custkey, c_count) +group by + c_count +order by + custdist desc, + c_count desc; +--end q13 \ No newline at end of file diff --git a/tpch/00_compile_tpch/dbgen/queries/ignite/having_11.sql b/tpch/00_compile_tpch/dbgen/queries/ignite/having_11.sql new file mode 100644 index 0000000..063ecb1 --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/queries/ignite/having_11.sql @@ -0,0 +1,35 @@ +--begin q11 +-- $ID$ +-- TPC-H/TPC-R Important Stock Identification Query (Q11) +-- Functional Query Definition +-- Approved February 1998 +:x +:o +select + ps_partkey, + sum(ps_supplycost * ps_availqty) as val +from + tpch.partsupp, + tpch.supplier, + tpch.nation +where + ps_suppkey = s_suppkey + and s_nationkey = n_nationkey + and n_name = ':1' +group by + ps_partkey having + sum(ps_supplycost * ps_availqty) > ( + select + sum(ps_supplycost * ps_availqty) * :2 + from + tpch.partsupp, + tpch.supplier, + tpch.nation + where + ps_suppkey = s_suppkey + and s_nationkey = n_nationkey + and n_name = ':1' + ) +order by + val desc; +--end q11 \ No newline at end of file diff --git a/tpch/00_compile_tpch/dbgen/queries/ignite/view_15.sql b/tpch/00_compile_tpch/dbgen/queries/ignite/view_15.sql new file mode 100644 index 0000000..aebcf04 --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/queries/ignite/view_15.sql @@ -0,0 +1,41 @@ +--begin q15 +-- $ID$ +-- TPC-H/TPC-R Top Supplier Query (Q15) +-- Variant A +-- Approved February 1998 +:x +:o +create view revenue:s (tpch.supplier_no, tpch.total_revenue) as + select + l_suppkey, + sum(l_extendedprice * (1 - l_discount)) + from + tpch.lineitem + where + l_shipdate >= date':1' + and l_shipdate < ADD_MONTHS(date':1', 3) + group by + l_suppkey; + +select + s_suppkey, + s_name, + s_address, + s_phone, + total_revenue +from + tpch.supplier, + revenue:s +where + s_suppkey = supplier_no + and total_revenue = ( + select + max(total_revenue) + from + revenue:s + ) +order by + s_suppkey; + +drop view revenue:s; +--end q15 \ No newline at end of file diff --git a/tpch/00_compile_tpch/dbgen/queries/mariadbcs/1.sql b/tpch/00_compile_tpch/dbgen/queries/mariadbcs/1.sql new file mode 100644 index 0000000..034842e --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/queries/mariadbcs/1.sql @@ -0,0 +1,29 @@ +--begin q01 +-- $ID$ +-- TPC-H/TPC-R Pricing Summary Report Query (Q1) +-- Functional Query Definition +-- Approved February 1998 +:x +:o +select + l_returnflag, + l_linestatus, + sum(l_quantity) as sum_qty, + sum(l_extendedprice) as sum_base_price, + sum(l_extendedprice * (1 - l_discount)) as sum_disc_price, + sum(l_extendedprice * (1 - l_discount) * (1 + l_tax)) as sum_charge, + avg(l_quantity) as avg_qty, + avg(l_extendedprice) as avg_price, + avg(l_discount) as avg_disc, + count(*) as count_order +from + tpch.lineitem +where + l_shipdate <= '1998-12-01' - interval 90 day +group by + l_returnflag, + l_linestatus +order by + l_returnflag, + l_linestatus; +--end q01 diff --git a/tpch/00_compile_tpch/dbgen/queries/mariadbcs/10.sql b/tpch/00_compile_tpch/dbgen/queries/mariadbcs/10.sql new file mode 100644 index 0000000..5200596 --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/queries/mariadbcs/10.sql @@ -0,0 +1,40 @@ +--begin q10 +-- $ID$ +-- TPC-H/TPC-R Returned Item Reporting Query (Q10) +-- Functional Query Definition +-- Approved February 1998 +:x +:o +select + c_custkey, + c_name, + sum(l_extendedprice * (1 - l_discount)) as revenue, + c_acctbal, + n_name, + c_address, + c_phone, + c_comment +from + tpch.customer, + tpch.orders, + tpch.lineitem, + tpch.nation +where + c_custkey = o_custkey + and l_orderkey = o_orderkey + and o_orderdate >= ':1' + and o_orderdate < ':1' + interval 3 month + and l_returnflag = 'R' + and c_nationkey = n_nationkey +group by + c_custkey, + c_name, + c_acctbal, + c_phone, + n_name, + c_address, + c_comment +order by + revenue desc +:n 20; +--end q10 diff --git a/tpch/00_compile_tpch/dbgen/queries/mariadbcs/11.sql b/tpch/00_compile_tpch/dbgen/queries/mariadbcs/11.sql new file mode 100644 index 0000000..67ebfd9 --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/queries/mariadbcs/11.sql @@ -0,0 +1,35 @@ +--begin q11 +-- $ID$ +-- TPC-H/TPC-R Important Stock Identification Query (Q11) +-- Functional Query Definition +-- Approved February 1998 +:x +:o +select + ps_partkey, + sum(ps_supplycost * ps_availqty) as value +from + tpch.partsupp, + tpch.supplier, + tpch.nation +where + ps_suppkey = s_suppkey + and s_nationkey = n_nationkey + and n_name = ':1' +group by + ps_partkey having + sum(ps_supplycost * ps_availqty) > ( + select + sum(ps_supplycost * ps_availqty) * :2 + from + tpch.partsupp, + tpch.supplier, + tpch.nation + where + ps_suppkey = s_suppkey + and s_nationkey = n_nationkey + and n_name = ':1' + ) +order by + value desc; +--end q11 diff --git a/tpch/00_compile_tpch/dbgen/queries/mariadbcs/12.sql b/tpch/00_compile_tpch/dbgen/queries/mariadbcs/12.sql new file mode 100644 index 0000000..801e2db --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/queries/mariadbcs/12.sql @@ -0,0 +1,36 @@ +--begin q12 +-- $ID$ +-- TPC-H/TPC-R Shipping Modes and Order Priority Query (Q12) +-- Functional Query Definition +-- Approved February 1998 +:x +:o +select + l_shipmode, + sum(case + when o_orderpriority = '1-URGENT' + or o_orderpriority = '2-HIGH' + then 1 + else 0 + end) as high_line_count, + sum(case + when o_orderpriority <> '1-URGENT' + and o_orderpriority <> '2-HIGH' + then 1 + else 0 + end) as low_line_count +from + tpch.orders, + tpch.lineitem +where + o_orderkey = l_orderkey + and l_shipmode in (':1', ':2') + and l_commitdate < l_receiptdate + and l_shipdate < l_commitdate + and l_receiptdate >= ':3' + and l_receiptdate < ':3' + interval 1 year +group by + l_shipmode +order by + l_shipmode; +--end q12 diff --git a/tpch/00_compile_tpch/dbgen/queries/mariadbcs/13.sql b/tpch/00_compile_tpch/dbgen/queries/mariadbcs/13.sql new file mode 100644 index 0000000..6931ff4 --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/queries/mariadbcs/13.sql @@ -0,0 +1,28 @@ +--begin q13 +-- $ID$ +-- TPC-H/TPC-R Customer Distribution Query (Q13) +-- Functional Query Definition +-- Approved February 1998 +:x +:o +select + c_count, + count(*) as custdist +from + ( + select + c_custkey, + count(o_orderkey) as c_count + from + tpch.customer left outer join tpch.orders on + c_custkey = o_custkey + and o_comment not like '%:1%:2%' + group by + c_custkey + ) as c_orders +group by + c_count +order by + custdist desc, + c_count desc; +--end q13 diff --git a/tpch/00_compile_tpch/dbgen/queries/mariadbcs/14.sql b/tpch/00_compile_tpch/dbgen/queries/mariadbcs/14.sql new file mode 100644 index 0000000..62d5e2b --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/queries/mariadbcs/14.sql @@ -0,0 +1,21 @@ +--begin q14 +-- $ID$ +-- TPC-H/TPC-R Promotion Effect Query (Q14) +-- Functional Query Definition +-- Approved February 1998 +:x +:o +select + 100.00 * sum(case + when p_type like 'PROMO%' + then l_extendedprice * (1 - l_discount) + else 0 + end) / sum(l_extendedprice * (1 - l_discount)) as promo_revenue +from + tpch.lineitem, + tpch.part +where + l_partkey = p_partkey + and l_shipdate >= ':1' + and l_shipdate < ':1' + interval 1 month; +--end q14 diff --git a/tpch/00_compile_tpch/dbgen/queries/mariadbcs/15.sql b/tpch/00_compile_tpch/dbgen/queries/mariadbcs/15.sql new file mode 100644 index 0000000..d46c7d4 --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/queries/mariadbcs/15.sql @@ -0,0 +1,40 @@ +--begin q15 +-- $ID$ +-- TPC-H/TPC-R Top Supplier Query (Q15) +-- Variant A +-- Approved February 1998 +:x +with revenue (supplier_no, total_revenue) as ( + select + l_suppkey, + sum(l_extendedprice * (1-l_discount)) + from + tpch.lineitem + where + l_shipdate >= ':1' + and l_shipdate < ':1' + interval 3 month + group by + l_suppkey +) + +:o +select + s_suppkey, + s_name, + s_address, + s_phone, + total_revenue +from + tpch.supplier, + revenue +where + s_suppkey = supplier_no + and total_revenue = ( + select + max(total_revenue) + from + revenue + ) +order by + s_suppkey; +--end q15 diff --git a/tpch/00_compile_tpch/dbgen/queries/mariadbcs/16.sql b/tpch/00_compile_tpch/dbgen/queries/mariadbcs/16.sql new file mode 100644 index 0000000..986908a --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/queries/mariadbcs/16.sql @@ -0,0 +1,38 @@ +--begin q16 +-- $ID$ +-- TPC-H/TPC-R Parts/Supplier Relationship Query (Q16) +-- Functional Query Definition +-- Approved February 1998 +:x +:o +select + p_brand, + p_type, + p_size, + count(distinct ps_suppkey) as supplier_cnt +from + tpch.partsupp, + tpch.part +where + p_partkey = ps_partkey + and p_brand <> ':1' + and p_type not like ':2%' + and p_size in (:3, :4, :5, :6, :7, :8, :9, :10) + and ps_suppkey not in ( + select + s_suppkey + from + tpch.supplier + where + s_comment like '%Customer%Complaints%' + ) +group by + p_brand, + p_type, + p_size +order by + supplier_cnt desc, + p_brand, + p_type, + p_size; +--end q16 diff --git a/tpch/00_compile_tpch/dbgen/queries/mariadbcs/17.sql b/tpch/00_compile_tpch/dbgen/queries/mariadbcs/17.sql new file mode 100644 index 0000000..8462919 --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/queries/mariadbcs/17.sql @@ -0,0 +1,25 @@ +--begin q17 +-- $ID$ +-- TPC-H/TPC-R Small-Quantity-Order Revenue Query (Q17) +-- Functional Query Definition +-- Approved February 1998 +:x +:o +select + sum(l_extendedprice) / 7.0 as avg_yearly +from + tpch.lineitem, + tpch.part +where + p_partkey = l_partkey + and p_brand = ':1' + and p_container = ':2' + and l_quantity < ( + select + 0.2 * avg(l_quantity) + from + tpch.lineitem + where + l_partkey = p_partkey + ); +--end q17 diff --git a/tpch/00_compile_tpch/dbgen/queries/mariadbcs/18.sql b/tpch/00_compile_tpch/dbgen/queries/mariadbcs/18.sql new file mode 100644 index 0000000..18ea8c9 --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/queries/mariadbcs/18.sql @@ -0,0 +1,41 @@ +--begin q18 +-- $ID$ +-- TPC-H/TPC-R Large Volume Customer Query (Q18) +-- Function Query Definition +-- Approved February 1998 +:x +:o +select + c_name, + c_custkey, + o_orderkey, + o_orderdate, + o_totalprice, + sum(l_quantity) +from + tpch.customer, + tpch.orders, + tpch.lineitem +where + o_orderkey in ( + select + l_orderkey + from + tpch.lineitem + group by + l_orderkey having + sum(l_quantity) > :1 + ) + and c_custkey = o_custkey + and o_orderkey = l_orderkey +group by + c_name, + c_custkey, + o_orderkey, + o_orderdate, + o_totalprice +order by + o_totalprice desc, + o_orderdate +:n 100; +--end q18 diff --git a/tpch/00_compile_tpch/dbgen/queries/mariadbcs/19.sql b/tpch/00_compile_tpch/dbgen/queries/mariadbcs/19.sql new file mode 100644 index 0000000..8f26de2 --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/queries/mariadbcs/19.sql @@ -0,0 +1,43 @@ +--begin q19 +-- $ID$ +-- TPC-H/TPC-R Discounted Revenue Query (Q19) +-- Functional Query Definition +-- Approved February 1998 +:x +:o +select + sum(l_extendedprice* (1 - l_discount)) as revenue +from + tpch.lineitem, + tpch.part +where + ( + p_partkey = l_partkey + and p_brand = ':1' + and p_container in ('SM CASE', 'SM BOX', 'SM PACK', 'SM PKG') + and l_quantity >= :4 and l_quantity <= :4 + 10 + and p_size between 1 and 5 + and l_shipmode in ('AIR', 'AIR REG') + and l_shipinstruct = 'DELIVER IN PERSON' + ) + or + ( + p_partkey = l_partkey + and p_brand = ':2' + and p_container in ('MED BAG', 'MED BOX', 'MED PKG', 'MED PACK') + and l_quantity >= :5 and l_quantity <= :5 + 10 + and p_size between 1 and 10 + and l_shipmode in ('AIR', 'AIR REG') + and l_shipinstruct = 'DELIVER IN PERSON' + ) + or + ( + p_partkey = l_partkey + and p_brand = ':3' + and p_container in ('LG CASE', 'LG BOX', 'LG PACK', 'LG PKG') + and l_quantity >= :6 and l_quantity <= :6 + 10 + and p_size between 1 and 15 + and l_shipmode in ('AIR', 'AIR REG') + and l_shipinstruct = 'DELIVER IN PERSON' + ); +--end q19 diff --git a/tpch/00_compile_tpch/dbgen/queries/mariadbcs/2.sql b/tpch/00_compile_tpch/dbgen/queries/mariadbcs/2.sql new file mode 100644 index 0000000..e1fd1d8 --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/queries/mariadbcs/2.sql @@ -0,0 +1,52 @@ +--begin q02 +-- $ID$ +-- TPC-H/TPC-R Minimum Cost Supplier Query (Q2) +-- Functional Query Definition +-- Approved February 1998 +:x +:o +select + s_acctbal, + s_name, + n_name, + p_partkey, + p_mfgr, + s_address, + s_phone, + s_comment +from + tpch.part, + tpch.supplier, + tpch.partsupp, + tpch.nation, + tpch.region +where + p_partkey = ps_partkey + and s_suppkey = ps_suppkey + and p_size = :1 + and p_type like '%:2' + and s_nationkey = n_nationkey + and n_regionkey = r_regionkey + and r_name = ':3' + and ps_supplycost = ( + select + min(ps_supplycost) + from + tpch.partsupp, + tpch.supplier, + tpch.nation, + tpch.region + where + p_partkey = ps_partkey + and s_suppkey = ps_suppkey + and s_nationkey = n_nationkey + and n_regionkey = r_regionkey + and r_name = ':3' + ) +order by + s_acctbal desc, + n_name, + s_name, + p_partkey +:n 100; +--end q02 diff --git a/tpch/00_compile_tpch/dbgen/queries/mariadbcs/20.sql b/tpch/00_compile_tpch/dbgen/queries/mariadbcs/20.sql new file mode 100644 index 0000000..8f90e83 --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/queries/mariadbcs/20.sql @@ -0,0 +1,45 @@ +--begin q20 +-- $ID$ +-- TPC-H/TPC-R Potential Part Promotion Query (Q20) +-- Function Query Definition +-- Approved February 1998 +:x +:o +select + s_name, + s_address +from + tpch.supplier, + tpch.nation +where + s_suppkey in ( + select + ps_suppkey + from + tpch.partsupp + where + ps_partkey in ( + select + p_partkey + from + tpch.part + where + p_name like ':1%' + ) + and ps_availqty > ( + select + 0.5 * sum(l_quantity) + from + tpch.lineitem + where + l_partkey = ps_partkey + and l_suppkey = ps_suppkey + and l_shipdate >= ':2' + and l_shipdate < ':2' + interval 1 year + ) + ) + and s_nationkey = n_nationkey + and n_name = ':3' +order by + s_name; +--end q20 diff --git a/tpch/00_compile_tpch/dbgen/queries/mariadbcs/21.sql b/tpch/00_compile_tpch/dbgen/queries/mariadbcs/21.sql new file mode 100644 index 0000000..df12bbd --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/queries/mariadbcs/21.sql @@ -0,0 +1,48 @@ +--begin q21 +-- $ID$ +-- TPC-H/TPC-R Suppliers Who Kept Orders Waiting Query (Q21) +-- Functional Query Definition +-- Approved February 1998 +:x +:o +select + s_name, + count(*) as numwait +from + tpch.supplier, + tpch.lineitem l1, + tpch.orders, + tpch.nation +where + s_suppkey = l1.l_suppkey + and o_orderkey = l1.l_orderkey + and o_orderstatus = 'F' + and l1.l_receiptdate > l1.l_commitdate + and exists ( + select + * + from + tpch.lineitem l2 + where + l2.l_orderkey = l1.l_orderkey + and l2.l_suppkey <> l1.l_suppkey + ) + and not exists ( + select + * + from + tpch.lineitem l3 + where + l3.l_orderkey = l1.l_orderkey + and l3.l_suppkey <> l1.l_suppkey + and l3.l_receiptdate > l3.l_commitdate + ) + and s_nationkey = n_nationkey + and n_name = ':1' +group by + s_name +order by + numwait desc, + s_name +:n 100; +--end q21 diff --git a/tpch/00_compile_tpch/dbgen/queries/mariadbcs/22.sql b/tpch/00_compile_tpch/dbgen/queries/mariadbcs/22.sql new file mode 100644 index 0000000..24fc442 --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/queries/mariadbcs/22.sql @@ -0,0 +1,45 @@ +--begin q22 +-- $ID$ +-- TPC-H/TPC-R Global Sales Opportunity Query (Q22) +-- Functional Query Definition +-- Approved February 1998 +:x +:o +select + cntrycode, + count(*) as numcust, + sum(c_acctbal) as totacctbal +from + ( + select + substring(c_phone from 1 for 2) as cntrycode, + c_acctbal + from + tpch.customer + where + substring(c_phone from 1 for 2) in + (':1', ':2', ':3', ':4', ':5', ':6', ':7') + and c_acctbal > ( + select + avg(c_acctbal) + from + tpch.customer + where + c_acctbal > 0.00 + and substring(c_phone from 1 for 2) in + (':1', ':2', ':3', ':4', ':5', ':6', ':7') + ) + and not exists ( + select + * + from + tpch.orders + where + o_custkey = c_custkey + ) + ) as custsale +group by + cntrycode +order by + cntrycode; +--end q22 diff --git a/tpch/00_compile_tpch/dbgen/queries/mariadbcs/3.sql b/tpch/00_compile_tpch/dbgen/queries/mariadbcs/3.sql new file mode 100644 index 0000000..f5616a5 --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/queries/mariadbcs/3.sql @@ -0,0 +1,31 @@ +--begin q03 +-- $ID$ +-- TPC-H/TPC-R Shipping Priority Query (Q3) +-- Functional Query Definition +-- Approved February 1998 +:x +:o +select + l_orderkey, + sum(l_extendedprice * (1 - l_discount)) as revenue, + o_orderdate, + o_shippriority +from + tpch.customer, + tpch.orders, + tpch.lineitem +where + c_mktsegment = ':1' + and c_custkey = o_custkey + and l_orderkey = o_orderkey + and o_orderdate < ':2' + and l_shipdate > ':2' +group by + l_orderkey, + o_orderdate, + o_shippriority +order by + revenue desc, + o_orderdate +:n 10; +--end q03 diff --git a/tpch/00_compile_tpch/dbgen/queries/mariadbcs/4.sql b/tpch/00_compile_tpch/dbgen/queries/mariadbcs/4.sql new file mode 100644 index 0000000..ede311d --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/queries/mariadbcs/4.sql @@ -0,0 +1,29 @@ +--begin q04 +-- $ID$ +-- TPC-H/TPC-R Order Priority Checking Query (Q4) +-- Functional Query Definition +-- Approved February 1998 +:x +:o +select + o_orderpriority, + count(*) as order_count +from + tpch.orders +where + o_orderdate >= ':1' + and o_orderdate < ':1' + interval 3 month + and exists ( + select + * + from + tpch.lineitem + where + l_orderkey = o_orderkey + and l_commitdate < l_receiptdate + ) +group by + o_orderpriority +order by + o_orderpriority; +--end q04 diff --git a/tpch/00_compile_tpch/dbgen/queries/mariadbcs/5.sql b/tpch/00_compile_tpch/dbgen/queries/mariadbcs/5.sql new file mode 100644 index 0000000..4bcef44 --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/queries/mariadbcs/5.sql @@ -0,0 +1,32 @@ +--begin q05 +-- $ID$ +-- TPC-H/TPC-R Local Supplier Volume Query (Q5) +-- Functional Query Definition +-- Approved February 1998 +:x +:o +select + n_name, + sum(l_extendedprice * (1 - l_discount)) as revenue +from + tpch.customer, + tpch.orders, + tpch.lineitem, + tpch.supplier, + tpch.nation, + tpch.region +where + c_custkey = o_custkey + and l_orderkey = o_orderkey + and l_suppkey = s_suppkey + and c_nationkey = s_nationkey + and s_nationkey = n_nationkey + and n_regionkey = r_regionkey + and r_name = ':1' + and o_orderdate >= ':2' + and o_orderdate < ':2' + interval 1 year +group by + n_name +order by + revenue desc; +--end q05 diff --git a/tpch/00_compile_tpch/dbgen/queries/mariadbcs/6.sql b/tpch/00_compile_tpch/dbgen/queries/mariadbcs/6.sql new file mode 100644 index 0000000..1454355 --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/queries/mariadbcs/6.sql @@ -0,0 +1,17 @@ +--begin q06 +-- $ID$ +-- TPC-H/TPC-R Forecasting Revenue Change Query (Q6) +-- Functional Query Definition +-- Approved February 1998 +:x +:o +select + sum(l_extendedprice * l_discount) as revenue +from + tpch.lineitem +where + l_shipdate >= ':1' + and l_shipdate < ':1' + interval 1 year + and l_discount between :2 - 0.01 and :2 + 0.01 + and l_quantity < :3; +--end q06 diff --git a/tpch/00_compile_tpch/dbgen/queries/mariadbcs/7.sql b/tpch/00_compile_tpch/dbgen/queries/mariadbcs/7.sql new file mode 100644 index 0000000..4fd02dc --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/queries/mariadbcs/7.sql @@ -0,0 +1,47 @@ +--begin q07 +-- $ID$ +-- TPC-H/TPC-R Volume Shipping Query (Q7) +-- Functional Query Definition +-- Approved February 1998 +:x +:o +select + supp_nation, + cust_nation, + l_year, + sum(volume) as revenue +from + ( + select + n1.n_name as supp_nation, + n2.n_name as cust_nation, + extract(year from l_shipdate) as l_year, + l_extendedprice * (1 - l_discount) as volume + from + tpch.supplier, + tpch.lineitem, + tpch.orders, + tpch.customer, + tpch.nation n1, + tpch.nation n2 + where + s_suppkey = l_suppkey + and o_orderkey = l_orderkey + and c_custkey = o_custkey + and s_nationkey = n1.n_nationkey + and c_nationkey = n2.n_nationkey + and ( + (n1.n_name = ':1' and n2.n_name = ':2') + or (n1.n_name = ':2' and n2.n_name = ':1') + ) + and l_shipdate between '1995-01-01' and '1996-12-31' + ) as shipping +group by + supp_nation, + cust_nation, + l_year +order by + supp_nation, + cust_nation, + l_year; +--end q07 diff --git a/tpch/00_compile_tpch/dbgen/queries/mariadbcs/8.sql b/tpch/00_compile_tpch/dbgen/queries/mariadbcs/8.sql new file mode 100644 index 0000000..e9d3e1f --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/queries/mariadbcs/8.sql @@ -0,0 +1,45 @@ +--begin q08 +-- $ID$ +-- TPC-H/TPC-R National Market Share Query (Q8) +-- Functional Query Definition +-- Approved February 1998 +:x +:o +select + o_year, + sum(case + when nation = ':1' then volume + else 0 + end) / sum(volume) as mkt_share +from + ( + select + extract(year from o_orderdate) as o_year, + l_extendedprice * (1 - l_discount) as volume, + n2.n_name as nation + from + tpch.part, + tpch.supplier, + tpch.lineitem, + tpch.orders, + tpch.customer, + tpch.nation n1, + tpch.nation n2, + tpch.region + where + p_partkey = l_partkey + and s_suppkey = l_suppkey + and l_orderkey = o_orderkey + and o_custkey = c_custkey + and c_nationkey = n1.n_nationkey + and n1.n_regionkey = r_regionkey + and r_name = ':2' + and s_nationkey = n2.n_nationkey + and o_orderdate between '1995-01-01' and '1996-12-31' + and p_type = ':3' + ) as all_nations +group by + o_year +order by + o_year; +--end q08 diff --git a/tpch/00_compile_tpch/dbgen/queries/mariadbcs/9.sql b/tpch/00_compile_tpch/dbgen/queries/mariadbcs/9.sql new file mode 100644 index 0000000..9b018a1 --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/queries/mariadbcs/9.sql @@ -0,0 +1,40 @@ +--begin q09 +-- $ID$ +-- TPC-H/TPC-R Product Type Profit Measure Query (Q9) +-- Functional Query Definition +-- Approved February 1998 +:x +:o +select + nation, + o_year, + sum(amount) as sum_profit +from + ( + select + n_name as nation, + extract(year from o_orderdate) as o_year, + l_extendedprice * (1 - l_discount) - ps_supplycost * l_quantity as amount + from + tpch.part, + tpch.supplier, + tpch.lineitem, + tpch.partsupp, + tpch.orders, + tpch.nation + where + s_suppkey = l_suppkey + and ps_suppkey = l_suppkey + and ps_partkey = l_partkey + and p_partkey = l_partkey + and o_orderkey = l_orderkey + and s_nationkey = n_nationkey + and p_name like '%:1%' + ) as profit +group by + nation, + o_year +order by + nation, + o_year desc; +--end q09 diff --git a/tpch/00_compile_tpch/dbgen/queries/postgresql/1.sql b/tpch/00_compile_tpch/dbgen/queries/postgresql/1.sql new file mode 100644 index 0000000..530050b --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/queries/postgresql/1.sql @@ -0,0 +1,29 @@ +--begin q01 +-- $ID$ +-- TPC-H/TPC-R Pricing Summary Report Query (Q1) +-- Functional Query Definition +-- Approved February 1998 +:x +:o +select + l_returnflag, + l_linestatus, + sum(l_quantity) as sum_qty, + sum(l_extendedprice) as sum_base_price, + sum(l_extendedprice * (1 - l_discount)) as sum_disc_price, + sum(l_extendedprice * (1 - l_discount) * (1 + l_tax)) as sum_charge, + avg(l_quantity) as avg_qty, + avg(l_extendedprice) as avg_price, + avg(l_discount) as avg_disc, + count(*) as count_order +from + tpch.lineitem +where + l_shipdate <= date '1998-12-01' - interval '90 days' +group by + l_returnflag, + l_linestatus +order by + l_returnflag, + l_linestatus; +--end q01 diff --git a/tpch/00_compile_tpch/dbgen/queries/postgresql/10.sql b/tpch/00_compile_tpch/dbgen/queries/postgresql/10.sql new file mode 100644 index 0000000..b35a475 --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/queries/postgresql/10.sql @@ -0,0 +1,40 @@ +--begin q10 +-- $ID$ +-- TPC-H/TPC-R Returned Item Reporting Query (Q10) +-- Functional Query Definition +-- Approved February 1998 +:x +:o +select + c_custkey, + c_name, + sum(l_extendedprice * (1 - l_discount)) as revenue, + c_acctbal, + n_name, + c_address, + c_phone, + c_comment +from + tpch.customer, + tpch.orders, + tpch.lineitem, + tpch.nation +where + c_custkey = o_custkey + and l_orderkey = o_orderkey + and o_orderdate >= date ':1' + and o_orderdate < date ':1' + interval '3 months' + and l_returnflag = 'R' + and c_nationkey = n_nationkey +group by + c_custkey, + c_name, + c_acctbal, + c_phone, + n_name, + c_address, + c_comment +order by + revenue desc +:n 20; +--end q10 diff --git a/tpch/00_compile_tpch/dbgen/queries/postgresql/11.sql b/tpch/00_compile_tpch/dbgen/queries/postgresql/11.sql new file mode 100644 index 0000000..67ebfd9 --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/queries/postgresql/11.sql @@ -0,0 +1,35 @@ +--begin q11 +-- $ID$ +-- TPC-H/TPC-R Important Stock Identification Query (Q11) +-- Functional Query Definition +-- Approved February 1998 +:x +:o +select + ps_partkey, + sum(ps_supplycost * ps_availqty) as value +from + tpch.partsupp, + tpch.supplier, + tpch.nation +where + ps_suppkey = s_suppkey + and s_nationkey = n_nationkey + and n_name = ':1' +group by + ps_partkey having + sum(ps_supplycost * ps_availqty) > ( + select + sum(ps_supplycost * ps_availqty) * :2 + from + tpch.partsupp, + tpch.supplier, + tpch.nation + where + ps_suppkey = s_suppkey + and s_nationkey = n_nationkey + and n_name = ':1' + ) +order by + value desc; +--end q11 diff --git a/tpch/00_compile_tpch/dbgen/queries/postgresql/12.sql b/tpch/00_compile_tpch/dbgen/queries/postgresql/12.sql new file mode 100644 index 0000000..e21b90e --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/queries/postgresql/12.sql @@ -0,0 +1,36 @@ +--begin q12 +-- $ID$ +-- TPC-H/TPC-R Shipping Modes and Order Priority Query (Q12) +-- Functional Query Definition +-- Approved February 1998 +:x +:o +select + l_shipmode, + sum(case + when o_orderpriority = '1-URGENT' + or o_orderpriority = '2-HIGH' + then 1 + else 0 + end) as high_line_count, + sum(case + when o_orderpriority <> '1-URGENT' + and o_orderpriority <> '2-HIGH' + then 1 + else 0 + end) as low_line_count +from + tpch.orders, + tpch.lineitem +where + o_orderkey = l_orderkey + and l_shipmode in (':1', ':2') + and l_commitdate < l_receiptdate + and l_shipdate < l_commitdate + and l_receiptdate >= date ':3' + and l_receiptdate < date ':3' + interval '1 year' +group by + l_shipmode +order by + l_shipmode; +--end q12 diff --git a/tpch/00_compile_tpch/dbgen/queries/postgresql/13.sql b/tpch/00_compile_tpch/dbgen/queries/postgresql/13.sql new file mode 100644 index 0000000..e2eb63a --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/queries/postgresql/13.sql @@ -0,0 +1,28 @@ +--begin q13 +-- $ID$ +-- TPC-H/TPC-R Customer Distribution Query (Q13) +-- Functional Query Definition +-- Approved February 1998 +:x +:o +select + c_count, + count(*) as custdist +from + ( + select + c_custkey, + count(o_orderkey) + from + tpch.customer left outer join tpch.orders on + c_custkey = o_custkey + and o_comment not like '%:1%:2%' + group by + c_custkey + ) as c_orders (c_custkey, c_count) +group by + c_count +order by + custdist desc, + c_count desc; +--end q13 diff --git a/tpch/00_compile_tpch/dbgen/queries/postgresql/14.sql b/tpch/00_compile_tpch/dbgen/queries/postgresql/14.sql new file mode 100644 index 0000000..e83069c --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/queries/postgresql/14.sql @@ -0,0 +1,21 @@ +--begin q14 +-- $ID$ +-- TPC-H/TPC-R Promotion Effect Query (Q14) +-- Functional Query Definition +-- Approved February 1998 +:x +:o +select + 100.00 * sum(case + when p_type like 'PROMO%' + then l_extendedprice * (1 - l_discount) + else 0 + end) / sum(l_extendedprice * (1 - l_discount)) as promo_revenue +from + tpch.lineitem, + tpch.part +where + l_partkey = p_partkey + and l_shipdate >= date ':1' + and l_shipdate < date ':1' + interval '1 month'; +--end q14 diff --git a/tpch/00_compile_tpch/dbgen/queries/postgresql/15.sql b/tpch/00_compile_tpch/dbgen/queries/postgresql/15.sql new file mode 100644 index 0000000..10399a5 --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/queries/postgresql/15.sql @@ -0,0 +1,40 @@ +--begin q15 +-- $ID$ +-- TPC-H/TPC-R Top Supplier Query (Q15) +-- Variant A +-- Approved February 1998 +:x +with revenue (supplier_no, total_revenue) as ( + select + l_suppkey, + sum(l_extendedprice * (1-l_discount)) + from + tpch.lineitem + where + l_shipdate >= date ':1' + and l_shipdate < date ':1' + interval '3 months' + group by + l_suppkey +) + +:o +select + s_suppkey, + s_name, + s_address, + s_phone, + total_revenue +from + tpch.supplier, + revenue +where + s_suppkey = supplier_no + and total_revenue = ( + select + max(total_revenue) + from + revenue + ) +order by + s_suppkey; +--end q15 diff --git a/tpch/00_compile_tpch/dbgen/queries/postgresql/16.sql b/tpch/00_compile_tpch/dbgen/queries/postgresql/16.sql new file mode 100644 index 0000000..986908a --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/queries/postgresql/16.sql @@ -0,0 +1,38 @@ +--begin q16 +-- $ID$ +-- TPC-H/TPC-R Parts/Supplier Relationship Query (Q16) +-- Functional Query Definition +-- Approved February 1998 +:x +:o +select + p_brand, + p_type, + p_size, + count(distinct ps_suppkey) as supplier_cnt +from + tpch.partsupp, + tpch.part +where + p_partkey = ps_partkey + and p_brand <> ':1' + and p_type not like ':2%' + and p_size in (:3, :4, :5, :6, :7, :8, :9, :10) + and ps_suppkey not in ( + select + s_suppkey + from + tpch.supplier + where + s_comment like '%Customer%Complaints%' + ) +group by + p_brand, + p_type, + p_size +order by + supplier_cnt desc, + p_brand, + p_type, + p_size; +--end q16 diff --git a/tpch/00_compile_tpch/dbgen/queries/postgresql/17.sql b/tpch/00_compile_tpch/dbgen/queries/postgresql/17.sql new file mode 100644 index 0000000..8462919 --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/queries/postgresql/17.sql @@ -0,0 +1,25 @@ +--begin q17 +-- $ID$ +-- TPC-H/TPC-R Small-Quantity-Order Revenue Query (Q17) +-- Functional Query Definition +-- Approved February 1998 +:x +:o +select + sum(l_extendedprice) / 7.0 as avg_yearly +from + tpch.lineitem, + tpch.part +where + p_partkey = l_partkey + and p_brand = ':1' + and p_container = ':2' + and l_quantity < ( + select + 0.2 * avg(l_quantity) + from + tpch.lineitem + where + l_partkey = p_partkey + ); +--end q17 diff --git a/tpch/00_compile_tpch/dbgen/queries/postgresql/18.sql b/tpch/00_compile_tpch/dbgen/queries/postgresql/18.sql new file mode 100644 index 0000000..18ea8c9 --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/queries/postgresql/18.sql @@ -0,0 +1,41 @@ +--begin q18 +-- $ID$ +-- TPC-H/TPC-R Large Volume Customer Query (Q18) +-- Function Query Definition +-- Approved February 1998 +:x +:o +select + c_name, + c_custkey, + o_orderkey, + o_orderdate, + o_totalprice, + sum(l_quantity) +from + tpch.customer, + tpch.orders, + tpch.lineitem +where + o_orderkey in ( + select + l_orderkey + from + tpch.lineitem + group by + l_orderkey having + sum(l_quantity) > :1 + ) + and c_custkey = o_custkey + and o_orderkey = l_orderkey +group by + c_name, + c_custkey, + o_orderkey, + o_orderdate, + o_totalprice +order by + o_totalprice desc, + o_orderdate +:n 100; +--end q18 diff --git a/tpch/00_compile_tpch/dbgen/queries/postgresql/19.sql b/tpch/00_compile_tpch/dbgen/queries/postgresql/19.sql new file mode 100644 index 0000000..8f26de2 --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/queries/postgresql/19.sql @@ -0,0 +1,43 @@ +--begin q19 +-- $ID$ +-- TPC-H/TPC-R Discounted Revenue Query (Q19) +-- Functional Query Definition +-- Approved February 1998 +:x +:o +select + sum(l_extendedprice* (1 - l_discount)) as revenue +from + tpch.lineitem, + tpch.part +where + ( + p_partkey = l_partkey + and p_brand = ':1' + and p_container in ('SM CASE', 'SM BOX', 'SM PACK', 'SM PKG') + and l_quantity >= :4 and l_quantity <= :4 + 10 + and p_size between 1 and 5 + and l_shipmode in ('AIR', 'AIR REG') + and l_shipinstruct = 'DELIVER IN PERSON' + ) + or + ( + p_partkey = l_partkey + and p_brand = ':2' + and p_container in ('MED BAG', 'MED BOX', 'MED PKG', 'MED PACK') + and l_quantity >= :5 and l_quantity <= :5 + 10 + and p_size between 1 and 10 + and l_shipmode in ('AIR', 'AIR REG') + and l_shipinstruct = 'DELIVER IN PERSON' + ) + or + ( + p_partkey = l_partkey + and p_brand = ':3' + and p_container in ('LG CASE', 'LG BOX', 'LG PACK', 'LG PKG') + and l_quantity >= :6 and l_quantity <= :6 + 10 + and p_size between 1 and 15 + and l_shipmode in ('AIR', 'AIR REG') + and l_shipinstruct = 'DELIVER IN PERSON' + ); +--end q19 diff --git a/tpch/00_compile_tpch/dbgen/queries/postgresql/2.sql b/tpch/00_compile_tpch/dbgen/queries/postgresql/2.sql new file mode 100644 index 0000000..e1fd1d8 --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/queries/postgresql/2.sql @@ -0,0 +1,52 @@ +--begin q02 +-- $ID$ +-- TPC-H/TPC-R Minimum Cost Supplier Query (Q2) +-- Functional Query Definition +-- Approved February 1998 +:x +:o +select + s_acctbal, + s_name, + n_name, + p_partkey, + p_mfgr, + s_address, + s_phone, + s_comment +from + tpch.part, + tpch.supplier, + tpch.partsupp, + tpch.nation, + tpch.region +where + p_partkey = ps_partkey + and s_suppkey = ps_suppkey + and p_size = :1 + and p_type like '%:2' + and s_nationkey = n_nationkey + and n_regionkey = r_regionkey + and r_name = ':3' + and ps_supplycost = ( + select + min(ps_supplycost) + from + tpch.partsupp, + tpch.supplier, + tpch.nation, + tpch.region + where + p_partkey = ps_partkey + and s_suppkey = ps_suppkey + and s_nationkey = n_nationkey + and n_regionkey = r_regionkey + and r_name = ':3' + ) +order by + s_acctbal desc, + n_name, + s_name, + p_partkey +:n 100; +--end q02 diff --git a/tpch/00_compile_tpch/dbgen/queries/postgresql/20.sql b/tpch/00_compile_tpch/dbgen/queries/postgresql/20.sql new file mode 100644 index 0000000..bca3460 --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/queries/postgresql/20.sql @@ -0,0 +1,45 @@ +--begin q20 +-- $ID$ +-- TPC-H/TPC-R Potential Part Promotion Query (Q20) +-- Function Query Definition +-- Approved February 1998 +:x +:o +select + s_name, + s_address +from + tpch.supplier, + tpch.nation +where + s_suppkey in ( + select + ps_suppkey + from + tpch.partsupp + where + ps_partkey in ( + select + p_partkey + from + tpch.part + where + p_name like ':1%' + ) + and ps_availqty > ( + select + 0.5 * sum(l_quantity) + from + tpch.lineitem + where + l_partkey = ps_partkey + and l_suppkey = ps_suppkey + and l_shipdate >= date ':2' + and l_shipdate < date ':2' + interval '1 year' + ) + ) + and s_nationkey = n_nationkey + and n_name = ':3' +order by + s_name; +--end q20 diff --git a/tpch/00_compile_tpch/dbgen/queries/postgresql/21.sql b/tpch/00_compile_tpch/dbgen/queries/postgresql/21.sql new file mode 100644 index 0000000..df12bbd --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/queries/postgresql/21.sql @@ -0,0 +1,48 @@ +--begin q21 +-- $ID$ +-- TPC-H/TPC-R Suppliers Who Kept Orders Waiting Query (Q21) +-- Functional Query Definition +-- Approved February 1998 +:x +:o +select + s_name, + count(*) as numwait +from + tpch.supplier, + tpch.lineitem l1, + tpch.orders, + tpch.nation +where + s_suppkey = l1.l_suppkey + and o_orderkey = l1.l_orderkey + and o_orderstatus = 'F' + and l1.l_receiptdate > l1.l_commitdate + and exists ( + select + * + from + tpch.lineitem l2 + where + l2.l_orderkey = l1.l_orderkey + and l2.l_suppkey <> l1.l_suppkey + ) + and not exists ( + select + * + from + tpch.lineitem l3 + where + l3.l_orderkey = l1.l_orderkey + and l3.l_suppkey <> l1.l_suppkey + and l3.l_receiptdate > l3.l_commitdate + ) + and s_nationkey = n_nationkey + and n_name = ':1' +group by + s_name +order by + numwait desc, + s_name +:n 100; +--end q21 diff --git a/tpch/00_compile_tpch/dbgen/queries/postgresql/22.sql b/tpch/00_compile_tpch/dbgen/queries/postgresql/22.sql new file mode 100644 index 0000000..24fc442 --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/queries/postgresql/22.sql @@ -0,0 +1,45 @@ +--begin q22 +-- $ID$ +-- TPC-H/TPC-R Global Sales Opportunity Query (Q22) +-- Functional Query Definition +-- Approved February 1998 +:x +:o +select + cntrycode, + count(*) as numcust, + sum(c_acctbal) as totacctbal +from + ( + select + substring(c_phone from 1 for 2) as cntrycode, + c_acctbal + from + tpch.customer + where + substring(c_phone from 1 for 2) in + (':1', ':2', ':3', ':4', ':5', ':6', ':7') + and c_acctbal > ( + select + avg(c_acctbal) + from + tpch.customer + where + c_acctbal > 0.00 + and substring(c_phone from 1 for 2) in + (':1', ':2', ':3', ':4', ':5', ':6', ':7') + ) + and not exists ( + select + * + from + tpch.orders + where + o_custkey = c_custkey + ) + ) as custsale +group by + cntrycode +order by + cntrycode; +--end q22 diff --git a/tpch/00_compile_tpch/dbgen/queries/postgresql/3.sql b/tpch/00_compile_tpch/dbgen/queries/postgresql/3.sql new file mode 100644 index 0000000..0be9042 --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/queries/postgresql/3.sql @@ -0,0 +1,31 @@ +--begin q03 +-- $ID$ +-- TPC-H/TPC-R Shipping Priority Query (Q3) +-- Functional Query Definition +-- Approved February 1998 +:x +:o +select + l_orderkey, + sum(l_extendedprice * (1 - l_discount)) as revenue, + o_orderdate, + o_shippriority +from + tpch.customer, + tpch.orders, + tpch.lineitem +where + c_mktsegment = ':1' + and c_custkey = o_custkey + and l_orderkey = o_orderkey + and o_orderdate < date ':2' + and l_shipdate > date ':2' +group by + l_orderkey, + o_orderdate, + o_shippriority +order by + revenue desc, + o_orderdate +:n 10; +--end q03 diff --git a/tpch/00_compile_tpch/dbgen/queries/postgresql/4.sql b/tpch/00_compile_tpch/dbgen/queries/postgresql/4.sql new file mode 100644 index 0000000..9905d0e --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/queries/postgresql/4.sql @@ -0,0 +1,29 @@ +--begin q04 +-- $ID$ +-- TPC-H/TPC-R Order Priority Checking Query (Q4) +-- Functional Query Definition +-- Approved February 1998 +:x +:o +select + o_orderpriority, + count(*) as order_count +from + tpch.orders +where + o_orderdate >= date ':1' + and o_orderdate < date ':1' + interval '3 months' + and exists ( + select + * + from + tpch.lineitem + where + l_orderkey = o_orderkey + and l_commitdate < l_receiptdate + ) +group by + o_orderpriority +order by + o_orderpriority; +--end q04 diff --git a/tpch/00_compile_tpch/dbgen/queries/postgresql/5.sql b/tpch/00_compile_tpch/dbgen/queries/postgresql/5.sql new file mode 100644 index 0000000..62b4586 --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/queries/postgresql/5.sql @@ -0,0 +1,32 @@ +--begin q05 +-- $ID$ +-- TPC-H/TPC-R Local Supplier Volume Query (Q5) +-- Functional Query Definition +-- Approved February 1998 +:x +:o +select + n_name, + sum(l_extendedprice * (1 - l_discount)) as revenue +from + tpch.customer, + tpch.orders, + tpch.lineitem, + tpch.supplier, + tpch.nation, + tpch.region +where + c_custkey = o_custkey + and l_orderkey = o_orderkey + and l_suppkey = s_suppkey + and c_nationkey = s_nationkey + and s_nationkey = n_nationkey + and n_regionkey = r_regionkey + and r_name = ':1' + and o_orderdate >= date ':2' + and o_orderdate < date ':2' + interval '1 year' +group by + n_name +order by + revenue desc; +--end q05 diff --git a/tpch/00_compile_tpch/dbgen/queries/postgresql/6.sql b/tpch/00_compile_tpch/dbgen/queries/postgresql/6.sql new file mode 100644 index 0000000..2799c73 --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/queries/postgresql/6.sql @@ -0,0 +1,17 @@ +--begin q06 +-- $ID$ +-- TPC-H/TPC-R Forecasting Revenue Change Query (Q6) +-- Functional Query Definition +-- Approved February 1998 +:x +:o +select + sum(l_extendedprice * l_discount) as revenue +from + tpch.lineitem +where + l_shipdate >= date ':1' + and l_shipdate < date ':1' + interval '1 year' + and l_discount between :2 - 0.01 and :2 + 0.01 + and l_quantity < :3; +--end q06 diff --git a/tpch/00_compile_tpch/dbgen/queries/postgresql/7.sql b/tpch/00_compile_tpch/dbgen/queries/postgresql/7.sql new file mode 100644 index 0000000..d09f1c8 --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/queries/postgresql/7.sql @@ -0,0 +1,47 @@ +--begin q07 +-- $ID$ +-- TPC-H/TPC-R Volume Shipping Query (Q7) +-- Functional Query Definition +-- Approved February 1998 +:x +:o +select + supp_nation, + cust_nation, + l_year, + sum(volume) as revenue +from + ( + select + n1.n_name as supp_nation, + n2.n_name as cust_nation, + extract(year from l_shipdate) as l_year, + l_extendedprice * (1 - l_discount) as volume + from + tpch.supplier, + tpch.lineitem, + tpch.orders, + tpch.customer, + tpch.nation n1, + tpch.nation n2 + where + s_suppkey = l_suppkey + and o_orderkey = l_orderkey + and c_custkey = o_custkey + and s_nationkey = n1.n_nationkey + and c_nationkey = n2.n_nationkey + and ( + (n1.n_name = ':1' and n2.n_name = ':2') + or (n1.n_name = ':2' and n2.n_name = ':1') + ) + and l_shipdate between date '1995-01-01' and date '1996-12-31' + ) as shipping +group by + supp_nation, + cust_nation, + l_year +order by + supp_nation, + cust_nation, + l_year; +--end q07 diff --git a/tpch/00_compile_tpch/dbgen/queries/postgresql/8.sql b/tpch/00_compile_tpch/dbgen/queries/postgresql/8.sql new file mode 100644 index 0000000..dca20be --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/queries/postgresql/8.sql @@ -0,0 +1,45 @@ +--begin q08 +-- $ID$ +-- TPC-H/TPC-R National Market Share Query (Q8) +-- Functional Query Definition +-- Approved February 1998 +:x +:o +select + o_year, + sum(case + when nation = ':1' then volume + else 0 + end) / sum(volume) as mkt_share +from + ( + select + extract(year from o_orderdate) as o_year, + l_extendedprice * (1 - l_discount) as volume, + n2.n_name as nation + from + tpch.part, + tpch.supplier, + tpch.lineitem, + tpch.orders, + tpch.customer, + tpch.nation n1, + tpch.nation n2, + tpch.region + where + p_partkey = l_partkey + and s_suppkey = l_suppkey + and l_orderkey = o_orderkey + and o_custkey = c_custkey + and c_nationkey = n1.n_nationkey + and n1.n_regionkey = r_regionkey + and r_name = ':2' + and s_nationkey = n2.n_nationkey + and o_orderdate between date '1995-01-01' and date '1996-12-31' + and p_type = ':3' + ) as all_nations +group by + o_year +order by + o_year; +--end q08 diff --git a/tpch/00_compile_tpch/dbgen/queries/postgresql/9.sql b/tpch/00_compile_tpch/dbgen/queries/postgresql/9.sql new file mode 100644 index 0000000..9b018a1 --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/queries/postgresql/9.sql @@ -0,0 +1,40 @@ +--begin q09 +-- $ID$ +-- TPC-H/TPC-R Product Type Profit Measure Query (Q9) +-- Functional Query Definition +-- Approved February 1998 +:x +:o +select + nation, + o_year, + sum(amount) as sum_profit +from + ( + select + n_name as nation, + extract(year from o_orderdate) as o_year, + l_extendedprice * (1 - l_discount) - ps_supplycost * l_quantity as amount + from + tpch.part, + tpch.supplier, + tpch.lineitem, + tpch.partsupp, + tpch.orders, + tpch.nation + where + s_suppkey = l_suppkey + and ps_suppkey = l_suppkey + and ps_partkey = l_partkey + and p_partkey = l_partkey + and o_orderkey = l_orderkey + and s_nationkey = n_nationkey + and p_name like '%:1%' + ) as profit +group by + nation, + o_year +order by + nation, + o_year desc; +--end q09 diff --git a/tpch/00_compile_tpch/dbgen/reference/README.txt b/tpch/00_compile_tpch/dbgen/reference/README.txt new file mode 100644 index 0000000..10a5ea9 --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/reference/README.txt @@ -0,0 +1,70 @@ +/* + * $Id: README.txt,v 1.4 2006/08/07 17:36:46 jms Exp $ + */ + +1. Goal +This document summarizes the steps required to validate the data set generated +by DBGEN, relative to the reference data published by the TPC. + +2. Pre-Requesites + Toolset executable: This readme file is included as part of the toolset + distributed by the TPC. The DBGEN and QGEN executables must be built from + the same distribution. + + Reference Data Set(s): For each permissible scale factor, the TPC has + produced a separate zip file that defines the reference point for the base + data set, the update data set, and the output of QGEN. These must be + downloaded separately from the TPC web site. + +3. Validation Process + +a. Setup + The commands that are included in this distribution assume that they are + being executed from /reference, where is directory into which + the DBGEN distribution was unpacked. If that is not the case for your + environemnt, the paths to executables and associated files will need to be + edited to match your directory structure. + +b. Base Data Validation + The base data set is produced using cmd_base_sf where is the scale + factor to be generated. The resulting files will be produced in the current + working directory. The generated files will be of the form .tbl., + where will is the name of one of the tables in the TPCH schema, and + identifies a particular data generation step. + + The file set produced by genbaserefdata.sh should match the .tbl. + files found in the reference data set for the same scale factor. + +c. Update Data Validation + The update data set is produced using cmd_update_sf where is the scale + factor to be generated. The resulting files will be produced in the current + working directory. The generated files will be of the form + .tbl.u. and delete.u., where will is the + name of one of the tables in the TPCH schema, and and identify + a particular data generation step. + + For each file produced by DBGEN, the first 100 lines of the file should + match the delete.tbl.u. and .tbl.u. files found in the + reference data set. Where the files from the reference data set contain + fewer than 100 lines, the file should match in their entriety. + +d. QGEN Parameter Generation + The qgen paramter sets are produced using the cmd_qgen_sf files, where + matches the scale factor being validated. The resulting files will + be produced in the current working directory. The generated files will be of + the form subparam_, where identifies a particular qgen subsituttion + set. + + The file set produced by cmd_qgen_ script should match the subparam. + files found in the reference data set. + +/********************* +* Revision History +* =================== +* $Log: README.txt,v $ +* Revision 1.4 2006/08/07 17:36:46 jms +* typo corrections +* +* Revision 1.3 2006/03/30 22:12:36 jms +* reduce to simple scripts +* diff --git a/tpch/00_compile_tpch/dbgen/reference/cmd_base_sf1 b/tpch/00_compile_tpch/dbgen/reference/cmd_base_sf1 new file mode 100644 index 0000000..65645bc --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/reference/cmd_base_sf1 @@ -0,0 +1,32 @@ +../dbgen -s 1 -T L -C 60000 -S 1 -f -b ../dists.dss +../dbgen -s 1 -T L -C 60000 -S 19999 -f -b ../dists.dss +../dbgen -s 1 -T L -C 60000 -S 39998 -f -b ../dists.dss +../dbgen -s 1 -T L -C 60000 -S 59997 -f -b ../dists.dss +../dbgen -s 1 -T L -C 60000 -S 60000 -f -b ../dists.dss +../dbgen -s 1 -T O -C 15000 -S 1 -f -b ../dists.dss +../dbgen -s 1 -T O -C 15000 -S 4999 -f -b ../dists.dss +../dbgen -s 1 -T O -C 15000 -S 9998 -f -b ../dists.dss +../dbgen -s 1 -T O -C 15000 -S 14997 -f -b ../dists.dss +../dbgen -s 1 -T O -C 15000 -S 15000 -f -b ../dists.dss +../dbgen -s 1 -T P -C 2000 -S 1 -f -b ../dists.dss +../dbgen -s 1 -T P -C 2000 -S 666 -f -b ../dists.dss +../dbgen -s 1 -T P -C 2000 -S 1332 -f -b ../dists.dss +../dbgen -s 1 -T P -C 2000 -S 1998 -f -b ../dists.dss +../dbgen -s 1 -T P -C 2000 -S 2000 -f -b ../dists.dss +../dbgen -s 1 -T S -C 8000 -S 1 -f -b ../dists.dss +../dbgen -s 1 -T S -C 8000 -S 2666 -f -b ../dists.dss +../dbgen -s 1 -T S -C 8000 -S 5332 -f -b ../dists.dss +../dbgen -s 1 -T S -C 8000 -S 7998 -f -b ../dists.dss +../dbgen -s 1 -T S -C 8000 -S 8000 -f -b ../dists.dss +../dbgen -s 1 -T s -C 100 -S 1 -f -b ../dists.dss +../dbgen -s 1 -T s -C 100 -S 32 -f -b ../dists.dss +../dbgen -s 1 -T s -C 100 -S 64 -f -b ../dists.dss +../dbgen -s 1 -T s -C 100 -S 96 -f -b ../dists.dss +../dbgen -s 1 -T s -C 100 -S 100 -f -b ../dists.dss +../dbgen -s 1 -T c -C 1500 -S 1 -f -b ../dists.dss +../dbgen -s 1 -T c -C 1500 -S 499 -f -b ../dists.dss +../dbgen -s 1 -T c -C 1500 -S 998 -f -b ../dists.dss +../dbgen -s 1 -T c -C 1500 -S 1497 -f -b ../dists.dss +../dbgen -s 1 -T c -C 1500 -S 1500 -f -b ../dists.dss +../dbgen -T n -f -b ../dists.dss +../dbgen -T r -f -b ../dists.dss diff --git a/tpch/00_compile_tpch/dbgen/reference/cmd_base_sf100 b/tpch/00_compile_tpch/dbgen/reference/cmd_base_sf100 new file mode 100644 index 0000000..682c625 --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/reference/cmd_base_sf100 @@ -0,0 +1,32 @@ +../dbgen -s 100 -T L -C 6000000 -S 1 -f -b ../dists.dss +../dbgen -s 100 -T L -C 6000000 -S 1999999 -f -b ../dists.dss +../dbgen -s 100 -T L -C 6000000 -S 3999998 -f -b ../dists.dss +../dbgen -s 100 -T L -C 6000000 -S 5999997 -f -b ../dists.dss +../dbgen -s 100 -T L -C 6000000 -S 6000000 -f -b ../dists.dss +../dbgen -s 100 -T O -C 1500000 -S 1 -f -b ../dists.dss +../dbgen -s 100 -T O -C 1500000 -S 499999 -f -b ../dists.dss +../dbgen -s 100 -T O -C 1500000 -S 999998 -f -b ../dists.dss +../dbgen -s 100 -T O -C 1500000 -S 1499997 -f -b ../dists.dss +../dbgen -s 100 -T O -C 1500000 -S 1500000 -f -b ../dists.dss +../dbgen -s 100 -T P -C 200000 -S 1 -f -b ../dists.dss +../dbgen -s 100 -T P -C 200000 -S 66666 -f -b ../dists.dss +../dbgen -s 100 -T P -C 200000 -S 133332 -f -b ../dists.dss +../dbgen -s 100 -T P -C 200000 -S 199998 -f -b ../dists.dss +../dbgen -s 100 -T P -C 200000 -S 200000 -f -b ../dists.dss +../dbgen -s 100 -T S -C 800000 -S 1 -f -b ../dists.dss +../dbgen -s 100 -T S -C 800000 -S 266666 -f -b ../dists.dss +../dbgen -s 100 -T S -C 800000 -S 533332 -f -b ../dists.dss +../dbgen -s 100 -T S -C 800000 -S 799998 -f -b ../dists.dss +../dbgen -s 100 -T S -C 800000 -S 800000 -f -b ../dists.dss +../dbgen -s 100 -T s -C 10000 -S 1 -f -b ../dists.dss +../dbgen -s 100 -T s -C 10000 -S 3332 -f -b ../dists.dss +../dbgen -s 100 -T s -C 10000 -S 6664 -f -b ../dists.dss +../dbgen -s 100 -T s -C 10000 -S 9996 -f -b ../dists.dss +../dbgen -s 100 -T s -C 10000 -S 10000 -f -b ../dists.dss +../dbgen -s 100 -T c -C 150000 -S 1 -f -b ../dists.dss +../dbgen -s 100 -T c -C 150000 -S 49999 -f -b ../dists.dss +../dbgen -s 100 -T c -C 150000 -S 99998 -f -b ../dists.dss +../dbgen -s 100 -T c -C 150000 -S 149997 -f -b ../dists.dss +../dbgen -s 100 -T c -C 150000 -S 150000 -f -b ../dists.dss +../dbgen -T n -f -b ../dists.dss +../dbgen -T r -f -b ../dists.dss diff --git a/tpch/00_compile_tpch/dbgen/reference/cmd_base_sf1000 b/tpch/00_compile_tpch/dbgen/reference/cmd_base_sf1000 new file mode 100644 index 0000000..2d734a5 --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/reference/cmd_base_sf1000 @@ -0,0 +1,32 @@ +../dbgen -s 1000 -T L -C 60000000 -S 1 -f -b ../dists.dss +../dbgen -s 1000 -T L -C 60000000 -S 19999999 -f -b ../dists.dss +../dbgen -s 1000 -T L -C 60000000 -S 39999998 -f -b ../dists.dss +../dbgen -s 1000 -T L -C 60000000 -S 59999997 -f -b ../dists.dss +../dbgen -s 1000 -T L -C 60000000 -S 60000000 -f -b ../dists.dss +../dbgen -s 1000 -T O -C 15000000 -S 1 -f -b ../dists.dss +../dbgen -s 1000 -T O -C 15000000 -S 4999999 -f -b ../dists.dss +../dbgen -s 1000 -T O -C 15000000 -S 9999998 -f -b ../dists.dss +../dbgen -s 1000 -T O -C 15000000 -S 14999997 -f -b ../dists.dss +../dbgen -s 1000 -T O -C 15000000 -S 15000000 -f -b ../dists.dss +../dbgen -s 1000 -T P -C 2000000 -S 1 -f -b ../dists.dss +../dbgen -s 1000 -T P -C 2000000 -S 666666 -f -b ../dists.dss +../dbgen -s 1000 -T P -C 2000000 -S 1333332 -f -b ../dists.dss +../dbgen -s 1000 -T P -C 2000000 -S 1999998 -f -b ../dists.dss +../dbgen -s 1000 -T P -C 2000000 -S 2000000 -f -b ../dists.dss +../dbgen -s 1000 -T S -C 8000000 -S 1 -f -b ../dists.dss +../dbgen -s 1000 -T S -C 8000000 -S 2666666 -f -b ../dists.dss +../dbgen -s 1000 -T S -C 8000000 -S 5333332 -f -b ../dists.dss +../dbgen -s 1000 -T S -C 8000000 -S 7999998 -f -b ../dists.dss +../dbgen -s 1000 -T S -C 8000000 -S 8000000 -f -b ../dists.dss +../dbgen -s 1000 -T s -C 100000 -S 1 -f -b ../dists.dss +../dbgen -s 1000 -T s -C 100000 -S 33332 -f -b ../dists.dss +../dbgen -s 1000 -T s -C 100000 -S 66664 -f -b ../dists.dss +../dbgen -s 1000 -T s -C 100000 -S 99996 -f -b ../dists.dss +../dbgen -s 1000 -T s -C 100000 -S 100000 -f -b ../dists.dss +../dbgen -s 1000 -T c -C 1500000 -S 1 -f -b ../dists.dss +../dbgen -s 1000 -T c -C 1500000 -S 499999 -f -b ../dists.dss +../dbgen -s 1000 -T c -C 1500000 -S 999998 -f -b ../dists.dss +../dbgen -s 1000 -T c -C 1500000 -S 1499997 -f -b ../dists.dss +../dbgen -s 1000 -T c -C 1500000 -S 1500000 -f -b ../dists.dss +../dbgen -T n -f -b ../dists.dss +../dbgen -T r -f -b ../dists.dss diff --git a/tpch/00_compile_tpch/dbgen/reference/cmd_base_sf10000 b/tpch/00_compile_tpch/dbgen/reference/cmd_base_sf10000 new file mode 100644 index 0000000..b4073d0 --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/reference/cmd_base_sf10000 @@ -0,0 +1,32 @@ +../dbgen -s 10000 -T L -C 600000000 -S 1 -f -b ../dists.dss +../dbgen -s 10000 -T L -C 600000000 -S 199999999 -f -b ../dists.dss +../dbgen -s 10000 -T L -C 600000000 -S 399999998 -f -b ../dists.dss +../dbgen -s 10000 -T L -C 600000000 -S 599999997 -f -b ../dists.dss +../dbgen -s 10000 -T L -C 600000000 -S 600000000 -f -b ../dists.dss +../dbgen -s 10000 -T O -C 150000000 -S 1 -f -b ../dists.dss +../dbgen -s 10000 -T O -C 150000000 -S 49999999 -f -b ../dists.dss +../dbgen -s 10000 -T O -C 150000000 -S 99999998 -f -b ../dists.dss +../dbgen -s 10000 -T O -C 150000000 -S 149999997 -f -b ../dists.dss +../dbgen -s 10000 -T O -C 150000000 -S 150000000 -f -b ../dists.dss +../dbgen -s 10000 -T P -C 20000000 -S 1 -f -b ../dists.dss +../dbgen -s 10000 -T P -C 20000000 -S 6666666 -f -b ../dists.dss +../dbgen -s 10000 -T P -C 20000000 -S 13333332 -f -b ../dists.dss +../dbgen -s 10000 -T P -C 20000000 -S 19999998 -f -b ../dists.dss +../dbgen -s 10000 -T P -C 20000000 -S 20000000 -f -b ../dists.dss +../dbgen -s 10000 -T S -C 80000000 -S 1 -f -b ../dists.dss +../dbgen -s 10000 -T S -C 80000000 -S 26666666 -f -b ../dists.dss +../dbgen -s 10000 -T S -C 80000000 -S 53333332 -f -b ../dists.dss +../dbgen -s 10000 -T S -C 80000000 -S 79999998 -f -b ../dists.dss +../dbgen -s 10000 -T S -C 80000000 -S 80000000 -f -b ../dists.dss +../dbgen -s 10000 -T s -C 1000000 -S 1 -f -b ../dists.dss +../dbgen -s 10000 -T s -C 1000000 -S 333332 -f -b ../dists.dss +../dbgen -s 10000 -T s -C 1000000 -S 666664 -f -b ../dists.dss +../dbgen -s 10000 -T s -C 1000000 -S 999996 -f -b ../dists.dss +../dbgen -s 10000 -T s -C 1000000 -S 1000000 -f -b ../dists.dss +../dbgen -s 10000 -T c -C 15000000 -S 1 -f -b ../dists.dss +../dbgen -s 10000 -T c -C 15000000 -S 4999999 -f -b ../dists.dss +../dbgen -s 10000 -T c -C 15000000 -S 9999998 -f -b ../dists.dss +../dbgen -s 10000 -T c -C 15000000 -S 14999997 -f -b ../dists.dss +../dbgen -s 10000 -T c -C 15000000 -S 15000000 -f -b ../dists.dss +../dbgen -T n -f -b ../dists.dss +../dbgen -T r -f -b ../dists.dss diff --git a/tpch/00_compile_tpch/dbgen/reference/cmd_base_sf100000 b/tpch/00_compile_tpch/dbgen/reference/cmd_base_sf100000 new file mode 100644 index 0000000..524f23e --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/reference/cmd_base_sf100000 @@ -0,0 +1,32 @@ +../dbgen -s 100000 -T L -C 2000000000 -S 1 -f -b ../dists.dss +../dbgen -s 100000 -T L -C 2000000000 -S 666666666 -f -b ../dists.dss +../dbgen -s 100000 -T L -C 2000000000 -S 1333333332 -f -b ../dists.dss +../dbgen -s 100000 -T L -C 2000000000 -S 1999999998 -f -b ../dists.dss +../dbgen -s 100000 -T L -C 2000000000 -S 2000000000 -f -b ../dists.dss +../dbgen -s 100000 -T O -C 1500000000 -S 1 -f -b ../dists.dss +../dbgen -s 100000 -T O -C 1500000000 -S 499999999 -f -b ../dists.dss +../dbgen -s 100000 -T O -C 1500000000 -S 999999998 -f -b ../dists.dss +../dbgen -s 100000 -T O -C 1500000000 -S 1499999997 -f -b ../dists.dss +../dbgen -s 100000 -T O -C 1500000000 -S 1500000000 -f -b ../dists.dss +../dbgen -s 100000 -T P -C 200000000 -S 1 -f -b ../dists.dss +../dbgen -s 100000 -T P -C 200000000 -S 66666666 -f -b ../dists.dss +../dbgen -s 100000 -T P -C 200000000 -S 133333332 -f -b ../dists.dss +../dbgen -s 100000 -T P -C 200000000 -S 199999998 -f -b ../dists.dss +../dbgen -s 100000 -T P -C 200000000 -S 200000000 -f -b ../dists.dss +../dbgen -s 100000 -T S -C 800000000 -S 1 -f -b ../dists.dss +../dbgen -s 100000 -T S -C 800000000 -S 266666666 -f -b ../dists.dss +../dbgen -s 100000 -T S -C 800000000 -S 533333332 -f -b ../dists.dss +../dbgen -s 100000 -T S -C 800000000 -S 799999998 -f -b ../dists.dss +../dbgen -s 100000 -T S -C 800000000 -S 800000000 -f -b ../dists.dss +../dbgen -s 100000 -T s -C 10000000 -S 1 -f -b ../dists.dss +../dbgen -s 100000 -T s -C 10000000 -S 3333332 -f -b ../dists.dss +../dbgen -s 100000 -T s -C 10000000 -S 6666664 -f -b ../dists.dss +../dbgen -s 100000 -T s -C 10000000 -S 9999996 -f -b ../dists.dss +../dbgen -s 100000 -T s -C 10000000 -S 10000000 -f -b ../dists.dss +../dbgen -s 100000 -T c -C 150000000 -S 1 -f -b ../dists.dss +../dbgen -s 100000 -T c -C 150000000 -S 49999999 -f -b ../dists.dss +../dbgen -s 100000 -T c -C 150000000 -S 99999998 -f -b ../dists.dss +../dbgen -s 100000 -T c -C 150000000 -S 149999997 -f -b ../dists.dss +../dbgen -s 100000 -T c -C 150000000 -S 150000000 -f -b ../dists.dss +../dbgen -T n -f -b ../dists.dss +../dbgen -T r -f -b ../dists.dss diff --git a/tpch/00_compile_tpch/dbgen/reference/cmd_base_sf300 b/tpch/00_compile_tpch/dbgen/reference/cmd_base_sf300 new file mode 100644 index 0000000..f28fb9a --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/reference/cmd_base_sf300 @@ -0,0 +1,32 @@ +../dbgen -s 300 -T L -C 18000000 -S 1 -f -b ../dists.dss +../dbgen -s 300 -T L -C 18000000 -S 5999999 -f -b ../dists.dss +../dbgen -s 300 -T L -C 18000000 -S 11999998 -f -b ../dists.dss +../dbgen -s 300 -T L -C 18000000 -S 17999997 -f -b ../dists.dss +../dbgen -s 300 -T L -C 18000000 -S 18000000 -f -b ../dists.dss +../dbgen -s 300 -T O -C 4500000 -S 1 -f -b ../dists.dss +../dbgen -s 300 -T O -C 4500000 -S 1499999 -f -b ../dists.dss +../dbgen -s 300 -T O -C 4500000 -S 2999998 -f -b ../dists.dss +../dbgen -s 300 -T O -C 4500000 -S 4499997 -f -b ../dists.dss +../dbgen -s 300 -T O -C 4500000 -S 4500000 -f -b ../dists.dss +../dbgen -s 300 -T P -C 600000 -S 1 -f -b ../dists.dss +../dbgen -s 300 -T P -C 600000 -S 199999 -f -b ../dists.dss +../dbgen -s 300 -T P -C 600000 -S 399998 -f -b ../dists.dss +../dbgen -s 300 -T P -C 600000 -S 599997 -f -b ../dists.dss +../dbgen -s 300 -T P -C 600000 -S 600000 -f -b ../dists.dss +../dbgen -s 300 -T S -C 2400000 -S 1 -f -b ../dists.dss +../dbgen -s 300 -T S -C 2400000 -S 799999 -f -b ../dists.dss +../dbgen -s 300 -T S -C 2400000 -S 1599998 -f -b ../dists.dss +../dbgen -s 300 -T S -C 2400000 -S 2399997 -f -b ../dists.dss +../dbgen -s 300 -T S -C 2400000 -S 2400000 -f -b ../dists.dss +../dbgen -s 300 -T s -C 30000 -S 1 -f -b ../dists.dss +../dbgen -s 300 -T s -C 30000 -S 9999 -f -b ../dists.dss +../dbgen -s 300 -T s -C 30000 -S 19998 -f -b ../dists.dss +../dbgen -s 300 -T s -C 30000 -S 29997 -f -b ../dists.dss +../dbgen -s 300 -T s -C 30000 -S 30000 -f -b ../dists.dss +../dbgen -s 300 -T c -C 450000 -S 1 -f -b ../dists.dss +../dbgen -s 300 -T c -C 450000 -S 149999 -f -b ../dists.dss +../dbgen -s 300 -T c -C 450000 -S 299998 -f -b ../dists.dss +../dbgen -s 300 -T c -C 450000 -S 449997 -f -b ../dists.dss +../dbgen -s 300 -T c -C 450000 -S 450000 -f -b ../dists.dss +../dbgen -T n -f -b ../dists.dss +../dbgen -T r -f -b ../dists.dss diff --git a/tpch/00_compile_tpch/dbgen/reference/cmd_base_sf3000 b/tpch/00_compile_tpch/dbgen/reference/cmd_base_sf3000 new file mode 100644 index 0000000..c1caf57 --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/reference/cmd_base_sf3000 @@ -0,0 +1,32 @@ +../dbgen -s 3000 -T L -C 180000000 -S 1 -f -b ../dists.dss +../dbgen -s 3000 -T L -C 180000000 -S 59999999 -f -b ../dists.dss +../dbgen -s 3000 -T L -C 180000000 -S 119999998 -f -b ../dists.dss +../dbgen -s 3000 -T L -C 180000000 -S 179999997 -f -b ../dists.dss +../dbgen -s 3000 -T L -C 180000000 -S 180000000 -f -b ../dists.dss +../dbgen -s 3000 -T O -C 45000000 -S 1 -f -b ../dists.dss +../dbgen -s 3000 -T O -C 45000000 -S 14999999 -f -b ../dists.dss +../dbgen -s 3000 -T O -C 45000000 -S 29999998 -f -b ../dists.dss +../dbgen -s 3000 -T O -C 45000000 -S 44999997 -f -b ../dists.dss +../dbgen -s 3000 -T O -C 45000000 -S 45000000 -f -b ../dists.dss +../dbgen -s 3000 -T P -C 6000000 -S 1 -f -b ../dists.dss +../dbgen -s 3000 -T P -C 6000000 -S 1999999 -f -b ../dists.dss +../dbgen -s 3000 -T P -C 6000000 -S 3999998 -f -b ../dists.dss +../dbgen -s 3000 -T P -C 6000000 -S 5999997 -f -b ../dists.dss +../dbgen -s 3000 -T P -C 6000000 -S 6000000 -f -b ../dists.dss +../dbgen -s 3000 -T S -C 24000000 -S 1 -f -b ../dists.dss +../dbgen -s 3000 -T S -C 24000000 -S 7999999 -f -b ../dists.dss +../dbgen -s 3000 -T S -C 24000000 -S 15999998 -f -b ../dists.dss +../dbgen -s 3000 -T S -C 24000000 -S 23999997 -f -b ../dists.dss +../dbgen -s 3000 -T S -C 24000000 -S 24000000 -f -b ../dists.dss +../dbgen -s 3000 -T s -C 300000 -S 1 -f -b ../dists.dss +../dbgen -s 3000 -T s -C 300000 -S 99999 -f -b ../dists.dss +../dbgen -s 3000 -T s -C 300000 -S 199998 -f -b ../dists.dss +../dbgen -s 3000 -T s -C 300000 -S 299997 -f -b ../dists.dss +../dbgen -s 3000 -T s -C 300000 -S 300000 -f -b ../dists.dss +../dbgen -s 3000 -T c -C 4500000 -S 1 -f -b ../dists.dss +../dbgen -s 3000 -T c -C 4500000 -S 1499999 -f -b ../dists.dss +../dbgen -s 3000 -T c -C 4500000 -S 2999998 -f -b ../dists.dss +../dbgen -s 3000 -T c -C 4500000 -S 4499997 -f -b ../dists.dss +../dbgen -s 3000 -T c -C 4500000 -S 4500000 -f -b ../dists.dss +../dbgen -T n -f -b ../dists.dss +../dbgen -T r -f -b ../dists.dss diff --git a/tpch/00_compile_tpch/dbgen/reference/cmd_base_sf30000 b/tpch/00_compile_tpch/dbgen/reference/cmd_base_sf30000 new file mode 100644 index 0000000..6d4d647 --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/reference/cmd_base_sf30000 @@ -0,0 +1,32 @@ +../dbgen -s 30000 -T L -C 1800000000 -S 1 -f -b ../dists.dss +../dbgen -s 30000 -T L -C 1800000000 -S 599999999 -f -b ../dists.dss +../dbgen -s 30000 -T L -C 1800000000 -S 1199999998 -f -b ../dists.dss +../dbgen -s 30000 -T L -C 1800000000 -S 1799999997 -f -b ../dists.dss +../dbgen -s 30000 -T L -C 1800000000 -S 1800000000 -f -b ../dists.dss +../dbgen -s 30000 -T O -C 450000000 -S 1 -f -b ../dists.dss +../dbgen -s 30000 -T O -C 450000000 -S 149999999 -f -b ../dists.dss +../dbgen -s 30000 -T O -C 450000000 -S 299999998 -f -b ../dists.dss +../dbgen -s 30000 -T O -C 450000000 -S 449999997 -f -b ../dists.dss +../dbgen -s 30000 -T O -C 450000000 -S 450000000 -f -b ../dists.dss +../dbgen -s 30000 -T P -C 60000000 -S 1 -f -b ../dists.dss +../dbgen -s 30000 -T P -C 60000000 -S 19999999 -f -b ../dists.dss +../dbgen -s 30000 -T P -C 60000000 -S 39999998 -f -b ../dists.dss +../dbgen -s 30000 -T P -C 60000000 -S 59999997 -f -b ../dists.dss +../dbgen -s 30000 -T P -C 60000000 -S 60000000 -f -b ../dists.dss +../dbgen -s 30000 -T S -C 240000000 -S 1 -f -b ../dists.dss +../dbgen -s 30000 -T S -C 240000000 -S 79999999 -f -b ../dists.dss +../dbgen -s 30000 -T S -C 240000000 -S 159999998 -f -b ../dists.dss +../dbgen -s 30000 -T S -C 240000000 -S 239999997 -f -b ../dists.dss +../dbgen -s 30000 -T S -C 240000000 -S 240000000 -f -b ../dists.dss +../dbgen -s 30000 -T s -C 3000000 -S 1 -f -b ../dists.dss +../dbgen -s 30000 -T s -C 3000000 -S 999999 -f -b ../dists.dss +../dbgen -s 30000 -T s -C 3000000 -S 1999998 -f -b ../dists.dss +../dbgen -s 30000 -T s -C 3000000 -S 2999997 -f -b ../dists.dss +../dbgen -s 30000 -T s -C 3000000 -S 3000000 -f -b ../dists.dss +../dbgen -s 30000 -T c -C 45000000 -S 1 -f -b ../dists.dss +../dbgen -s 30000 -T c -C 45000000 -S 14999999 -f -b ../dists.dss +../dbgen -s 30000 -T c -C 45000000 -S 29999998 -f -b ../dists.dss +../dbgen -s 30000 -T c -C 45000000 -S 44999997 -f -b ../dists.dss +../dbgen -s 30000 -T c -C 45000000 -S 45000000 -f -b ../dists.dss +../dbgen -T n -f -b ../dists.dss +../dbgen -T r -f -b ../dists.dss diff --git a/tpch/00_compile_tpch/dbgen/reference/cmd_base_small b/tpch/00_compile_tpch/dbgen/reference/cmd_base_small new file mode 100644 index 0000000..f0bdfb7 --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/reference/cmd_base_small @@ -0,0 +1,22 @@ +../dbgen -s 30000 -T P -C 60000000 -S 1 -f -b ../dists.dss +../dbgen -s 30000 -T P -C 60000000 -S 19999999 -f -b ../dists.dss +../dbgen -s 30000 -T P -C 60000000 -S 39999998 -f -b ../dists.dss +../dbgen -s 30000 -T P -C 60000000 -S 59999997 -f -b ../dists.dss +../dbgen -s 30000 -T P -C 60000000 -S 60000000 -f -b ../dists.dss +../dbgen -s 30000 -T S -C 240000000 -S 1 -f -b ../dists.dss +../dbgen -s 30000 -T S -C 240000000 -S 79999999 -f -b ../dists.dss +../dbgen -s 30000 -T S -C 240000000 -S 159999998 -f -b ../dists.dss +../dbgen -s 30000 -T S -C 240000000 -S 239999997 -f -b ../dists.dss +../dbgen -s 30000 -T S -C 240000000 -S 240000000 -f -b ../dists.dss +../dbgen -s 30000 -T s -C 3000000 -S 1 -f -b ../dists.dss +../dbgen -s 30000 -T s -C 3000000 -S 999999 -f -b ../dists.dss +../dbgen -s 30000 -T s -C 3000000 -S 1999998 -f -b ../dists.dss +../dbgen -s 30000 -T s -C 3000000 -S 2999997 -f -b ../dists.dss +../dbgen -s 30000 -T s -C 3000000 -S 3000000 -f -b ../dists.dss +../dbgen -s 30000 -T c -C 45000000 -S 1 -f -b ../dists.dss +../dbgen -s 30000 -T c -C 45000000 -S 14999999 -f -b ../dists.dss +../dbgen -s 30000 -T c -C 45000000 -S 29999998 -f -b ../dists.dss +../dbgen -s 30000 -T c -C 45000000 -S 44999997 -f -b ../dists.dss +../dbgen -s 30000 -T c -C 45000000 -S 45000000 -f -b ../dists.dss +../dbgen -T n -f -b ../dists.dss +../dbgen -T r -f -b ../dists.dss diff --git a/tpch/00_compile_tpch/dbgen/reference/cmd_qgen_sf1 b/tpch/00_compile_tpch/dbgen/reference/cmd_qgen_sf1 new file mode 100644 index 0000000..00abce1 --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/reference/cmd_qgen_sf1 @@ -0,0 +1,150 @@ +../qgen -s 1 -r 0101000000 -l subparam_1 -b ../dists.dss +../qgen -s 1 -r 8204031 -l subparam_2 -b ../dists.dss +../qgen -s 1 -r 16408062 -l subparam_3 -b ../dists.dss +../qgen -s 1 -r 24612093 -l subparam_4 -b ../dists.dss +../qgen -s 1 -r 32816124 -l subparam_5 -b ../dists.dss +../qgen -s 1 -r 41020155 -l subparam_6 -b ../dists.dss +../qgen -s 1 -r 49224186 -l subparam_7 -b ../dists.dss +../qgen -s 1 -r 57428217 -l subparam_8 -b ../dists.dss +../qgen -s 1 -r 65632248 -l subparam_9 -b ../dists.dss +../qgen -s 1 -r 73836279 -l subparam_10 -b ../dists.dss +../qgen -s 1 -r 82040310 -l subparam_11 -b ../dists.dss +../qgen -s 1 -r 90244341 -l subparam_12 -b ../dists.dss +../qgen -s 1 -r 98448372 -l subparam_13 -b ../dists.dss +../qgen -s 1 -r 106652403 -l subparam_14 -b ../dists.dss +../qgen -s 1 -r 114856434 -l subparam_15 -b ../dists.dss +../qgen -s 1 -r 123060465 -l subparam_16 -b ../dists.dss +../qgen -s 1 -r 131264496 -l subparam_17 -b ../dists.dss +../qgen -s 1 -r 139468527 -l subparam_18 -b ../dists.dss +../qgen -s 1 -r 147672558 -l subparam_19 -b ../dists.dss +../qgen -s 1 -r 155876589 -l subparam_20 -b ../dists.dss +../qgen -s 1 -r 164080620 -l subparam_21 -b ../dists.dss +../qgen -s 1 -r 172284651 -l subparam_22 -b ../dists.dss +../qgen -s 1 -r 180488682 -l subparam_23 -b ../dists.dss +../qgen -s 1 -r 188692713 -l subparam_24 -b ../dists.dss +../qgen -s 1 -r 196896744 -l subparam_25 -b ../dists.dss +../qgen -s 1 -r 205100775 -l subparam_26 -b ../dists.dss +../qgen -s 1 -r 213304806 -l subparam_27 -b ../dists.dss +../qgen -s 1 -r 221508837 -l subparam_28 -b ../dists.dss +../qgen -s 1 -r 229712868 -l subparam_29 -b ../dists.dss +../qgen -s 1 -r 237916899 -l subparam_30 -b ../dists.dss +../qgen -s 1 -r 246120930 -l subparam_31 -b ../dists.dss +../qgen -s 1 -r 254324961 -l subparam_32 -b ../dists.dss +../qgen -s 1 -r 262528992 -l subparam_33 -b ../dists.dss +../qgen -s 1 -r 270733023 -l subparam_34 -b ../dists.dss +../qgen -s 1 -r 278937054 -l subparam_35 -b ../dists.dss +../qgen -s 1 -r 287141085 -l subparam_36 -b ../dists.dss +../qgen -s 1 -r 295345116 -l subparam_37 -b ../dists.dss +../qgen -s 1 -r 303549147 -l subparam_38 -b ../dists.dss +../qgen -s 1 -r 311753178 -l subparam_39 -b ../dists.dss +../qgen -s 1 -r 319957209 -l subparam_40 -b ../dists.dss +../qgen -s 1 -r 328161240 -l subparam_41 -b ../dists.dss +../qgen -s 1 -r 336365271 -l subparam_42 -b ../dists.dss +../qgen -s 1 -r 344569302 -l subparam_43 -b ../dists.dss +../qgen -s 1 -r 352773333 -l subparam_44 -b ../dists.dss +../qgen -s 1 -r 360977364 -l subparam_45 -b ../dists.dss +../qgen -s 1 -r 369181395 -l subparam_46 -b ../dists.dss +../qgen -s 1 -r 377385426 -l subparam_47 -b ../dists.dss +../qgen -s 1 -r 385589457 -l subparam_48 -b ../dists.dss +../qgen -s 1 -r 393793488 -l subparam_49 -b ../dists.dss +../qgen -s 1 -r 401997519 -l subparam_50 -b ../dists.dss +../qgen -s 1 -r 410201550 -l subparam_51 -b ../dists.dss +../qgen -s 1 -r 418405581 -l subparam_52 -b ../dists.dss +../qgen -s 1 -r 426609612 -l subparam_53 -b ../dists.dss +../qgen -s 1 -r 434813643 -l subparam_54 -b ../dists.dss +../qgen -s 1 -r 443017674 -l subparam_55 -b ../dists.dss +../qgen -s 1 -r 451221705 -l subparam_56 -b ../dists.dss +../qgen -s 1 -r 459425736 -l subparam_57 -b ../dists.dss +../qgen -s 1 -r 467629767 -l subparam_58 -b ../dists.dss +../qgen -s 1 -r 475833798 -l subparam_59 -b ../dists.dss +../qgen -s 1 -r 484037829 -l subparam_60 -b ../dists.dss +../qgen -s 1 -r 492241860 -l subparam_61 -b ../dists.dss +../qgen -s 1 -r 500445891 -l subparam_62 -b ../dists.dss +../qgen -s 1 -r 508649922 -l subparam_63 -b ../dists.dss +../qgen -s 1 -r 516853953 -l subparam_64 -b ../dists.dss +../qgen -s 1 -r 525057984 -l subparam_65 -b ../dists.dss +../qgen -s 1 -r 533262015 -l subparam_66 -b ../dists.dss +../qgen -s 1 -r 541466046 -l subparam_67 -b ../dists.dss +../qgen -s 1 -r 549670077 -l subparam_68 -b ../dists.dss +../qgen -s 1 -r 557874108 -l subparam_69 -b ../dists.dss +../qgen -s 1 -r 566078139 -l subparam_70 -b ../dists.dss +../qgen -s 1 -r 574282170 -l subparam_71 -b ../dists.dss +../qgen -s 1 -r 582486201 -l subparam_72 -b ../dists.dss +../qgen -s 1 -r 590690232 -l subparam_73 -b ../dists.dss +../qgen -s 1 -r 598894263 -l subparam_74 -b ../dists.dss +../qgen -s 1 -r 607098294 -l subparam_75 -b ../dists.dss +../qgen -s 1 -r 615302325 -l subparam_76 -b ../dists.dss +../qgen -s 1 -r 623506356 -l subparam_77 -b ../dists.dss +../qgen -s 1 -r 631710387 -l subparam_78 -b ../dists.dss +../qgen -s 1 -r 639914418 -l subparam_79 -b ../dists.dss +../qgen -s 1 -r 648118449 -l subparam_80 -b ../dists.dss +../qgen -s 1 -r 656322480 -l subparam_81 -b ../dists.dss +../qgen -s 1 -r 664526511 -l subparam_82 -b ../dists.dss +../qgen -s 1 -r 672730542 -l subparam_83 -b ../dists.dss +../qgen -s 1 -r 680934573 -l subparam_84 -b ../dists.dss +../qgen -s 1 -r 689138604 -l subparam_85 -b ../dists.dss +../qgen -s 1 -r 697342635 -l subparam_86 -b ../dists.dss +../qgen -s 1 -r 705546666 -l subparam_87 -b ../dists.dss +../qgen -s 1 -r 713750697 -l subparam_88 -b ../dists.dss +../qgen -s 1 -r 721954728 -l subparam_89 -b ../dists.dss +../qgen -s 1 -r 730158759 -l subparam_90 -b ../dists.dss +../qgen -s 1 -r 738362790 -l subparam_91 -b ../dists.dss +../qgen -s 1 -r 746566821 -l subparam_92 -b ../dists.dss +../qgen -s 1 -r 754770852 -l subparam_93 -b ../dists.dss +../qgen -s 1 -r 762974883 -l subparam_94 -b ../dists.dss +../qgen -s 1 -r 771178914 -l subparam_95 -b ../dists.dss +../qgen -s 1 -r 779382945 -l subparam_96 -b ../dists.dss +../qgen -s 1 -r 787586976 -l subparam_97 -b ../dists.dss +../qgen -s 1 -r 795791007 -l subparam_98 -b ../dists.dss +../qgen -s 1 -r 803995038 -l subparam_99 -b ../dists.dss +../qgen -s 1 -r 812199069 -l subparam_100 -b ../dists.dss +../qgen -s 1 -r 820403100 -l subparam_101 -b ../dists.dss +../qgen -s 1 -r 828607131 -l subparam_102 -b ../dists.dss +../qgen -s 1 -r 836811162 -l subparam_103 -b ../dists.dss +../qgen -s 1 -r 845015193 -l subparam_104 -b ../dists.dss +../qgen -s 1 -r 853219224 -l subparam_105 -b ../dists.dss +../qgen -s 1 -r 861423255 -l subparam_106 -b ../dists.dss +../qgen -s 1 -r 869627286 -l subparam_107 -b ../dists.dss +../qgen -s 1 -r 877831317 -l subparam_108 -b ../dists.dss +../qgen -s 1 -r 886035348 -l subparam_109 -b ../dists.dss +../qgen -s 1 -r 894239379 -l subparam_110 -b ../dists.dss +../qgen -s 1 -r 902443410 -l subparam_111 -b ../dists.dss +../qgen -s 1 -r 910647441 -l subparam_112 -b ../dists.dss +../qgen -s 1 -r 918851472 -l subparam_113 -b ../dists.dss +../qgen -s 1 -r 927055503 -l subparam_114 -b ../dists.dss +../qgen -s 1 -r 935259534 -l subparam_115 -b ../dists.dss +../qgen -s 1 -r 943463565 -l subparam_116 -b ../dists.dss +../qgen -s 1 -r 951667596 -l subparam_117 -b ../dists.dss +../qgen -s 1 -r 959871627 -l subparam_118 -b ../dists.dss +../qgen -s 1 -r 968075658 -l subparam_119 -b ../dists.dss +../qgen -s 1 -r 976279689 -l subparam_120 -b ../dists.dss +../qgen -s 1 -r 984483720 -l subparam_121 -b ../dists.dss +../qgen -s 1 -r 992687751 -l subparam_122 -b ../dists.dss +../qgen -s 1 -r 1000891782 -l subparam_123 -b ../dists.dss +../qgen -s 1 -r 1009095813 -l subparam_124 -b ../dists.dss +../qgen -s 1 -r 1017299844 -l subparam_125 -b ../dists.dss +../qgen -s 1 -r 1025503875 -l subparam_126 -b ../dists.dss +../qgen -s 1 -r 1033707906 -l subparam_127 -b ../dists.dss +../qgen -s 1 -r 1041911937 -l subparam_128 -b ../dists.dss +../qgen -s 1 -r 1050115968 -l subparam_129 -b ../dists.dss +../qgen -s 1 -r 1058319999 -l subparam_130 -b ../dists.dss +../qgen -s 1 -r 1066524030 -l subparam_131 -b ../dists.dss +../qgen -s 1 -r 1074728061 -l subparam_132 -b ../dists.dss +../qgen -s 1 -r 1082932092 -l subparam_133 -b ../dists.dss +../qgen -s 1 -r 1091136123 -l subparam_134 -b ../dists.dss +../qgen -s 1 -r 1099340154 -l subparam_135 -b ../dists.dss +../qgen -s 1 -r 1107544185 -l subparam_136 -b ../dists.dss +../qgen -s 1 -r 1115748216 -l subparam_137 -b ../dists.dss +../qgen -s 1 -r 1123952247 -l subparam_138 -b ../dists.dss +../qgen -s 1 -r 1132156278 -l subparam_139 -b ../dists.dss +../qgen -s 1 -r 1140360309 -l subparam_140 -b ../dists.dss +../qgen -s 1 -r 1148564340 -l subparam_141 -b ../dists.dss +../qgen -s 1 -r 1156768371 -l subparam_142 -b ../dists.dss +../qgen -s 1 -r 1164972402 -l subparam_143 -b ../dists.dss +../qgen -s 1 -r 1173176433 -l subparam_144 -b ../dists.dss +../qgen -s 1 -r 1181380464 -l subparam_145 -b ../dists.dss +../qgen -s 1 -r 1189584495 -l subparam_146 -b ../dists.dss +../qgen -s 1 -r 1197788526 -l subparam_147 -b ../dists.dss +../qgen -s 1 -r 1205992557 -l subparam_148 -b ../dists.dss +../qgen -s 1 -r 1214196588 -l subparam_149 -b ../dists.dss +../qgen -s 1 -r 1231235959 -l subparam_150 -b ../dists.dss diff --git a/tpch/00_compile_tpch/dbgen/reference/cmd_qgen_sf100 b/tpch/00_compile_tpch/dbgen/reference/cmd_qgen_sf100 new file mode 100644 index 0000000..e26ea08 --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/reference/cmd_qgen_sf100 @@ -0,0 +1,150 @@ +../qgen -s 100 -r 0101000000 -l subparam_1 -b ../dists.dss +../qgen -s 100 -r 8204031 -l subparam_2 -b ../dists.dss +../qgen -s 100 -r 16408062 -l subparam_3 -b ../dists.dss +../qgen -s 100 -r 24612093 -l subparam_4 -b ../dists.dss +../qgen -s 100 -r 32816124 -l subparam_5 -b ../dists.dss +../qgen -s 100 -r 41020155 -l subparam_6 -b ../dists.dss +../qgen -s 100 -r 49224186 -l subparam_7 -b ../dists.dss +../qgen -s 100 -r 57428217 -l subparam_8 -b ../dists.dss +../qgen -s 100 -r 65632248 -l subparam_9 -b ../dists.dss +../qgen -s 100 -r 73836279 -l subparam_10 -b ../dists.dss +../qgen -s 100 -r 82040310 -l subparam_11 -b ../dists.dss +../qgen -s 100 -r 90244341 -l subparam_12 -b ../dists.dss +../qgen -s 100 -r 98448372 -l subparam_13 -b ../dists.dss +../qgen -s 100 -r 106652403 -l subparam_14 -b ../dists.dss +../qgen -s 100 -r 114856434 -l subparam_15 -b ../dists.dss +../qgen -s 100 -r 123060465 -l subparam_16 -b ../dists.dss +../qgen -s 100 -r 131264496 -l subparam_17 -b ../dists.dss +../qgen -s 100 -r 139468527 -l subparam_18 -b ../dists.dss +../qgen -s 100 -r 147672558 -l subparam_19 -b ../dists.dss +../qgen -s 100 -r 155876589 -l subparam_20 -b ../dists.dss +../qgen -s 100 -r 164080620 -l subparam_21 -b ../dists.dss +../qgen -s 100 -r 172284651 -l subparam_22 -b ../dists.dss +../qgen -s 100 -r 180488682 -l subparam_23 -b ../dists.dss +../qgen -s 100 -r 188692713 -l subparam_24 -b ../dists.dss +../qgen -s 100 -r 196896744 -l subparam_25 -b ../dists.dss +../qgen -s 100 -r 205100775 -l subparam_26 -b ../dists.dss +../qgen -s 100 -r 213304806 -l subparam_27 -b ../dists.dss +../qgen -s 100 -r 221508837 -l subparam_28 -b ../dists.dss +../qgen -s 100 -r 229712868 -l subparam_29 -b ../dists.dss +../qgen -s 100 -r 237916899 -l subparam_30 -b ../dists.dss +../qgen -s 100 -r 246120930 -l subparam_31 -b ../dists.dss +../qgen -s 100 -r 254324961 -l subparam_32 -b ../dists.dss +../qgen -s 100 -r 262528992 -l subparam_33 -b ../dists.dss +../qgen -s 100 -r 270733023 -l subparam_34 -b ../dists.dss +../qgen -s 100 -r 278937054 -l subparam_35 -b ../dists.dss +../qgen -s 100 -r 287141085 -l subparam_36 -b ../dists.dss +../qgen -s 100 -r 295345116 -l subparam_37 -b ../dists.dss +../qgen -s 100 -r 303549147 -l subparam_38 -b ../dists.dss +../qgen -s 100 -r 311753178 -l subparam_39 -b ../dists.dss +../qgen -s 100 -r 319957209 -l subparam_40 -b ../dists.dss +../qgen -s 100 -r 328161240 -l subparam_41 -b ../dists.dss +../qgen -s 100 -r 336365271 -l subparam_42 -b ../dists.dss +../qgen -s 100 -r 344569302 -l subparam_43 -b ../dists.dss +../qgen -s 100 -r 352773333 -l subparam_44 -b ../dists.dss +../qgen -s 100 -r 360977364 -l subparam_45 -b ../dists.dss +../qgen -s 100 -r 369181395 -l subparam_46 -b ../dists.dss +../qgen -s 100 -r 377385426 -l subparam_47 -b ../dists.dss +../qgen -s 100 -r 385589457 -l subparam_48 -b ../dists.dss +../qgen -s 100 -r 393793488 -l subparam_49 -b ../dists.dss +../qgen -s 100 -r 401997519 -l subparam_50 -b ../dists.dss +../qgen -s 100 -r 410201550 -l subparam_51 -b ../dists.dss +../qgen -s 100 -r 418405581 -l subparam_52 -b ../dists.dss +../qgen -s 100 -r 426609612 -l subparam_53 -b ../dists.dss +../qgen -s 100 -r 434813643 -l subparam_54 -b ../dists.dss +../qgen -s 100 -r 443017674 -l subparam_55 -b ../dists.dss +../qgen -s 100 -r 451221705 -l subparam_56 -b ../dists.dss +../qgen -s 100 -r 459425736 -l subparam_57 -b ../dists.dss +../qgen -s 100 -r 467629767 -l subparam_58 -b ../dists.dss +../qgen -s 100 -r 475833798 -l subparam_59 -b ../dists.dss +../qgen -s 100 -r 484037829 -l subparam_60 -b ../dists.dss +../qgen -s 100 -r 492241860 -l subparam_61 -b ../dists.dss +../qgen -s 100 -r 500445891 -l subparam_62 -b ../dists.dss +../qgen -s 100 -r 508649922 -l subparam_63 -b ../dists.dss +../qgen -s 100 -r 516853953 -l subparam_64 -b ../dists.dss +../qgen -s 100 -r 525057984 -l subparam_65 -b ../dists.dss +../qgen -s 100 -r 533262015 -l subparam_66 -b ../dists.dss +../qgen -s 100 -r 541466046 -l subparam_67 -b ../dists.dss +../qgen -s 100 -r 549670077 -l subparam_68 -b ../dists.dss +../qgen -s 100 -r 557874108 -l subparam_69 -b ../dists.dss +../qgen -s 100 -r 566078139 -l subparam_70 -b ../dists.dss +../qgen -s 100 -r 574282170 -l subparam_71 -b ../dists.dss +../qgen -s 100 -r 582486201 -l subparam_72 -b ../dists.dss +../qgen -s 100 -r 590690232 -l subparam_73 -b ../dists.dss +../qgen -s 100 -r 598894263 -l subparam_74 -b ../dists.dss +../qgen -s 100 -r 607098294 -l subparam_75 -b ../dists.dss +../qgen -s 100 -r 615302325 -l subparam_76 -b ../dists.dss +../qgen -s 100 -r 623506356 -l subparam_77 -b ../dists.dss +../qgen -s 100 -r 631710387 -l subparam_78 -b ../dists.dss +../qgen -s 100 -r 639914418 -l subparam_79 -b ../dists.dss +../qgen -s 100 -r 648118449 -l subparam_80 -b ../dists.dss +../qgen -s 100 -r 656322480 -l subparam_81 -b ../dists.dss +../qgen -s 100 -r 664526511 -l subparam_82 -b ../dists.dss +../qgen -s 100 -r 672730542 -l subparam_83 -b ../dists.dss +../qgen -s 100 -r 680934573 -l subparam_84 -b ../dists.dss +../qgen -s 100 -r 689138604 -l subparam_85 -b ../dists.dss +../qgen -s 100 -r 697342635 -l subparam_86 -b ../dists.dss +../qgen -s 100 -r 705546666 -l subparam_87 -b ../dists.dss +../qgen -s 100 -r 713750697 -l subparam_88 -b ../dists.dss +../qgen -s 100 -r 721954728 -l subparam_89 -b ../dists.dss +../qgen -s 100 -r 730158759 -l subparam_90 -b ../dists.dss +../qgen -s 100 -r 738362790 -l subparam_91 -b ../dists.dss +../qgen -s 100 -r 746566821 -l subparam_92 -b ../dists.dss +../qgen -s 100 -r 754770852 -l subparam_93 -b ../dists.dss +../qgen -s 100 -r 762974883 -l subparam_94 -b ../dists.dss +../qgen -s 100 -r 771178914 -l subparam_95 -b ../dists.dss +../qgen -s 100 -r 779382945 -l subparam_96 -b ../dists.dss +../qgen -s 100 -r 787586976 -l subparam_97 -b ../dists.dss +../qgen -s 100 -r 795791007 -l subparam_98 -b ../dists.dss +../qgen -s 100 -r 803995038 -l subparam_99 -b ../dists.dss +../qgen -s 100 -r 812199069 -l subparam_100 -b ../dists.dss +../qgen -s 100 -r 820403100 -l subparam_101 -b ../dists.dss +../qgen -s 100 -r 828607131 -l subparam_102 -b ../dists.dss +../qgen -s 100 -r 836811162 -l subparam_103 -b ../dists.dss +../qgen -s 100 -r 845015193 -l subparam_104 -b ../dists.dss +../qgen -s 100 -r 853219224 -l subparam_105 -b ../dists.dss +../qgen -s 100 -r 861423255 -l subparam_106 -b ../dists.dss +../qgen -s 100 -r 869627286 -l subparam_107 -b ../dists.dss +../qgen -s 100 -r 877831317 -l subparam_108 -b ../dists.dss +../qgen -s 100 -r 886035348 -l subparam_109 -b ../dists.dss +../qgen -s 100 -r 894239379 -l subparam_110 -b ../dists.dss +../qgen -s 100 -r 902443410 -l subparam_111 -b ../dists.dss +../qgen -s 100 -r 910647441 -l subparam_112 -b ../dists.dss +../qgen -s 100 -r 918851472 -l subparam_113 -b ../dists.dss +../qgen -s 100 -r 927055503 -l subparam_114 -b ../dists.dss +../qgen -s 100 -r 935259534 -l subparam_115 -b ../dists.dss +../qgen -s 100 -r 943463565 -l subparam_116 -b ../dists.dss +../qgen -s 100 -r 951667596 -l subparam_117 -b ../dists.dss +../qgen -s 100 -r 959871627 -l subparam_118 -b ../dists.dss +../qgen -s 100 -r 968075658 -l subparam_119 -b ../dists.dss +../qgen -s 100 -r 976279689 -l subparam_120 -b ../dists.dss +../qgen -s 100 -r 984483720 -l subparam_121 -b ../dists.dss +../qgen -s 100 -r 992687751 -l subparam_122 -b ../dists.dss +../qgen -s 100 -r 1000891782 -l subparam_123 -b ../dists.dss +../qgen -s 100 -r 1009095813 -l subparam_124 -b ../dists.dss +../qgen -s 100 -r 1017299844 -l subparam_125 -b ../dists.dss +../qgen -s 100 -r 1025503875 -l subparam_126 -b ../dists.dss +../qgen -s 100 -r 1033707906 -l subparam_127 -b ../dists.dss +../qgen -s 100 -r 1041911937 -l subparam_128 -b ../dists.dss +../qgen -s 100 -r 1050115968 -l subparam_129 -b ../dists.dss +../qgen -s 100 -r 1058319999 -l subparam_130 -b ../dists.dss +../qgen -s 100 -r 1066524030 -l subparam_131 -b ../dists.dss +../qgen -s 100 -r 1074728061 -l subparam_132 -b ../dists.dss +../qgen -s 100 -r 1082932092 -l subparam_133 -b ../dists.dss +../qgen -s 100 -r 1091136123 -l subparam_134 -b ../dists.dss +../qgen -s 100 -r 1099340154 -l subparam_135 -b ../dists.dss +../qgen -s 100 -r 1107544185 -l subparam_136 -b ../dists.dss +../qgen -s 100 -r 1115748216 -l subparam_137 -b ../dists.dss +../qgen -s 100 -r 1123952247 -l subparam_138 -b ../dists.dss +../qgen -s 100 -r 1132156278 -l subparam_139 -b ../dists.dss +../qgen -s 100 -r 1140360309 -l subparam_140 -b ../dists.dss +../qgen -s 100 -r 1148564340 -l subparam_141 -b ../dists.dss +../qgen -s 100 -r 1156768371 -l subparam_142 -b ../dists.dss +../qgen -s 100 -r 1164972402 -l subparam_143 -b ../dists.dss +../qgen -s 100 -r 1173176433 -l subparam_144 -b ../dists.dss +../qgen -s 100 -r 1181380464 -l subparam_145 -b ../dists.dss +../qgen -s 100 -r 1189584495 -l subparam_146 -b ../dists.dss +../qgen -s 100 -r 1197788526 -l subparam_147 -b ../dists.dss +../qgen -s 100 -r 1205992557 -l subparam_148 -b ../dists.dss +../qgen -s 100 -r 1214196588 -l subparam_149 -b ../dists.dss +../qgen -s 100 -r 1231235959 -l subparam_150 -b ../dists.dss diff --git a/tpch/00_compile_tpch/dbgen/reference/cmd_qgen_sf1000 b/tpch/00_compile_tpch/dbgen/reference/cmd_qgen_sf1000 new file mode 100644 index 0000000..f6d25b2 --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/reference/cmd_qgen_sf1000 @@ -0,0 +1,150 @@ +../qgen -s 1000 -r 0101000000 -l subparam_1 -b ../dists.dss +../qgen -s 1000 -r 8204031 -l subparam_2 -b ../dists.dss +../qgen -s 1000 -r 16408062 -l subparam_3 -b ../dists.dss +../qgen -s 1000 -r 24612093 -l subparam_4 -b ../dists.dss +../qgen -s 1000 -r 32816124 -l subparam_5 -b ../dists.dss +../qgen -s 1000 -r 41020155 -l subparam_6 -b ../dists.dss +../qgen -s 1000 -r 49224186 -l subparam_7 -b ../dists.dss +../qgen -s 1000 -r 57428217 -l subparam_8 -b ../dists.dss +../qgen -s 1000 -r 65632248 -l subparam_9 -b ../dists.dss +../qgen -s 1000 -r 73836279 -l subparam_10 -b ../dists.dss +../qgen -s 1000 -r 82040310 -l subparam_11 -b ../dists.dss +../qgen -s 1000 -r 90244341 -l subparam_12 -b ../dists.dss +../qgen -s 1000 -r 98448372 -l subparam_13 -b ../dists.dss +../qgen -s 1000 -r 106652403 -l subparam_14 -b ../dists.dss +../qgen -s 1000 -r 114856434 -l subparam_15 -b ../dists.dss +../qgen -s 1000 -r 123060465 -l subparam_16 -b ../dists.dss +../qgen -s 1000 -r 131264496 -l subparam_17 -b ../dists.dss +../qgen -s 1000 -r 139468527 -l subparam_18 -b ../dists.dss +../qgen -s 1000 -r 147672558 -l subparam_19 -b ../dists.dss +../qgen -s 1000 -r 155876589 -l subparam_20 -b ../dists.dss +../qgen -s 1000 -r 164080620 -l subparam_21 -b ../dists.dss +../qgen -s 1000 -r 172284651 -l subparam_22 -b ../dists.dss +../qgen -s 1000 -r 180488682 -l subparam_23 -b ../dists.dss +../qgen -s 1000 -r 188692713 -l subparam_24 -b ../dists.dss +../qgen -s 1000 -r 196896744 -l subparam_25 -b ../dists.dss +../qgen -s 1000 -r 205100775 -l subparam_26 -b ../dists.dss +../qgen -s 1000 -r 213304806 -l subparam_27 -b ../dists.dss +../qgen -s 1000 -r 221508837 -l subparam_28 -b ../dists.dss +../qgen -s 1000 -r 229712868 -l subparam_29 -b ../dists.dss +../qgen -s 1000 -r 237916899 -l subparam_30 -b ../dists.dss +../qgen -s 1000 -r 246120930 -l subparam_31 -b ../dists.dss +../qgen -s 1000 -r 254324961 -l subparam_32 -b ../dists.dss +../qgen -s 1000 -r 262528992 -l subparam_33 -b ../dists.dss +../qgen -s 1000 -r 270733023 -l subparam_34 -b ../dists.dss +../qgen -s 1000 -r 278937054 -l subparam_35 -b ../dists.dss +../qgen -s 1000 -r 287141085 -l subparam_36 -b ../dists.dss +../qgen -s 1000 -r 295345116 -l subparam_37 -b ../dists.dss +../qgen -s 1000 -r 303549147 -l subparam_38 -b ../dists.dss +../qgen -s 1000 -r 311753178 -l subparam_39 -b ../dists.dss +../qgen -s 1000 -r 319957209 -l subparam_40 -b ../dists.dss +../qgen -s 1000 -r 328161240 -l subparam_41 -b ../dists.dss +../qgen -s 1000 -r 336365271 -l subparam_42 -b ../dists.dss +../qgen -s 1000 -r 344569302 -l subparam_43 -b ../dists.dss +../qgen -s 1000 -r 352773333 -l subparam_44 -b ../dists.dss +../qgen -s 1000 -r 360977364 -l subparam_45 -b ../dists.dss +../qgen -s 1000 -r 369181395 -l subparam_46 -b ../dists.dss +../qgen -s 1000 -r 377385426 -l subparam_47 -b ../dists.dss +../qgen -s 1000 -r 385589457 -l subparam_48 -b ../dists.dss +../qgen -s 1000 -r 393793488 -l subparam_49 -b ../dists.dss +../qgen -s 1000 -r 401997519 -l subparam_50 -b ../dists.dss +../qgen -s 1000 -r 410201550 -l subparam_51 -b ../dists.dss +../qgen -s 1000 -r 418405581 -l subparam_52 -b ../dists.dss +../qgen -s 1000 -r 426609612 -l subparam_53 -b ../dists.dss +../qgen -s 1000 -r 434813643 -l subparam_54 -b ../dists.dss +../qgen -s 1000 -r 443017674 -l subparam_55 -b ../dists.dss +../qgen -s 1000 -r 451221705 -l subparam_56 -b ../dists.dss +../qgen -s 1000 -r 459425736 -l subparam_57 -b ../dists.dss +../qgen -s 1000 -r 467629767 -l subparam_58 -b ../dists.dss +../qgen -s 1000 -r 475833798 -l subparam_59 -b ../dists.dss +../qgen -s 1000 -r 484037829 -l subparam_60 -b ../dists.dss +../qgen -s 1000 -r 492241860 -l subparam_61 -b ../dists.dss +../qgen -s 1000 -r 500445891 -l subparam_62 -b ../dists.dss +../qgen -s 1000 -r 508649922 -l subparam_63 -b ../dists.dss +../qgen -s 1000 -r 516853953 -l subparam_64 -b ../dists.dss +../qgen -s 1000 -r 525057984 -l subparam_65 -b ../dists.dss +../qgen -s 1000 -r 533262015 -l subparam_66 -b ../dists.dss +../qgen -s 1000 -r 541466046 -l subparam_67 -b ../dists.dss +../qgen -s 1000 -r 549670077 -l subparam_68 -b ../dists.dss +../qgen -s 1000 -r 557874108 -l subparam_69 -b ../dists.dss +../qgen -s 1000 -r 566078139 -l subparam_70 -b ../dists.dss +../qgen -s 1000 -r 574282170 -l subparam_71 -b ../dists.dss +../qgen -s 1000 -r 582486201 -l subparam_72 -b ../dists.dss +../qgen -s 1000 -r 590690232 -l subparam_73 -b ../dists.dss +../qgen -s 1000 -r 598894263 -l subparam_74 -b ../dists.dss +../qgen -s 1000 -r 607098294 -l subparam_75 -b ../dists.dss +../qgen -s 1000 -r 615302325 -l subparam_76 -b ../dists.dss +../qgen -s 1000 -r 623506356 -l subparam_77 -b ../dists.dss +../qgen -s 1000 -r 631710387 -l subparam_78 -b ../dists.dss +../qgen -s 1000 -r 639914418 -l subparam_79 -b ../dists.dss +../qgen -s 1000 -r 648118449 -l subparam_80 -b ../dists.dss +../qgen -s 1000 -r 656322480 -l subparam_81 -b ../dists.dss +../qgen -s 1000 -r 664526511 -l subparam_82 -b ../dists.dss +../qgen -s 1000 -r 672730542 -l subparam_83 -b ../dists.dss +../qgen -s 1000 -r 680934573 -l subparam_84 -b ../dists.dss +../qgen -s 1000 -r 689138604 -l subparam_85 -b ../dists.dss +../qgen -s 1000 -r 697342635 -l subparam_86 -b ../dists.dss +../qgen -s 1000 -r 705546666 -l subparam_87 -b ../dists.dss +../qgen -s 1000 -r 713750697 -l subparam_88 -b ../dists.dss +../qgen -s 1000 -r 721954728 -l subparam_89 -b ../dists.dss +../qgen -s 1000 -r 730158759 -l subparam_90 -b ../dists.dss +../qgen -s 1000 -r 738362790 -l subparam_91 -b ../dists.dss +../qgen -s 1000 -r 746566821 -l subparam_92 -b ../dists.dss +../qgen -s 1000 -r 754770852 -l subparam_93 -b ../dists.dss +../qgen -s 1000 -r 762974883 -l subparam_94 -b ../dists.dss +../qgen -s 1000 -r 771178914 -l subparam_95 -b ../dists.dss +../qgen -s 1000 -r 779382945 -l subparam_96 -b ../dists.dss +../qgen -s 1000 -r 787586976 -l subparam_97 -b ../dists.dss +../qgen -s 1000 -r 795791007 -l subparam_98 -b ../dists.dss +../qgen -s 1000 -r 803995038 -l subparam_99 -b ../dists.dss +../qgen -s 1000 -r 812199069 -l subparam_100 -b ../dists.dss +../qgen -s 1000 -r 820403100 -l subparam_101 -b ../dists.dss +../qgen -s 1000 -r 828607131 -l subparam_102 -b ../dists.dss +../qgen -s 1000 -r 836811162 -l subparam_103 -b ../dists.dss +../qgen -s 1000 -r 845015193 -l subparam_104 -b ../dists.dss +../qgen -s 1000 -r 853219224 -l subparam_105 -b ../dists.dss +../qgen -s 1000 -r 861423255 -l subparam_106 -b ../dists.dss +../qgen -s 1000 -r 869627286 -l subparam_107 -b ../dists.dss +../qgen -s 1000 -r 877831317 -l subparam_108 -b ../dists.dss +../qgen -s 1000 -r 886035348 -l subparam_109 -b ../dists.dss +../qgen -s 1000 -r 894239379 -l subparam_110 -b ../dists.dss +../qgen -s 1000 -r 902443410 -l subparam_111 -b ../dists.dss +../qgen -s 1000 -r 910647441 -l subparam_112 -b ../dists.dss +../qgen -s 1000 -r 918851472 -l subparam_113 -b ../dists.dss +../qgen -s 1000 -r 927055503 -l subparam_114 -b ../dists.dss +../qgen -s 1000 -r 935259534 -l subparam_115 -b ../dists.dss +../qgen -s 1000 -r 943463565 -l subparam_116 -b ../dists.dss +../qgen -s 1000 -r 951667596 -l subparam_117 -b ../dists.dss +../qgen -s 1000 -r 959871627 -l subparam_118 -b ../dists.dss +../qgen -s 1000 -r 968075658 -l subparam_119 -b ../dists.dss +../qgen -s 1000 -r 976279689 -l subparam_120 -b ../dists.dss +../qgen -s 1000 -r 984483720 -l subparam_121 -b ../dists.dss +../qgen -s 1000 -r 992687751 -l subparam_122 -b ../dists.dss +../qgen -s 1000 -r 1000891782 -l subparam_123 -b ../dists.dss +../qgen -s 1000 -r 1009095813 -l subparam_124 -b ../dists.dss +../qgen -s 1000 -r 1017299844 -l subparam_125 -b ../dists.dss +../qgen -s 1000 -r 1025503875 -l subparam_126 -b ../dists.dss +../qgen -s 1000 -r 1033707906 -l subparam_127 -b ../dists.dss +../qgen -s 1000 -r 1041911937 -l subparam_128 -b ../dists.dss +../qgen -s 1000 -r 1050115968 -l subparam_129 -b ../dists.dss +../qgen -s 1000 -r 1058319999 -l subparam_130 -b ../dists.dss +../qgen -s 1000 -r 1066524030 -l subparam_131 -b ../dists.dss +../qgen -s 1000 -r 1074728061 -l subparam_132 -b ../dists.dss +../qgen -s 1000 -r 1082932092 -l subparam_133 -b ../dists.dss +../qgen -s 1000 -r 1091136123 -l subparam_134 -b ../dists.dss +../qgen -s 1000 -r 1099340154 -l subparam_135 -b ../dists.dss +../qgen -s 1000 -r 1107544185 -l subparam_136 -b ../dists.dss +../qgen -s 1000 -r 1115748216 -l subparam_137 -b ../dists.dss +../qgen -s 1000 -r 1123952247 -l subparam_138 -b ../dists.dss +../qgen -s 1000 -r 1132156278 -l subparam_139 -b ../dists.dss +../qgen -s 1000 -r 1140360309 -l subparam_140 -b ../dists.dss +../qgen -s 1000 -r 1148564340 -l subparam_141 -b ../dists.dss +../qgen -s 1000 -r 1156768371 -l subparam_142 -b ../dists.dss +../qgen -s 1000 -r 1164972402 -l subparam_143 -b ../dists.dss +../qgen -s 1000 -r 1173176433 -l subparam_144 -b ../dists.dss +../qgen -s 1000 -r 1181380464 -l subparam_145 -b ../dists.dss +../qgen -s 1000 -r 1189584495 -l subparam_146 -b ../dists.dss +../qgen -s 1000 -r 1197788526 -l subparam_147 -b ../dists.dss +../qgen -s 1000 -r 1205992557 -l subparam_148 -b ../dists.dss +../qgen -s 1000 -r 1214196588 -l subparam_149 -b ../dists.dss +../qgen -s 1000 -r 1231235959 -l subparam_150 -b ../dists.dss diff --git a/tpch/00_compile_tpch/dbgen/reference/cmd_qgen_sf10000 b/tpch/00_compile_tpch/dbgen/reference/cmd_qgen_sf10000 new file mode 100644 index 0000000..cbd8751 --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/reference/cmd_qgen_sf10000 @@ -0,0 +1,150 @@ +../qgen -s 10000 -r 0101000000 -l subparam_1 -b ../dists.dss +../qgen -s 10000 -r 8204031 -l subparam_2 -b ../dists.dss +../qgen -s 10000 -r 16408062 -l subparam_3 -b ../dists.dss +../qgen -s 10000 -r 24612093 -l subparam_4 -b ../dists.dss +../qgen -s 10000 -r 32816124 -l subparam_5 -b ../dists.dss +../qgen -s 10000 -r 41020155 -l subparam_6 -b ../dists.dss +../qgen -s 10000 -r 49224186 -l subparam_7 -b ../dists.dss +../qgen -s 10000 -r 57428217 -l subparam_8 -b ../dists.dss +../qgen -s 10000 -r 65632248 -l subparam_9 -b ../dists.dss +../qgen -s 10000 -r 73836279 -l subparam_10 -b ../dists.dss +../qgen -s 10000 -r 82040310 -l subparam_11 -b ../dists.dss +../qgen -s 10000 -r 90244341 -l subparam_12 -b ../dists.dss +../qgen -s 10000 -r 98448372 -l subparam_13 -b ../dists.dss +../qgen -s 10000 -r 106652403 -l subparam_14 -b ../dists.dss +../qgen -s 10000 -r 114856434 -l subparam_15 -b ../dists.dss +../qgen -s 10000 -r 123060465 -l subparam_16 -b ../dists.dss +../qgen -s 10000 -r 131264496 -l subparam_17 -b ../dists.dss +../qgen -s 10000 -r 139468527 -l subparam_18 -b ../dists.dss +../qgen -s 10000 -r 147672558 -l subparam_19 -b ../dists.dss +../qgen -s 10000 -r 155876589 -l subparam_20 -b ../dists.dss +../qgen -s 10000 -r 164080620 -l subparam_21 -b ../dists.dss +../qgen -s 10000 -r 172284651 -l subparam_22 -b ../dists.dss +../qgen -s 10000 -r 180488682 -l subparam_23 -b ../dists.dss +../qgen -s 10000 -r 188692713 -l subparam_24 -b ../dists.dss +../qgen -s 10000 -r 196896744 -l subparam_25 -b ../dists.dss +../qgen -s 10000 -r 205100775 -l subparam_26 -b ../dists.dss +../qgen -s 10000 -r 213304806 -l subparam_27 -b ../dists.dss +../qgen -s 10000 -r 221508837 -l subparam_28 -b ../dists.dss +../qgen -s 10000 -r 229712868 -l subparam_29 -b ../dists.dss +../qgen -s 10000 -r 237916899 -l subparam_30 -b ../dists.dss +../qgen -s 10000 -r 246120930 -l subparam_31 -b ../dists.dss +../qgen -s 10000 -r 254324961 -l subparam_32 -b ../dists.dss +../qgen -s 10000 -r 262528992 -l subparam_33 -b ../dists.dss +../qgen -s 10000 -r 270733023 -l subparam_34 -b ../dists.dss +../qgen -s 10000 -r 278937054 -l subparam_35 -b ../dists.dss +../qgen -s 10000 -r 287141085 -l subparam_36 -b ../dists.dss +../qgen -s 10000 -r 295345116 -l subparam_37 -b ../dists.dss +../qgen -s 10000 -r 303549147 -l subparam_38 -b ../dists.dss +../qgen -s 10000 -r 311753178 -l subparam_39 -b ../dists.dss +../qgen -s 10000 -r 319957209 -l subparam_40 -b ../dists.dss +../qgen -s 10000 -r 328161240 -l subparam_41 -b ../dists.dss +../qgen -s 10000 -r 336365271 -l subparam_42 -b ../dists.dss +../qgen -s 10000 -r 344569302 -l subparam_43 -b ../dists.dss +../qgen -s 10000 -r 352773333 -l subparam_44 -b ../dists.dss +../qgen -s 10000 -r 360977364 -l subparam_45 -b ../dists.dss +../qgen -s 10000 -r 369181395 -l subparam_46 -b ../dists.dss +../qgen -s 10000 -r 377385426 -l subparam_47 -b ../dists.dss +../qgen -s 10000 -r 385589457 -l subparam_48 -b ../dists.dss +../qgen -s 10000 -r 393793488 -l subparam_49 -b ../dists.dss +../qgen -s 10000 -r 401997519 -l subparam_50 -b ../dists.dss +../qgen -s 10000 -r 410201550 -l subparam_51 -b ../dists.dss +../qgen -s 10000 -r 418405581 -l subparam_52 -b ../dists.dss +../qgen -s 10000 -r 426609612 -l subparam_53 -b ../dists.dss +../qgen -s 10000 -r 434813643 -l subparam_54 -b ../dists.dss +../qgen -s 10000 -r 443017674 -l subparam_55 -b ../dists.dss +../qgen -s 10000 -r 451221705 -l subparam_56 -b ../dists.dss +../qgen -s 10000 -r 459425736 -l subparam_57 -b ../dists.dss +../qgen -s 10000 -r 467629767 -l subparam_58 -b ../dists.dss +../qgen -s 10000 -r 475833798 -l subparam_59 -b ../dists.dss +../qgen -s 10000 -r 484037829 -l subparam_60 -b ../dists.dss +../qgen -s 10000 -r 492241860 -l subparam_61 -b ../dists.dss +../qgen -s 10000 -r 500445891 -l subparam_62 -b ../dists.dss +../qgen -s 10000 -r 508649922 -l subparam_63 -b ../dists.dss +../qgen -s 10000 -r 516853953 -l subparam_64 -b ../dists.dss +../qgen -s 10000 -r 525057984 -l subparam_65 -b ../dists.dss +../qgen -s 10000 -r 533262015 -l subparam_66 -b ../dists.dss +../qgen -s 10000 -r 541466046 -l subparam_67 -b ../dists.dss +../qgen -s 10000 -r 549670077 -l subparam_68 -b ../dists.dss +../qgen -s 10000 -r 557874108 -l subparam_69 -b ../dists.dss +../qgen -s 10000 -r 566078139 -l subparam_70 -b ../dists.dss +../qgen -s 10000 -r 574282170 -l subparam_71 -b ../dists.dss +../qgen -s 10000 -r 582486201 -l subparam_72 -b ../dists.dss +../qgen -s 10000 -r 590690232 -l subparam_73 -b ../dists.dss +../qgen -s 10000 -r 598894263 -l subparam_74 -b ../dists.dss +../qgen -s 10000 -r 607098294 -l subparam_75 -b ../dists.dss +../qgen -s 10000 -r 615302325 -l subparam_76 -b ../dists.dss +../qgen -s 10000 -r 623506356 -l subparam_77 -b ../dists.dss +../qgen -s 10000 -r 631710387 -l subparam_78 -b ../dists.dss +../qgen -s 10000 -r 639914418 -l subparam_79 -b ../dists.dss +../qgen -s 10000 -r 648118449 -l subparam_80 -b ../dists.dss +../qgen -s 10000 -r 656322480 -l subparam_81 -b ../dists.dss +../qgen -s 10000 -r 664526511 -l subparam_82 -b ../dists.dss +../qgen -s 10000 -r 672730542 -l subparam_83 -b ../dists.dss +../qgen -s 10000 -r 680934573 -l subparam_84 -b ../dists.dss +../qgen -s 10000 -r 689138604 -l subparam_85 -b ../dists.dss +../qgen -s 10000 -r 697342635 -l subparam_86 -b ../dists.dss +../qgen -s 10000 -r 705546666 -l subparam_87 -b ../dists.dss +../qgen -s 10000 -r 713750697 -l subparam_88 -b ../dists.dss +../qgen -s 10000 -r 721954728 -l subparam_89 -b ../dists.dss +../qgen -s 10000 -r 730158759 -l subparam_90 -b ../dists.dss +../qgen -s 10000 -r 738362790 -l subparam_91 -b ../dists.dss +../qgen -s 10000 -r 746566821 -l subparam_92 -b ../dists.dss +../qgen -s 10000 -r 754770852 -l subparam_93 -b ../dists.dss +../qgen -s 10000 -r 762974883 -l subparam_94 -b ../dists.dss +../qgen -s 10000 -r 771178914 -l subparam_95 -b ../dists.dss +../qgen -s 10000 -r 779382945 -l subparam_96 -b ../dists.dss +../qgen -s 10000 -r 787586976 -l subparam_97 -b ../dists.dss +../qgen -s 10000 -r 795791007 -l subparam_98 -b ../dists.dss +../qgen -s 10000 -r 803995038 -l subparam_99 -b ../dists.dss +../qgen -s 10000 -r 812199069 -l subparam_100 -b ../dists.dss +../qgen -s 10000 -r 820403100 -l subparam_101 -b ../dists.dss +../qgen -s 10000 -r 828607131 -l subparam_102 -b ../dists.dss +../qgen -s 10000 -r 836811162 -l subparam_103 -b ../dists.dss +../qgen -s 10000 -r 845015193 -l subparam_104 -b ../dists.dss +../qgen -s 10000 -r 853219224 -l subparam_105 -b ../dists.dss +../qgen -s 10000 -r 861423255 -l subparam_106 -b ../dists.dss +../qgen -s 10000 -r 869627286 -l subparam_107 -b ../dists.dss +../qgen -s 10000 -r 877831317 -l subparam_108 -b ../dists.dss +../qgen -s 10000 -r 886035348 -l subparam_109 -b ../dists.dss +../qgen -s 10000 -r 894239379 -l subparam_110 -b ../dists.dss +../qgen -s 10000 -r 902443410 -l subparam_111 -b ../dists.dss +../qgen -s 10000 -r 910647441 -l subparam_112 -b ../dists.dss +../qgen -s 10000 -r 918851472 -l subparam_113 -b ../dists.dss +../qgen -s 10000 -r 927055503 -l subparam_114 -b ../dists.dss +../qgen -s 10000 -r 935259534 -l subparam_115 -b ../dists.dss +../qgen -s 10000 -r 943463565 -l subparam_116 -b ../dists.dss +../qgen -s 10000 -r 951667596 -l subparam_117 -b ../dists.dss +../qgen -s 10000 -r 959871627 -l subparam_118 -b ../dists.dss +../qgen -s 10000 -r 968075658 -l subparam_119 -b ../dists.dss +../qgen -s 10000 -r 976279689 -l subparam_120 -b ../dists.dss +../qgen -s 10000 -r 984483720 -l subparam_121 -b ../dists.dss +../qgen -s 10000 -r 992687751 -l subparam_122 -b ../dists.dss +../qgen -s 10000 -r 1000891782 -l subparam_123 -b ../dists.dss +../qgen -s 10000 -r 1009095813 -l subparam_124 -b ../dists.dss +../qgen -s 10000 -r 1017299844 -l subparam_125 -b ../dists.dss +../qgen -s 10000 -r 1025503875 -l subparam_126 -b ../dists.dss +../qgen -s 10000 -r 1033707906 -l subparam_127 -b ../dists.dss +../qgen -s 10000 -r 1041911937 -l subparam_128 -b ../dists.dss +../qgen -s 10000 -r 1050115968 -l subparam_129 -b ../dists.dss +../qgen -s 10000 -r 1058319999 -l subparam_130 -b ../dists.dss +../qgen -s 10000 -r 1066524030 -l subparam_131 -b ../dists.dss +../qgen -s 10000 -r 1074728061 -l subparam_132 -b ../dists.dss +../qgen -s 10000 -r 1082932092 -l subparam_133 -b ../dists.dss +../qgen -s 10000 -r 1091136123 -l subparam_134 -b ../dists.dss +../qgen -s 10000 -r 1099340154 -l subparam_135 -b ../dists.dss +../qgen -s 10000 -r 1107544185 -l subparam_136 -b ../dists.dss +../qgen -s 10000 -r 1115748216 -l subparam_137 -b ../dists.dss +../qgen -s 10000 -r 1123952247 -l subparam_138 -b ../dists.dss +../qgen -s 10000 -r 1132156278 -l subparam_139 -b ../dists.dss +../qgen -s 10000 -r 1140360309 -l subparam_140 -b ../dists.dss +../qgen -s 10000 -r 1148564340 -l subparam_141 -b ../dists.dss +../qgen -s 10000 -r 1156768371 -l subparam_142 -b ../dists.dss +../qgen -s 10000 -r 1164972402 -l subparam_143 -b ../dists.dss +../qgen -s 10000 -r 1173176433 -l subparam_144 -b ../dists.dss +../qgen -s 10000 -r 1181380464 -l subparam_145 -b ../dists.dss +../qgen -s 10000 -r 1189584495 -l subparam_146 -b ../dists.dss +../qgen -s 10000 -r 1197788526 -l subparam_147 -b ../dists.dss +../qgen -s 10000 -r 1205992557 -l subparam_148 -b ../dists.dss +../qgen -s 10000 -r 1214196588 -l subparam_149 -b ../dists.dss +../qgen -s 10000 -r 1231235959 -l subparam_150 -b ../dists.dss diff --git a/tpch/00_compile_tpch/dbgen/reference/cmd_qgen_sf100000 b/tpch/00_compile_tpch/dbgen/reference/cmd_qgen_sf100000 new file mode 100644 index 0000000..818594b --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/reference/cmd_qgen_sf100000 @@ -0,0 +1,150 @@ +../qgen -s 100000 -r 0101000000 -l subparam_1 -b ../dists.dss +../qgen -s 100000 -r 8204031 -l subparam_2 -b ../dists.dss +../qgen -s 100000 -r 16408062 -l subparam_3 -b ../dists.dss +../qgen -s 100000 -r 24612093 -l subparam_4 -b ../dists.dss +../qgen -s 100000 -r 32816124 -l subparam_5 -b ../dists.dss +../qgen -s 100000 -r 41020155 -l subparam_6 -b ../dists.dss +../qgen -s 100000 -r 49224186 -l subparam_7 -b ../dists.dss +../qgen -s 100000 -r 57428217 -l subparam_8 -b ../dists.dss +../qgen -s 100000 -r 65632248 -l subparam_9 -b ../dists.dss +../qgen -s 100000 -r 73836279 -l subparam_10 -b ../dists.dss +../qgen -s 100000 -r 82040310 -l subparam_11 -b ../dists.dss +../qgen -s 100000 -r 90244341 -l subparam_12 -b ../dists.dss +../qgen -s 100000 -r 98448372 -l subparam_13 -b ../dists.dss +../qgen -s 100000 -r 106652403 -l subparam_14 -b ../dists.dss +../qgen -s 100000 -r 114856434 -l subparam_15 -b ../dists.dss +../qgen -s 100000 -r 123060465 -l subparam_16 -b ../dists.dss +../qgen -s 100000 -r 131264496 -l subparam_17 -b ../dists.dss +../qgen -s 100000 -r 139468527 -l subparam_18 -b ../dists.dss +../qgen -s 100000 -r 147672558 -l subparam_19 -b ../dists.dss +../qgen -s 100000 -r 155876589 -l subparam_20 -b ../dists.dss +../qgen -s 100000 -r 164080620 -l subparam_21 -b ../dists.dss +../qgen -s 100000 -r 172284651 -l subparam_22 -b ../dists.dss +../qgen -s 100000 -r 180488682 -l subparam_23 -b ../dists.dss +../qgen -s 100000 -r 188692713 -l subparam_24 -b ../dists.dss +../qgen -s 100000 -r 196896744 -l subparam_25 -b ../dists.dss +../qgen -s 100000 -r 205100775 -l subparam_26 -b ../dists.dss +../qgen -s 100000 -r 213304806 -l subparam_27 -b ../dists.dss +../qgen -s 100000 -r 221508837 -l subparam_28 -b ../dists.dss +../qgen -s 100000 -r 229712868 -l subparam_29 -b ../dists.dss +../qgen -s 100000 -r 237916899 -l subparam_30 -b ../dists.dss +../qgen -s 100000 -r 246120930 -l subparam_31 -b ../dists.dss +../qgen -s 100000 -r 254324961 -l subparam_32 -b ../dists.dss +../qgen -s 100000 -r 262528992 -l subparam_33 -b ../dists.dss +../qgen -s 100000 -r 270733023 -l subparam_34 -b ../dists.dss +../qgen -s 100000 -r 278937054 -l subparam_35 -b ../dists.dss +../qgen -s 100000 -r 287141085 -l subparam_36 -b ../dists.dss +../qgen -s 100000 -r 295345116 -l subparam_37 -b ../dists.dss +../qgen -s 100000 -r 303549147 -l subparam_38 -b ../dists.dss +../qgen -s 100000 -r 311753178 -l subparam_39 -b ../dists.dss +../qgen -s 100000 -r 319957209 -l subparam_40 -b ../dists.dss +../qgen -s 100000 -r 328161240 -l subparam_41 -b ../dists.dss +../qgen -s 100000 -r 336365271 -l subparam_42 -b ../dists.dss +../qgen -s 100000 -r 344569302 -l subparam_43 -b ../dists.dss +../qgen -s 100000 -r 352773333 -l subparam_44 -b ../dists.dss +../qgen -s 100000 -r 360977364 -l subparam_45 -b ../dists.dss +../qgen -s 100000 -r 369181395 -l subparam_46 -b ../dists.dss +../qgen -s 100000 -r 377385426 -l subparam_47 -b ../dists.dss +../qgen -s 100000 -r 385589457 -l subparam_48 -b ../dists.dss +../qgen -s 100000 -r 393793488 -l subparam_49 -b ../dists.dss +../qgen -s 100000 -r 401997519 -l subparam_50 -b ../dists.dss +../qgen -s 100000 -r 410201550 -l subparam_51 -b ../dists.dss +../qgen -s 100000 -r 418405581 -l subparam_52 -b ../dists.dss +../qgen -s 100000 -r 426609612 -l subparam_53 -b ../dists.dss +../qgen -s 100000 -r 434813643 -l subparam_54 -b ../dists.dss +../qgen -s 100000 -r 443017674 -l subparam_55 -b ../dists.dss +../qgen -s 100000 -r 451221705 -l subparam_56 -b ../dists.dss +../qgen -s 100000 -r 459425736 -l subparam_57 -b ../dists.dss +../qgen -s 100000 -r 467629767 -l subparam_58 -b ../dists.dss +../qgen -s 100000 -r 475833798 -l subparam_59 -b ../dists.dss +../qgen -s 100000 -r 484037829 -l subparam_60 -b ../dists.dss +../qgen -s 100000 -r 492241860 -l subparam_61 -b ../dists.dss +../qgen -s 100000 -r 500445891 -l subparam_62 -b ../dists.dss +../qgen -s 100000 -r 508649922 -l subparam_63 -b ../dists.dss +../qgen -s 100000 -r 516853953 -l subparam_64 -b ../dists.dss +../qgen -s 100000 -r 525057984 -l subparam_65 -b ../dists.dss +../qgen -s 100000 -r 533262015 -l subparam_66 -b ../dists.dss +../qgen -s 100000 -r 541466046 -l subparam_67 -b ../dists.dss +../qgen -s 100000 -r 549670077 -l subparam_68 -b ../dists.dss +../qgen -s 100000 -r 557874108 -l subparam_69 -b ../dists.dss +../qgen -s 100000 -r 566078139 -l subparam_70 -b ../dists.dss +../qgen -s 100000 -r 574282170 -l subparam_71 -b ../dists.dss +../qgen -s 100000 -r 582486201 -l subparam_72 -b ../dists.dss +../qgen -s 100000 -r 590690232 -l subparam_73 -b ../dists.dss +../qgen -s 100000 -r 598894263 -l subparam_74 -b ../dists.dss +../qgen -s 100000 -r 607098294 -l subparam_75 -b ../dists.dss +../qgen -s 100000 -r 615302325 -l subparam_76 -b ../dists.dss +../qgen -s 100000 -r 623506356 -l subparam_77 -b ../dists.dss +../qgen -s 100000 -r 631710387 -l subparam_78 -b ../dists.dss +../qgen -s 100000 -r 639914418 -l subparam_79 -b ../dists.dss +../qgen -s 100000 -r 648118449 -l subparam_80 -b ../dists.dss +../qgen -s 100000 -r 656322480 -l subparam_81 -b ../dists.dss +../qgen -s 100000 -r 664526511 -l subparam_82 -b ../dists.dss +../qgen -s 100000 -r 672730542 -l subparam_83 -b ../dists.dss +../qgen -s 100000 -r 680934573 -l subparam_84 -b ../dists.dss +../qgen -s 100000 -r 689138604 -l subparam_85 -b ../dists.dss +../qgen -s 100000 -r 697342635 -l subparam_86 -b ../dists.dss +../qgen -s 100000 -r 705546666 -l subparam_87 -b ../dists.dss +../qgen -s 100000 -r 713750697 -l subparam_88 -b ../dists.dss +../qgen -s 100000 -r 721954728 -l subparam_89 -b ../dists.dss +../qgen -s 100000 -r 730158759 -l subparam_90 -b ../dists.dss +../qgen -s 100000 -r 738362790 -l subparam_91 -b ../dists.dss +../qgen -s 100000 -r 746566821 -l subparam_92 -b ../dists.dss +../qgen -s 100000 -r 754770852 -l subparam_93 -b ../dists.dss +../qgen -s 100000 -r 762974883 -l subparam_94 -b ../dists.dss +../qgen -s 100000 -r 771178914 -l subparam_95 -b ../dists.dss +../qgen -s 100000 -r 779382945 -l subparam_96 -b ../dists.dss +../qgen -s 100000 -r 787586976 -l subparam_97 -b ../dists.dss +../qgen -s 100000 -r 795791007 -l subparam_98 -b ../dists.dss +../qgen -s 100000 -r 803995038 -l subparam_99 -b ../dists.dss +../qgen -s 100000 -r 812199069 -l subparam_100 -b ../dists.dss +../qgen -s 100000 -r 820403100 -l subparam_101 -b ../dists.dss +../qgen -s 100000 -r 828607131 -l subparam_102 -b ../dists.dss +../qgen -s 100000 -r 836811162 -l subparam_103 -b ../dists.dss +../qgen -s 100000 -r 845015193 -l subparam_104 -b ../dists.dss +../qgen -s 100000 -r 853219224 -l subparam_105 -b ../dists.dss +../qgen -s 100000 -r 861423255 -l subparam_106 -b ../dists.dss +../qgen -s 100000 -r 869627286 -l subparam_107 -b ../dists.dss +../qgen -s 100000 -r 877831317 -l subparam_108 -b ../dists.dss +../qgen -s 100000 -r 886035348 -l subparam_109 -b ../dists.dss +../qgen -s 100000 -r 894239379 -l subparam_110 -b ../dists.dss +../qgen -s 100000 -r 902443410 -l subparam_111 -b ../dists.dss +../qgen -s 100000 -r 910647441 -l subparam_112 -b ../dists.dss +../qgen -s 100000 -r 918851472 -l subparam_113 -b ../dists.dss +../qgen -s 100000 -r 927055503 -l subparam_114 -b ../dists.dss +../qgen -s 100000 -r 935259534 -l subparam_115 -b ../dists.dss +../qgen -s 100000 -r 943463565 -l subparam_116 -b ../dists.dss +../qgen -s 100000 -r 951667596 -l subparam_117 -b ../dists.dss +../qgen -s 100000 -r 959871627 -l subparam_118 -b ../dists.dss +../qgen -s 100000 -r 968075658 -l subparam_119 -b ../dists.dss +../qgen -s 100000 -r 976279689 -l subparam_120 -b ../dists.dss +../qgen -s 100000 -r 984483720 -l subparam_121 -b ../dists.dss +../qgen -s 100000 -r 992687751 -l subparam_122 -b ../dists.dss +../qgen -s 100000 -r 1000891782 -l subparam_123 -b ../dists.dss +../qgen -s 100000 -r 1009095813 -l subparam_124 -b ../dists.dss +../qgen -s 100000 -r 1017299844 -l subparam_125 -b ../dists.dss +../qgen -s 100000 -r 1025503875 -l subparam_126 -b ../dists.dss +../qgen -s 100000 -r 1033707906 -l subparam_127 -b ../dists.dss +../qgen -s 100000 -r 1041911937 -l subparam_128 -b ../dists.dss +../qgen -s 100000 -r 1050115968 -l subparam_129 -b ../dists.dss +../qgen -s 100000 -r 1058319999 -l subparam_130 -b ../dists.dss +../qgen -s 100000 -r 1066524030 -l subparam_131 -b ../dists.dss +../qgen -s 100000 -r 1074728061 -l subparam_132 -b ../dists.dss +../qgen -s 100000 -r 1082932092 -l subparam_133 -b ../dists.dss +../qgen -s 100000 -r 1091136123 -l subparam_134 -b ../dists.dss +../qgen -s 100000 -r 1099340154 -l subparam_135 -b ../dists.dss +../qgen -s 100000 -r 1107544185 -l subparam_136 -b ../dists.dss +../qgen -s 100000 -r 1115748216 -l subparam_137 -b ../dists.dss +../qgen -s 100000 -r 1123952247 -l subparam_138 -b ../dists.dss +../qgen -s 100000 -r 1132156278 -l subparam_139 -b ../dists.dss +../qgen -s 100000 -r 1140360309 -l subparam_140 -b ../dists.dss +../qgen -s 100000 -r 1148564340 -l subparam_141 -b ../dists.dss +../qgen -s 100000 -r 1156768371 -l subparam_142 -b ../dists.dss +../qgen -s 100000 -r 1164972402 -l subparam_143 -b ../dists.dss +../qgen -s 100000 -r 1173176433 -l subparam_144 -b ../dists.dss +../qgen -s 100000 -r 1181380464 -l subparam_145 -b ../dists.dss +../qgen -s 100000 -r 1189584495 -l subparam_146 -b ../dists.dss +../qgen -s 100000 -r 1197788526 -l subparam_147 -b ../dists.dss +../qgen -s 100000 -r 1205992557 -l subparam_148 -b ../dists.dss +../qgen -s 100000 -r 1214196588 -l subparam_149 -b ../dists.dss +../qgen -s 100000 -r 1231235959 -l subparam_150 -b ../dists.dss diff --git a/tpch/00_compile_tpch/dbgen/reference/cmd_qgen_sf300 b/tpch/00_compile_tpch/dbgen/reference/cmd_qgen_sf300 new file mode 100644 index 0000000..1200bd9 --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/reference/cmd_qgen_sf300 @@ -0,0 +1,150 @@ +../qgen -s 300 -r 0101000000 -l subparam_1 -b ../dists.dss +../qgen -s 300 -r 8204031 -l subparam_2 -b ../dists.dss +../qgen -s 300 -r 16408062 -l subparam_3 -b ../dists.dss +../qgen -s 300 -r 24612093 -l subparam_4 -b ../dists.dss +../qgen -s 300 -r 32816124 -l subparam_5 -b ../dists.dss +../qgen -s 300 -r 41020155 -l subparam_6 -b ../dists.dss +../qgen -s 300 -r 49224186 -l subparam_7 -b ../dists.dss +../qgen -s 300 -r 57428217 -l subparam_8 -b ../dists.dss +../qgen -s 300 -r 65632248 -l subparam_9 -b ../dists.dss +../qgen -s 300 -r 73836279 -l subparam_10 -b ../dists.dss +../qgen -s 300 -r 82040310 -l subparam_11 -b ../dists.dss +../qgen -s 300 -r 90244341 -l subparam_12 -b ../dists.dss +../qgen -s 300 -r 98448372 -l subparam_13 -b ../dists.dss +../qgen -s 300 -r 106652403 -l subparam_14 -b ../dists.dss +../qgen -s 300 -r 114856434 -l subparam_15 -b ../dists.dss +../qgen -s 300 -r 123060465 -l subparam_16 -b ../dists.dss +../qgen -s 300 -r 131264496 -l subparam_17 -b ../dists.dss +../qgen -s 300 -r 139468527 -l subparam_18 -b ../dists.dss +../qgen -s 300 -r 147672558 -l subparam_19 -b ../dists.dss +../qgen -s 300 -r 155876589 -l subparam_20 -b ../dists.dss +../qgen -s 300 -r 164080620 -l subparam_21 -b ../dists.dss +../qgen -s 300 -r 172284651 -l subparam_22 -b ../dists.dss +../qgen -s 300 -r 180488682 -l subparam_23 -b ../dists.dss +../qgen -s 300 -r 188692713 -l subparam_24 -b ../dists.dss +../qgen -s 300 -r 196896744 -l subparam_25 -b ../dists.dss +../qgen -s 300 -r 205100775 -l subparam_26 -b ../dists.dss +../qgen -s 300 -r 213304806 -l subparam_27 -b ../dists.dss +../qgen -s 300 -r 221508837 -l subparam_28 -b ../dists.dss +../qgen -s 300 -r 229712868 -l subparam_29 -b ../dists.dss +../qgen -s 300 -r 237916899 -l subparam_30 -b ../dists.dss +../qgen -s 300 -r 246120930 -l subparam_31 -b ../dists.dss +../qgen -s 300 -r 254324961 -l subparam_32 -b ../dists.dss +../qgen -s 300 -r 262528992 -l subparam_33 -b ../dists.dss +../qgen -s 300 -r 270733023 -l subparam_34 -b ../dists.dss +../qgen -s 300 -r 278937054 -l subparam_35 -b ../dists.dss +../qgen -s 300 -r 287141085 -l subparam_36 -b ../dists.dss +../qgen -s 300 -r 295345116 -l subparam_37 -b ../dists.dss +../qgen -s 300 -r 303549147 -l subparam_38 -b ../dists.dss +../qgen -s 300 -r 311753178 -l subparam_39 -b ../dists.dss +../qgen -s 300 -r 319957209 -l subparam_40 -b ../dists.dss +../qgen -s 300 -r 328161240 -l subparam_41 -b ../dists.dss +../qgen -s 300 -r 336365271 -l subparam_42 -b ../dists.dss +../qgen -s 300 -r 344569302 -l subparam_43 -b ../dists.dss +../qgen -s 300 -r 352773333 -l subparam_44 -b ../dists.dss +../qgen -s 300 -r 360977364 -l subparam_45 -b ../dists.dss +../qgen -s 300 -r 369181395 -l subparam_46 -b ../dists.dss +../qgen -s 300 -r 377385426 -l subparam_47 -b ../dists.dss +../qgen -s 300 -r 385589457 -l subparam_48 -b ../dists.dss +../qgen -s 300 -r 393793488 -l subparam_49 -b ../dists.dss +../qgen -s 300 -r 401997519 -l subparam_50 -b ../dists.dss +../qgen -s 300 -r 410201550 -l subparam_51 -b ../dists.dss +../qgen -s 300 -r 418405581 -l subparam_52 -b ../dists.dss +../qgen -s 300 -r 426609612 -l subparam_53 -b ../dists.dss +../qgen -s 300 -r 434813643 -l subparam_54 -b ../dists.dss +../qgen -s 300 -r 443017674 -l subparam_55 -b ../dists.dss +../qgen -s 300 -r 451221705 -l subparam_56 -b ../dists.dss +../qgen -s 300 -r 459425736 -l subparam_57 -b ../dists.dss +../qgen -s 300 -r 467629767 -l subparam_58 -b ../dists.dss +../qgen -s 300 -r 475833798 -l subparam_59 -b ../dists.dss +../qgen -s 300 -r 484037829 -l subparam_60 -b ../dists.dss +../qgen -s 300 -r 492241860 -l subparam_61 -b ../dists.dss +../qgen -s 300 -r 500445891 -l subparam_62 -b ../dists.dss +../qgen -s 300 -r 508649922 -l subparam_63 -b ../dists.dss +../qgen -s 300 -r 516853953 -l subparam_64 -b ../dists.dss +../qgen -s 300 -r 525057984 -l subparam_65 -b ../dists.dss +../qgen -s 300 -r 533262015 -l subparam_66 -b ../dists.dss +../qgen -s 300 -r 541466046 -l subparam_67 -b ../dists.dss +../qgen -s 300 -r 549670077 -l subparam_68 -b ../dists.dss +../qgen -s 300 -r 557874108 -l subparam_69 -b ../dists.dss +../qgen -s 300 -r 566078139 -l subparam_70 -b ../dists.dss +../qgen -s 300 -r 574282170 -l subparam_71 -b ../dists.dss +../qgen -s 300 -r 582486201 -l subparam_72 -b ../dists.dss +../qgen -s 300 -r 590690232 -l subparam_73 -b ../dists.dss +../qgen -s 300 -r 598894263 -l subparam_74 -b ../dists.dss +../qgen -s 300 -r 607098294 -l subparam_75 -b ../dists.dss +../qgen -s 300 -r 615302325 -l subparam_76 -b ../dists.dss +../qgen -s 300 -r 623506356 -l subparam_77 -b ../dists.dss +../qgen -s 300 -r 631710387 -l subparam_78 -b ../dists.dss +../qgen -s 300 -r 639914418 -l subparam_79 -b ../dists.dss +../qgen -s 300 -r 648118449 -l subparam_80 -b ../dists.dss +../qgen -s 300 -r 656322480 -l subparam_81 -b ../dists.dss +../qgen -s 300 -r 664526511 -l subparam_82 -b ../dists.dss +../qgen -s 300 -r 672730542 -l subparam_83 -b ../dists.dss +../qgen -s 300 -r 680934573 -l subparam_84 -b ../dists.dss +../qgen -s 300 -r 689138604 -l subparam_85 -b ../dists.dss +../qgen -s 300 -r 697342635 -l subparam_86 -b ../dists.dss +../qgen -s 300 -r 705546666 -l subparam_87 -b ../dists.dss +../qgen -s 300 -r 713750697 -l subparam_88 -b ../dists.dss +../qgen -s 300 -r 721954728 -l subparam_89 -b ../dists.dss +../qgen -s 300 -r 730158759 -l subparam_90 -b ../dists.dss +../qgen -s 300 -r 738362790 -l subparam_91 -b ../dists.dss +../qgen -s 300 -r 746566821 -l subparam_92 -b ../dists.dss +../qgen -s 300 -r 754770852 -l subparam_93 -b ../dists.dss +../qgen -s 300 -r 762974883 -l subparam_94 -b ../dists.dss +../qgen -s 300 -r 771178914 -l subparam_95 -b ../dists.dss +../qgen -s 300 -r 779382945 -l subparam_96 -b ../dists.dss +../qgen -s 300 -r 787586976 -l subparam_97 -b ../dists.dss +../qgen -s 300 -r 795791007 -l subparam_98 -b ../dists.dss +../qgen -s 300 -r 803995038 -l subparam_99 -b ../dists.dss +../qgen -s 300 -r 812199069 -l subparam_100 -b ../dists.dss +../qgen -s 300 -r 820403100 -l subparam_101 -b ../dists.dss +../qgen -s 300 -r 828607131 -l subparam_102 -b ../dists.dss +../qgen -s 300 -r 836811162 -l subparam_103 -b ../dists.dss +../qgen -s 300 -r 845015193 -l subparam_104 -b ../dists.dss +../qgen -s 300 -r 853219224 -l subparam_105 -b ../dists.dss +../qgen -s 300 -r 861423255 -l subparam_106 -b ../dists.dss +../qgen -s 300 -r 869627286 -l subparam_107 -b ../dists.dss +../qgen -s 300 -r 877831317 -l subparam_108 -b ../dists.dss +../qgen -s 300 -r 886035348 -l subparam_109 -b ../dists.dss +../qgen -s 300 -r 894239379 -l subparam_110 -b ../dists.dss +../qgen -s 300 -r 902443410 -l subparam_111 -b ../dists.dss +../qgen -s 300 -r 910647441 -l subparam_112 -b ../dists.dss +../qgen -s 300 -r 918851472 -l subparam_113 -b ../dists.dss +../qgen -s 300 -r 927055503 -l subparam_114 -b ../dists.dss +../qgen -s 300 -r 935259534 -l subparam_115 -b ../dists.dss +../qgen -s 300 -r 943463565 -l subparam_116 -b ../dists.dss +../qgen -s 300 -r 951667596 -l subparam_117 -b ../dists.dss +../qgen -s 300 -r 959871627 -l subparam_118 -b ../dists.dss +../qgen -s 300 -r 968075658 -l subparam_119 -b ../dists.dss +../qgen -s 300 -r 976279689 -l subparam_120 -b ../dists.dss +../qgen -s 300 -r 984483720 -l subparam_121 -b ../dists.dss +../qgen -s 300 -r 992687751 -l subparam_122 -b ../dists.dss +../qgen -s 300 -r 1000891782 -l subparam_123 -b ../dists.dss +../qgen -s 300 -r 1009095813 -l subparam_124 -b ../dists.dss +../qgen -s 300 -r 1017299844 -l subparam_125 -b ../dists.dss +../qgen -s 300 -r 1025503875 -l subparam_126 -b ../dists.dss +../qgen -s 300 -r 1033707906 -l subparam_127 -b ../dists.dss +../qgen -s 300 -r 1041911937 -l subparam_128 -b ../dists.dss +../qgen -s 300 -r 1050115968 -l subparam_129 -b ../dists.dss +../qgen -s 300 -r 1058319999 -l subparam_130 -b ../dists.dss +../qgen -s 300 -r 1066524030 -l subparam_131 -b ../dists.dss +../qgen -s 300 -r 1074728061 -l subparam_132 -b ../dists.dss +../qgen -s 300 -r 1082932092 -l subparam_133 -b ../dists.dss +../qgen -s 300 -r 1091136123 -l subparam_134 -b ../dists.dss +../qgen -s 300 -r 1099340154 -l subparam_135 -b ../dists.dss +../qgen -s 300 -r 1107544185 -l subparam_136 -b ../dists.dss +../qgen -s 300 -r 1115748216 -l subparam_137 -b ../dists.dss +../qgen -s 300 -r 1123952247 -l subparam_138 -b ../dists.dss +../qgen -s 300 -r 1132156278 -l subparam_139 -b ../dists.dss +../qgen -s 300 -r 1140360309 -l subparam_140 -b ../dists.dss +../qgen -s 300 -r 1148564340 -l subparam_141 -b ../dists.dss +../qgen -s 300 -r 1156768371 -l subparam_142 -b ../dists.dss +../qgen -s 300 -r 1164972402 -l subparam_143 -b ../dists.dss +../qgen -s 300 -r 1173176433 -l subparam_144 -b ../dists.dss +../qgen -s 300 -r 1181380464 -l subparam_145 -b ../dists.dss +../qgen -s 300 -r 1189584495 -l subparam_146 -b ../dists.dss +../qgen -s 300 -r 1197788526 -l subparam_147 -b ../dists.dss +../qgen -s 300 -r 1205992557 -l subparam_148 -b ../dists.dss +../qgen -s 300 -r 1214196588 -l subparam_149 -b ../dists.dss +../qgen -s 300 -r 1231235959 -l subparam_150 -b ../dists.dss diff --git a/tpch/00_compile_tpch/dbgen/reference/cmd_qgen_sf3000 b/tpch/00_compile_tpch/dbgen/reference/cmd_qgen_sf3000 new file mode 100644 index 0000000..3c35540 --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/reference/cmd_qgen_sf3000 @@ -0,0 +1,150 @@ +../qgen -s 3000 -r 0101000000 -l subparam_1 -b ../dists.dss +../qgen -s 3000 -r 8204031 -l subparam_2 -b ../dists.dss +../qgen -s 3000 -r 16408062 -l subparam_3 -b ../dists.dss +../qgen -s 3000 -r 24612093 -l subparam_4 -b ../dists.dss +../qgen -s 3000 -r 32816124 -l subparam_5 -b ../dists.dss +../qgen -s 3000 -r 41020155 -l subparam_6 -b ../dists.dss +../qgen -s 3000 -r 49224186 -l subparam_7 -b ../dists.dss +../qgen -s 3000 -r 57428217 -l subparam_8 -b ../dists.dss +../qgen -s 3000 -r 65632248 -l subparam_9 -b ../dists.dss +../qgen -s 3000 -r 73836279 -l subparam_10 -b ../dists.dss +../qgen -s 3000 -r 82040310 -l subparam_11 -b ../dists.dss +../qgen -s 3000 -r 90244341 -l subparam_12 -b ../dists.dss +../qgen -s 3000 -r 98448372 -l subparam_13 -b ../dists.dss +../qgen -s 3000 -r 106652403 -l subparam_14 -b ../dists.dss +../qgen -s 3000 -r 114856434 -l subparam_15 -b ../dists.dss +../qgen -s 3000 -r 123060465 -l subparam_16 -b ../dists.dss +../qgen -s 3000 -r 131264496 -l subparam_17 -b ../dists.dss +../qgen -s 3000 -r 139468527 -l subparam_18 -b ../dists.dss +../qgen -s 3000 -r 147672558 -l subparam_19 -b ../dists.dss +../qgen -s 3000 -r 155876589 -l subparam_20 -b ../dists.dss +../qgen -s 3000 -r 164080620 -l subparam_21 -b ../dists.dss +../qgen -s 3000 -r 172284651 -l subparam_22 -b ../dists.dss +../qgen -s 3000 -r 180488682 -l subparam_23 -b ../dists.dss +../qgen -s 3000 -r 188692713 -l subparam_24 -b ../dists.dss +../qgen -s 3000 -r 196896744 -l subparam_25 -b ../dists.dss +../qgen -s 3000 -r 205100775 -l subparam_26 -b ../dists.dss +../qgen -s 3000 -r 213304806 -l subparam_27 -b ../dists.dss +../qgen -s 3000 -r 221508837 -l subparam_28 -b ../dists.dss +../qgen -s 3000 -r 229712868 -l subparam_29 -b ../dists.dss +../qgen -s 3000 -r 237916899 -l subparam_30 -b ../dists.dss +../qgen -s 3000 -r 246120930 -l subparam_31 -b ../dists.dss +../qgen -s 3000 -r 254324961 -l subparam_32 -b ../dists.dss +../qgen -s 3000 -r 262528992 -l subparam_33 -b ../dists.dss +../qgen -s 3000 -r 270733023 -l subparam_34 -b ../dists.dss +../qgen -s 3000 -r 278937054 -l subparam_35 -b ../dists.dss +../qgen -s 3000 -r 287141085 -l subparam_36 -b ../dists.dss +../qgen -s 3000 -r 295345116 -l subparam_37 -b ../dists.dss +../qgen -s 3000 -r 303549147 -l subparam_38 -b ../dists.dss +../qgen -s 3000 -r 311753178 -l subparam_39 -b ../dists.dss +../qgen -s 3000 -r 319957209 -l subparam_40 -b ../dists.dss +../qgen -s 3000 -r 328161240 -l subparam_41 -b ../dists.dss +../qgen -s 3000 -r 336365271 -l subparam_42 -b ../dists.dss +../qgen -s 3000 -r 344569302 -l subparam_43 -b ../dists.dss +../qgen -s 3000 -r 352773333 -l subparam_44 -b ../dists.dss +../qgen -s 3000 -r 360977364 -l subparam_45 -b ../dists.dss +../qgen -s 3000 -r 369181395 -l subparam_46 -b ../dists.dss +../qgen -s 3000 -r 377385426 -l subparam_47 -b ../dists.dss +../qgen -s 3000 -r 385589457 -l subparam_48 -b ../dists.dss +../qgen -s 3000 -r 393793488 -l subparam_49 -b ../dists.dss +../qgen -s 3000 -r 401997519 -l subparam_50 -b ../dists.dss +../qgen -s 3000 -r 410201550 -l subparam_51 -b ../dists.dss +../qgen -s 3000 -r 418405581 -l subparam_52 -b ../dists.dss +../qgen -s 3000 -r 426609612 -l subparam_53 -b ../dists.dss +../qgen -s 3000 -r 434813643 -l subparam_54 -b ../dists.dss +../qgen -s 3000 -r 443017674 -l subparam_55 -b ../dists.dss +../qgen -s 3000 -r 451221705 -l subparam_56 -b ../dists.dss +../qgen -s 3000 -r 459425736 -l subparam_57 -b ../dists.dss +../qgen -s 3000 -r 467629767 -l subparam_58 -b ../dists.dss +../qgen -s 3000 -r 475833798 -l subparam_59 -b ../dists.dss +../qgen -s 3000 -r 484037829 -l subparam_60 -b ../dists.dss +../qgen -s 3000 -r 492241860 -l subparam_61 -b ../dists.dss +../qgen -s 3000 -r 500445891 -l subparam_62 -b ../dists.dss +../qgen -s 3000 -r 508649922 -l subparam_63 -b ../dists.dss +../qgen -s 3000 -r 516853953 -l subparam_64 -b ../dists.dss +../qgen -s 3000 -r 525057984 -l subparam_65 -b ../dists.dss +../qgen -s 3000 -r 533262015 -l subparam_66 -b ../dists.dss +../qgen -s 3000 -r 541466046 -l subparam_67 -b ../dists.dss +../qgen -s 3000 -r 549670077 -l subparam_68 -b ../dists.dss +../qgen -s 3000 -r 557874108 -l subparam_69 -b ../dists.dss +../qgen -s 3000 -r 566078139 -l subparam_70 -b ../dists.dss +../qgen -s 3000 -r 574282170 -l subparam_71 -b ../dists.dss +../qgen -s 3000 -r 582486201 -l subparam_72 -b ../dists.dss +../qgen -s 3000 -r 590690232 -l subparam_73 -b ../dists.dss +../qgen -s 3000 -r 598894263 -l subparam_74 -b ../dists.dss +../qgen -s 3000 -r 607098294 -l subparam_75 -b ../dists.dss +../qgen -s 3000 -r 615302325 -l subparam_76 -b ../dists.dss +../qgen -s 3000 -r 623506356 -l subparam_77 -b ../dists.dss +../qgen -s 3000 -r 631710387 -l subparam_78 -b ../dists.dss +../qgen -s 3000 -r 639914418 -l subparam_79 -b ../dists.dss +../qgen -s 3000 -r 648118449 -l subparam_80 -b ../dists.dss +../qgen -s 3000 -r 656322480 -l subparam_81 -b ../dists.dss +../qgen -s 3000 -r 664526511 -l subparam_82 -b ../dists.dss +../qgen -s 3000 -r 672730542 -l subparam_83 -b ../dists.dss +../qgen -s 3000 -r 680934573 -l subparam_84 -b ../dists.dss +../qgen -s 3000 -r 689138604 -l subparam_85 -b ../dists.dss +../qgen -s 3000 -r 697342635 -l subparam_86 -b ../dists.dss +../qgen -s 3000 -r 705546666 -l subparam_87 -b ../dists.dss +../qgen -s 3000 -r 713750697 -l subparam_88 -b ../dists.dss +../qgen -s 3000 -r 721954728 -l subparam_89 -b ../dists.dss +../qgen -s 3000 -r 730158759 -l subparam_90 -b ../dists.dss +../qgen -s 3000 -r 738362790 -l subparam_91 -b ../dists.dss +../qgen -s 3000 -r 746566821 -l subparam_92 -b ../dists.dss +../qgen -s 3000 -r 754770852 -l subparam_93 -b ../dists.dss +../qgen -s 3000 -r 762974883 -l subparam_94 -b ../dists.dss +../qgen -s 3000 -r 771178914 -l subparam_95 -b ../dists.dss +../qgen -s 3000 -r 779382945 -l subparam_96 -b ../dists.dss +../qgen -s 3000 -r 787586976 -l subparam_97 -b ../dists.dss +../qgen -s 3000 -r 795791007 -l subparam_98 -b ../dists.dss +../qgen -s 3000 -r 803995038 -l subparam_99 -b ../dists.dss +../qgen -s 3000 -r 812199069 -l subparam_100 -b ../dists.dss +../qgen -s 3000 -r 820403100 -l subparam_101 -b ../dists.dss +../qgen -s 3000 -r 828607131 -l subparam_102 -b ../dists.dss +../qgen -s 3000 -r 836811162 -l subparam_103 -b ../dists.dss +../qgen -s 3000 -r 845015193 -l subparam_104 -b ../dists.dss +../qgen -s 3000 -r 853219224 -l subparam_105 -b ../dists.dss +../qgen -s 3000 -r 861423255 -l subparam_106 -b ../dists.dss +../qgen -s 3000 -r 869627286 -l subparam_107 -b ../dists.dss +../qgen -s 3000 -r 877831317 -l subparam_108 -b ../dists.dss +../qgen -s 3000 -r 886035348 -l subparam_109 -b ../dists.dss +../qgen -s 3000 -r 894239379 -l subparam_110 -b ../dists.dss +../qgen -s 3000 -r 902443410 -l subparam_111 -b ../dists.dss +../qgen -s 3000 -r 910647441 -l subparam_112 -b ../dists.dss +../qgen -s 3000 -r 918851472 -l subparam_113 -b ../dists.dss +../qgen -s 3000 -r 927055503 -l subparam_114 -b ../dists.dss +../qgen -s 3000 -r 935259534 -l subparam_115 -b ../dists.dss +../qgen -s 3000 -r 943463565 -l subparam_116 -b ../dists.dss +../qgen -s 3000 -r 951667596 -l subparam_117 -b ../dists.dss +../qgen -s 3000 -r 959871627 -l subparam_118 -b ../dists.dss +../qgen -s 3000 -r 968075658 -l subparam_119 -b ../dists.dss +../qgen -s 3000 -r 976279689 -l subparam_120 -b ../dists.dss +../qgen -s 3000 -r 984483720 -l subparam_121 -b ../dists.dss +../qgen -s 3000 -r 992687751 -l subparam_122 -b ../dists.dss +../qgen -s 3000 -r 1000891782 -l subparam_123 -b ../dists.dss +../qgen -s 3000 -r 1009095813 -l subparam_124 -b ../dists.dss +../qgen -s 3000 -r 1017299844 -l subparam_125 -b ../dists.dss +../qgen -s 3000 -r 1025503875 -l subparam_126 -b ../dists.dss +../qgen -s 3000 -r 1033707906 -l subparam_127 -b ../dists.dss +../qgen -s 3000 -r 1041911937 -l subparam_128 -b ../dists.dss +../qgen -s 3000 -r 1050115968 -l subparam_129 -b ../dists.dss +../qgen -s 3000 -r 1058319999 -l subparam_130 -b ../dists.dss +../qgen -s 3000 -r 1066524030 -l subparam_131 -b ../dists.dss +../qgen -s 3000 -r 1074728061 -l subparam_132 -b ../dists.dss +../qgen -s 3000 -r 1082932092 -l subparam_133 -b ../dists.dss +../qgen -s 3000 -r 1091136123 -l subparam_134 -b ../dists.dss +../qgen -s 3000 -r 1099340154 -l subparam_135 -b ../dists.dss +../qgen -s 3000 -r 1107544185 -l subparam_136 -b ../dists.dss +../qgen -s 3000 -r 1115748216 -l subparam_137 -b ../dists.dss +../qgen -s 3000 -r 1123952247 -l subparam_138 -b ../dists.dss +../qgen -s 3000 -r 1132156278 -l subparam_139 -b ../dists.dss +../qgen -s 3000 -r 1140360309 -l subparam_140 -b ../dists.dss +../qgen -s 3000 -r 1148564340 -l subparam_141 -b ../dists.dss +../qgen -s 3000 -r 1156768371 -l subparam_142 -b ../dists.dss +../qgen -s 3000 -r 1164972402 -l subparam_143 -b ../dists.dss +../qgen -s 3000 -r 1173176433 -l subparam_144 -b ../dists.dss +../qgen -s 3000 -r 1181380464 -l subparam_145 -b ../dists.dss +../qgen -s 3000 -r 1189584495 -l subparam_146 -b ../dists.dss +../qgen -s 3000 -r 1197788526 -l subparam_147 -b ../dists.dss +../qgen -s 3000 -r 1205992557 -l subparam_148 -b ../dists.dss +../qgen -s 3000 -r 1214196588 -l subparam_149 -b ../dists.dss +../qgen -s 3000 -r 1231235959 -l subparam_150 -b ../dists.dss diff --git a/tpch/00_compile_tpch/dbgen/reference/cmd_qgen_sf30000 b/tpch/00_compile_tpch/dbgen/reference/cmd_qgen_sf30000 new file mode 100644 index 0000000..6581b56 --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/reference/cmd_qgen_sf30000 @@ -0,0 +1,150 @@ +../qgen -s 30000 -r 0101000000 -l subparam_1 -b ../dists.dss +../qgen -s 30000 -r 8204031 -l subparam_2 -b ../dists.dss +../qgen -s 30000 -r 16408062 -l subparam_3 -b ../dists.dss +../qgen -s 30000 -r 24612093 -l subparam_4 -b ../dists.dss +../qgen -s 30000 -r 32816124 -l subparam_5 -b ../dists.dss +../qgen -s 30000 -r 41020155 -l subparam_6 -b ../dists.dss +../qgen -s 30000 -r 49224186 -l subparam_7 -b ../dists.dss +../qgen -s 30000 -r 57428217 -l subparam_8 -b ../dists.dss +../qgen -s 30000 -r 65632248 -l subparam_9 -b ../dists.dss +../qgen -s 30000 -r 73836279 -l subparam_10 -b ../dists.dss +../qgen -s 30000 -r 82040310 -l subparam_11 -b ../dists.dss +../qgen -s 30000 -r 90244341 -l subparam_12 -b ../dists.dss +../qgen -s 30000 -r 98448372 -l subparam_13 -b ../dists.dss +../qgen -s 30000 -r 106652403 -l subparam_14 -b ../dists.dss +../qgen -s 30000 -r 114856434 -l subparam_15 -b ../dists.dss +../qgen -s 30000 -r 123060465 -l subparam_16 -b ../dists.dss +../qgen -s 30000 -r 131264496 -l subparam_17 -b ../dists.dss +../qgen -s 30000 -r 139468527 -l subparam_18 -b ../dists.dss +../qgen -s 30000 -r 147672558 -l subparam_19 -b ../dists.dss +../qgen -s 30000 -r 155876589 -l subparam_20 -b ../dists.dss +../qgen -s 30000 -r 164080620 -l subparam_21 -b ../dists.dss +../qgen -s 30000 -r 172284651 -l subparam_22 -b ../dists.dss +../qgen -s 30000 -r 180488682 -l subparam_23 -b ../dists.dss +../qgen -s 30000 -r 188692713 -l subparam_24 -b ../dists.dss +../qgen -s 30000 -r 196896744 -l subparam_25 -b ../dists.dss +../qgen -s 30000 -r 205100775 -l subparam_26 -b ../dists.dss +../qgen -s 30000 -r 213304806 -l subparam_27 -b ../dists.dss +../qgen -s 30000 -r 221508837 -l subparam_28 -b ../dists.dss +../qgen -s 30000 -r 229712868 -l subparam_29 -b ../dists.dss +../qgen -s 30000 -r 237916899 -l subparam_30 -b ../dists.dss +../qgen -s 30000 -r 246120930 -l subparam_31 -b ../dists.dss +../qgen -s 30000 -r 254324961 -l subparam_32 -b ../dists.dss +../qgen -s 30000 -r 262528992 -l subparam_33 -b ../dists.dss +../qgen -s 30000 -r 270733023 -l subparam_34 -b ../dists.dss +../qgen -s 30000 -r 278937054 -l subparam_35 -b ../dists.dss +../qgen -s 30000 -r 287141085 -l subparam_36 -b ../dists.dss +../qgen -s 30000 -r 295345116 -l subparam_37 -b ../dists.dss +../qgen -s 30000 -r 303549147 -l subparam_38 -b ../dists.dss +../qgen -s 30000 -r 311753178 -l subparam_39 -b ../dists.dss +../qgen -s 30000 -r 319957209 -l subparam_40 -b ../dists.dss +../qgen -s 30000 -r 328161240 -l subparam_41 -b ../dists.dss +../qgen -s 30000 -r 336365271 -l subparam_42 -b ../dists.dss +../qgen -s 30000 -r 344569302 -l subparam_43 -b ../dists.dss +../qgen -s 30000 -r 352773333 -l subparam_44 -b ../dists.dss +../qgen -s 30000 -r 360977364 -l subparam_45 -b ../dists.dss +../qgen -s 30000 -r 369181395 -l subparam_46 -b ../dists.dss +../qgen -s 30000 -r 377385426 -l subparam_47 -b ../dists.dss +../qgen -s 30000 -r 385589457 -l subparam_48 -b ../dists.dss +../qgen -s 30000 -r 393793488 -l subparam_49 -b ../dists.dss +../qgen -s 30000 -r 401997519 -l subparam_50 -b ../dists.dss +../qgen -s 30000 -r 410201550 -l subparam_51 -b ../dists.dss +../qgen -s 30000 -r 418405581 -l subparam_52 -b ../dists.dss +../qgen -s 30000 -r 426609612 -l subparam_53 -b ../dists.dss +../qgen -s 30000 -r 434813643 -l subparam_54 -b ../dists.dss +../qgen -s 30000 -r 443017674 -l subparam_55 -b ../dists.dss +../qgen -s 30000 -r 451221705 -l subparam_56 -b ../dists.dss +../qgen -s 30000 -r 459425736 -l subparam_57 -b ../dists.dss +../qgen -s 30000 -r 467629767 -l subparam_58 -b ../dists.dss +../qgen -s 30000 -r 475833798 -l subparam_59 -b ../dists.dss +../qgen -s 30000 -r 484037829 -l subparam_60 -b ../dists.dss +../qgen -s 30000 -r 492241860 -l subparam_61 -b ../dists.dss +../qgen -s 30000 -r 500445891 -l subparam_62 -b ../dists.dss +../qgen -s 30000 -r 508649922 -l subparam_63 -b ../dists.dss +../qgen -s 30000 -r 516853953 -l subparam_64 -b ../dists.dss +../qgen -s 30000 -r 525057984 -l subparam_65 -b ../dists.dss +../qgen -s 30000 -r 533262015 -l subparam_66 -b ../dists.dss +../qgen -s 30000 -r 541466046 -l subparam_67 -b ../dists.dss +../qgen -s 30000 -r 549670077 -l subparam_68 -b ../dists.dss +../qgen -s 30000 -r 557874108 -l subparam_69 -b ../dists.dss +../qgen -s 30000 -r 566078139 -l subparam_70 -b ../dists.dss +../qgen -s 30000 -r 574282170 -l subparam_71 -b ../dists.dss +../qgen -s 30000 -r 582486201 -l subparam_72 -b ../dists.dss +../qgen -s 30000 -r 590690232 -l subparam_73 -b ../dists.dss +../qgen -s 30000 -r 598894263 -l subparam_74 -b ../dists.dss +../qgen -s 30000 -r 607098294 -l subparam_75 -b ../dists.dss +../qgen -s 30000 -r 615302325 -l subparam_76 -b ../dists.dss +../qgen -s 30000 -r 623506356 -l subparam_77 -b ../dists.dss +../qgen -s 30000 -r 631710387 -l subparam_78 -b ../dists.dss +../qgen -s 30000 -r 639914418 -l subparam_79 -b ../dists.dss +../qgen -s 30000 -r 648118449 -l subparam_80 -b ../dists.dss +../qgen -s 30000 -r 656322480 -l subparam_81 -b ../dists.dss +../qgen -s 30000 -r 664526511 -l subparam_82 -b ../dists.dss +../qgen -s 30000 -r 672730542 -l subparam_83 -b ../dists.dss +../qgen -s 30000 -r 680934573 -l subparam_84 -b ../dists.dss +../qgen -s 30000 -r 689138604 -l subparam_85 -b ../dists.dss +../qgen -s 30000 -r 697342635 -l subparam_86 -b ../dists.dss +../qgen -s 30000 -r 705546666 -l subparam_87 -b ../dists.dss +../qgen -s 30000 -r 713750697 -l subparam_88 -b ../dists.dss +../qgen -s 30000 -r 721954728 -l subparam_89 -b ../dists.dss +../qgen -s 30000 -r 730158759 -l subparam_90 -b ../dists.dss +../qgen -s 30000 -r 738362790 -l subparam_91 -b ../dists.dss +../qgen -s 30000 -r 746566821 -l subparam_92 -b ../dists.dss +../qgen -s 30000 -r 754770852 -l subparam_93 -b ../dists.dss +../qgen -s 30000 -r 762974883 -l subparam_94 -b ../dists.dss +../qgen -s 30000 -r 771178914 -l subparam_95 -b ../dists.dss +../qgen -s 30000 -r 779382945 -l subparam_96 -b ../dists.dss +../qgen -s 30000 -r 787586976 -l subparam_97 -b ../dists.dss +../qgen -s 30000 -r 795791007 -l subparam_98 -b ../dists.dss +../qgen -s 30000 -r 803995038 -l subparam_99 -b ../dists.dss +../qgen -s 30000 -r 812199069 -l subparam_100 -b ../dists.dss +../qgen -s 30000 -r 820403100 -l subparam_101 -b ../dists.dss +../qgen -s 30000 -r 828607131 -l subparam_102 -b ../dists.dss +../qgen -s 30000 -r 836811162 -l subparam_103 -b ../dists.dss +../qgen -s 30000 -r 845015193 -l subparam_104 -b ../dists.dss +../qgen -s 30000 -r 853219224 -l subparam_105 -b ../dists.dss +../qgen -s 30000 -r 861423255 -l subparam_106 -b ../dists.dss +../qgen -s 30000 -r 869627286 -l subparam_107 -b ../dists.dss +../qgen -s 30000 -r 877831317 -l subparam_108 -b ../dists.dss +../qgen -s 30000 -r 886035348 -l subparam_109 -b ../dists.dss +../qgen -s 30000 -r 894239379 -l subparam_110 -b ../dists.dss +../qgen -s 30000 -r 902443410 -l subparam_111 -b ../dists.dss +../qgen -s 30000 -r 910647441 -l subparam_112 -b ../dists.dss +../qgen -s 30000 -r 918851472 -l subparam_113 -b ../dists.dss +../qgen -s 30000 -r 927055503 -l subparam_114 -b ../dists.dss +../qgen -s 30000 -r 935259534 -l subparam_115 -b ../dists.dss +../qgen -s 30000 -r 943463565 -l subparam_116 -b ../dists.dss +../qgen -s 30000 -r 951667596 -l subparam_117 -b ../dists.dss +../qgen -s 30000 -r 959871627 -l subparam_118 -b ../dists.dss +../qgen -s 30000 -r 968075658 -l subparam_119 -b ../dists.dss +../qgen -s 30000 -r 976279689 -l subparam_120 -b ../dists.dss +../qgen -s 30000 -r 984483720 -l subparam_121 -b ../dists.dss +../qgen -s 30000 -r 992687751 -l subparam_122 -b ../dists.dss +../qgen -s 30000 -r 1000891782 -l subparam_123 -b ../dists.dss +../qgen -s 30000 -r 1009095813 -l subparam_124 -b ../dists.dss +../qgen -s 30000 -r 1017299844 -l subparam_125 -b ../dists.dss +../qgen -s 30000 -r 1025503875 -l subparam_126 -b ../dists.dss +../qgen -s 30000 -r 1033707906 -l subparam_127 -b ../dists.dss +../qgen -s 30000 -r 1041911937 -l subparam_128 -b ../dists.dss +../qgen -s 30000 -r 1050115968 -l subparam_129 -b ../dists.dss +../qgen -s 30000 -r 1058319999 -l subparam_130 -b ../dists.dss +../qgen -s 30000 -r 1066524030 -l subparam_131 -b ../dists.dss +../qgen -s 30000 -r 1074728061 -l subparam_132 -b ../dists.dss +../qgen -s 30000 -r 1082932092 -l subparam_133 -b ../dists.dss +../qgen -s 30000 -r 1091136123 -l subparam_134 -b ../dists.dss +../qgen -s 30000 -r 1099340154 -l subparam_135 -b ../dists.dss +../qgen -s 30000 -r 1107544185 -l subparam_136 -b ../dists.dss +../qgen -s 30000 -r 1115748216 -l subparam_137 -b ../dists.dss +../qgen -s 30000 -r 1123952247 -l subparam_138 -b ../dists.dss +../qgen -s 30000 -r 1132156278 -l subparam_139 -b ../dists.dss +../qgen -s 30000 -r 1140360309 -l subparam_140 -b ../dists.dss +../qgen -s 30000 -r 1148564340 -l subparam_141 -b ../dists.dss +../qgen -s 30000 -r 1156768371 -l subparam_142 -b ../dists.dss +../qgen -s 30000 -r 1164972402 -l subparam_143 -b ../dists.dss +../qgen -s 30000 -r 1173176433 -l subparam_144 -b ../dists.dss +../qgen -s 30000 -r 1181380464 -l subparam_145 -b ../dists.dss +../qgen -s 30000 -r 1189584495 -l subparam_146 -b ../dists.dss +../qgen -s 30000 -r 1197788526 -l subparam_147 -b ../dists.dss +../qgen -s 30000 -r 1205992557 -l subparam_148 -b ../dists.dss +../qgen -s 30000 -r 1214196588 -l subparam_149 -b ../dists.dss +../qgen -s 30000 -r 1231235959 -l subparam_150 -b ../dists.dss diff --git a/tpch/00_compile_tpch/dbgen/reference/cmd_update_sf1 b/tpch/00_compile_tpch/dbgen/reference/cmd_update_sf1 new file mode 100644 index 0000000..f775857 --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/reference/cmd_update_sf1 @@ -0,0 +1,6 @@ +../dbgen -s 1 -U 1 -S 1 -i 100 -d 100 -f -b ../dists.dss +./trim_updates.sh 1 100 +../dbgen -s 1 -U 75 -S 75 -i 100 -d 100 -f -b ../dists.dss +./trim_updates.sh 75 100 +../dbgen -s 1 -U 150 -S 150 -i 100 -d 100 -f -b ../dists.dss +./trim_updates.sh 150 100 diff --git a/tpch/00_compile_tpch/dbgen/reference/cmd_update_sf100 b/tpch/00_compile_tpch/dbgen/reference/cmd_update_sf100 new file mode 100644 index 0000000..bd14095 --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/reference/cmd_update_sf100 @@ -0,0 +1,6 @@ +../dbgen -s 100 -U 1 -S 1 -i 100 -d 100 -f -b ../dists.dss +./trim_updates.sh 1 100 +../dbgen -s 100 -U 75 -S 75 -i 100 -d 100 -f -b ../dists.dss +./trim_updates.sh 75 100 +../dbgen -s 100 -U 150 -S 150 -i 100 -d 100 -f -b ../dists.dss +./trim_updates.sh 150 100 diff --git a/tpch/00_compile_tpch/dbgen/reference/cmd_update_sf1000 b/tpch/00_compile_tpch/dbgen/reference/cmd_update_sf1000 new file mode 100644 index 0000000..b54e9d3 --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/reference/cmd_update_sf1000 @@ -0,0 +1,6 @@ +../dbgen -s 1000 -U 1 -S 1 -i 100 -d 100 -f -b ../dists.dss +./trim_updates.sh 1 100 +../dbgen -s 1000 -U 75 -S 75 -i 100 -d 100 -f -b ../dists.dss +./trim_updates.sh 75 100 +../dbgen -s 1000 -U 150 -S 150 -i 100 -d 100 -f -b ../dists.dss +./trim_updates.sh 150 100 diff --git a/tpch/00_compile_tpch/dbgen/reference/cmd_update_sf10000 b/tpch/00_compile_tpch/dbgen/reference/cmd_update_sf10000 new file mode 100644 index 0000000..f559977 --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/reference/cmd_update_sf10000 @@ -0,0 +1,6 @@ +../dbgen -s 10000 -U 1 -S 1 -i 100 -d 100 -f -b ../dists.dss +./trim_updates.sh 1 100 +../dbgen -s 10000 -U 75 -S 75 -i 100 -d 100 -f -b ../dists.dss +./trim_updates.sh 75 100 +../dbgen -s 10000 -U 150 -S 150 -i 100 -d 100 -f -b ../dists.dss +./trim_updates.sh 150 100 diff --git a/tpch/00_compile_tpch/dbgen/reference/cmd_update_sf100000 b/tpch/00_compile_tpch/dbgen/reference/cmd_update_sf100000 new file mode 100644 index 0000000..51297a1 --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/reference/cmd_update_sf100000 @@ -0,0 +1,6 @@ +../dbgen -s 100000 -U 1 -S 1 -i 100 -d 100 -f -b ../dists.dss +./trim_updates.sh 1 100 +../dbgen -s 100000 -U 75 -S 75 -i 100 -d 100 -f -b ../dists.dss +./trim_updates.sh 75 100 +../dbgen -s 100000 -U 150 -S 150 -i 100 -d 100 -f -b ../dists.dss +./trim_updates.sh 150 100 diff --git a/tpch/00_compile_tpch/dbgen/reference/cmd_update_sf300 b/tpch/00_compile_tpch/dbgen/reference/cmd_update_sf300 new file mode 100644 index 0000000..78b2279 --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/reference/cmd_update_sf300 @@ -0,0 +1,6 @@ +../dbgen -s 300 -U 1 -S 1 -i 100 -d 100 -f -b ../dists.dss +./trim_updates.sh 1 100 +../dbgen -s 300 -U 75 -S 75 -i 100 -d 100 -f -b ../dists.dss +./trim_updates.sh 75 100 +../dbgen -s 300 -U 150 -S 150 -i 100 -d 100 -f -b ../dists.dss +./trim_updates.sh 150 100 diff --git a/tpch/00_compile_tpch/dbgen/reference/cmd_update_sf3000 b/tpch/00_compile_tpch/dbgen/reference/cmd_update_sf3000 new file mode 100644 index 0000000..d480553 --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/reference/cmd_update_sf3000 @@ -0,0 +1,6 @@ +../dbgen -s 3000 -U 1 -S 1 -i 100 -d 100 -f -b ../dists.dss +./trim_updates.sh 1 100 +../dbgen -s 3000 -U 75 -S 75 -i 100 -d 100 -f -b ../dists.dss +./trim_updates.sh 75 100 +../dbgen -s 3000 -U 150 -S 150 -i 100 -d 100 -f -b ../dists.dss +./trim_updates.sh 150 100 diff --git a/tpch/00_compile_tpch/dbgen/reference/cmd_update_sf30000 b/tpch/00_compile_tpch/dbgen/reference/cmd_update_sf30000 new file mode 100644 index 0000000..33bdf87 --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/reference/cmd_update_sf30000 @@ -0,0 +1,6 @@ +../dbgen -s 30000 -U 1 -S 1 -i 100 -d 100 -f -b ../dists.dss +./trim_updates.sh 1 100 +../dbgen -s 30000 -U 75 -S 75 -i 100 -d 100 -f -b ../dists.dss +./trim_updates.sh 75 100 +../dbgen -s 30000 -U 150 -S 150 -i 100 -d 100 -f -b ../dists.dss +./trim_updates.sh 150 100 diff --git a/tpch/00_compile_tpch/dbgen/reference/trim_updates.sh b/tpch/00_compile_tpch/dbgen/reference/trim_updates.sh new file mode 100644 index 0000000..5fa0049 --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/reference/trim_updates.sh @@ -0,0 +1,19 @@ +#!/bin/bash +if [ $# -ne 2 ] +then + echo "USAGE: `basename $0` " + echo " trim all files in the named update set, retaining only the first" + echo " lines" + exit +fi +if [ -z "$DSS_PATH" ] +then + DSS_PATH=. + export DSS_PATH +fi +tmp=`mktemp` +for f in $DSS_PATH/*u$1.* +do + head -$2 $f > $tmp + mv $tmp $f +done diff --git a/tpch/00_compile_tpch/dbgen/release.h b/tpch/00_compile_tpch/dbgen/release.h new file mode 100644 index 0000000..59818d3 --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/release.h @@ -0,0 +1,7 @@ +/* + * release.h + */ +#define VERSION 2 +#define RELEASE 17 +#define PATCH 0 +#define BUILD 0 diff --git a/tpch/00_compile_tpch/dbgen/rnd.c b/tpch/00_compile_tpch/dbgen/rnd.c new file mode 100644 index 0000000..4655f4c --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/rnd.c @@ -0,0 +1,232 @@ +/* +* $Id: rnd.c,v 1.7 2006/07/31 17:23:09 jms Exp $ +* +* Revision History +* =================== +* $Log: rnd.c,v $ +* Revision 1.7 2006/07/31 17:23:09 jms +* fix to parallelism problem +* +* Revision 1.6 2005/10/25 17:26:38 jms +* check in integration between microsoft changes and baseline code +* +* Revision 1.5 2005/10/14 23:16:54 jms +* fix for answer set compliance +* +* Revision 1.4 2005/09/23 22:29:35 jms +* fix to assume 64b support in the 32b RNG calls. Should speed generation, and corrects a problem with FK between Customer and Orders +* +* Revision 1.3 2005/03/04 21:43:23 jms +* correct segfult in random() +* +* Revision 1.2 2005/01/03 20:08:59 jms +* change line terminations +* +* Revision 1.1.1.1 2004/11/24 23:31:47 jms +* re-establish external server +* +* Revision 1.7 2004/04/08 17:34:15 jms +* cleanup SOLARIS/SUN ifdefs; now all use SUN +* +* Revision 1.6 2004/03/26 20:22:56 jms +* correct Solaris header +* +* Revision 1.5 2004/03/02 20:50:50 jms +* MP/RAS porting changes +* +* Revision 1.4 2004/02/18 16:37:33 jms +* add int32_t for solaris +* +* Revision 1.3 2004/02/18 16:26:49 jms +* 32/64 bit changes for overflow handling needed additional changes when ported back to windows +* +* Revision 1.2 2004/02/18 16:17:32 jms +* add 32bit specific changes to UnifInt +* +* Revision 1.1.1.1 2003/08/08 21:50:34 jms +* recreation after CVS crash +* +* Revision 1.3 2003/08/08 21:35:26 jms +* first integration of rng64 for o_custkey and l_partkey +* +* Revision 1.2 2003/08/07 17:58:34 jms +* Convery RNG to 64bit space as preparation for new large scale RNG +* +* Revision 1.1.1.1 2003/04/03 18:54:21 jms +* initial checkin +* +* +*/ +/* + * RANDOM.C -- Implements Park & Miller's "Minimum Standard" RNG + * + * (Reference: CACM, Oct 1988, pp 1192-1201) + * + * NextRand: Computes next random integer + * UnifInt: Yields an long uniformly distributed between given bounds + * UnifReal: ields a real uniformly distributed between given bounds + * Exponential: Yields a real exponentially distributed with given mean + * + */ + +#include "config.h" +#include +#include +#ifdef LINUX +#include +#endif +#ifdef IBM +#include +#endif +#ifdef SUN +#include +#endif +#ifdef ATT +#include +#endif +#ifdef WIN32 +#define int32_t __int32 +#endif +#include "dss.h" +#include "rnd.h" + +char *env_config PROTO((char *tag, char *dflt)); +void NthElement(DSS_HUGE, DSS_HUGE *); + +void +dss_random(DSS_HUGE *tgt, DSS_HUGE lower, DSS_HUGE upper, long stream) +{ + *tgt = UnifInt(lower, upper, stream); + Seed[stream].usage += 1; + + return; +} + +void +row_start(int t) \ +{ + int i; + for (i=0; i <= MAX_STREAM; i++) + Seed[i].usage = 0 ; + + return; +} + +void +row_stop(int t) \ + { + int i; + + /* need to allow for handling the master and detail together */ + if (t == ORDER_LINE) + t = ORDER; + if (t == PART_PSUPP) + t = PART; + + for (i=0; i <= MAX_STREAM; i++) + if ((Seed[i].table == t) || (Seed[i].table == tdefs[t].child)) + { + if (set_seeds && (Seed[i].usage > Seed[i].boundary)) + { + fprintf(stderr, "\nSEED CHANGE: seed[%d].usage = %d\n", + i, Seed[i].usage); + Seed[i].boundary = Seed[i].usage; + } + else + { + NthElement((Seed[i].boundary - Seed[i].usage), &Seed[i].value); +#ifdef RNG_TEST + Seed[i].nCalls += Seed[i].boundary - Seed[i].usage; +#endif + } + } + return; + } + +void +dump_seeds(int tbl) +{ + int i; + + for (i=0; i <= MAX_STREAM; i++) + if (Seed[i].table == tbl) +#ifdef RNG_TEST + printf("%d(%ld):\t%ld\n", i, Seed[i].nCalls, Seed[i].value); +#else + printf("%d:\t%ld\n", i, Seed[i].value); +#endif + return; +} + +/****************************************************************** + + NextRand: Computes next random integer + +*******************************************************************/ + +/* + * long NextRand( long nSeed ) + */ +DSS_HUGE +NextRand(DSS_HUGE nSeed) + +/* + * nSeed is the previous random number; the returned value is the + * next random number. The routine generates all numbers in the + * range 1 .. nM-1. + */ + +{ + nSeed = (nSeed * 16807) % 2147483647; + return (nSeed); +} + +/****************************************************************** + + UnifInt: Yields an long uniformly distributed between given bounds + +*******************************************************************/ + +/* + * long UnifInt( long nLow, long nHigh, long nStream ) + */ +DSS_HUGE +UnifInt(DSS_HUGE nLow, DSS_HUGE nHigh, long nStream) + +/* + * Returns an integer uniformly distributed between nLow and nHigh, + * including * the endpoints. nStream is the random number stream. + * Stream 0 is used if nStream is not in the range 0..MAX_STREAM. + */ + +{ + double dRange; + DSS_HUGE nTemp, + nRange; + int32_t nLow32 = (int32_t)nLow, + nHigh32 = (int32_t)nHigh; + + if (nStream < 0 || nStream > MAX_STREAM) + nStream = 0; + + if ((nHigh == MAX_LONG) && (nLow == 0)) + { + dRange = DOUBLE_CAST (nHigh32 - nLow32 + 1); + nRange = nHigh32 - nLow32 + 1; + } + else + { + dRange = DOUBLE_CAST (nHigh - nLow + 1); + nRange = nHigh - nLow + 1; + } + + Seed[nStream].value = NextRand(Seed[nStream].value); +#ifdef RNG_TEST + Seed[nStream].nCalls += 1; +#endif + nTemp = (DSS_HUGE) (((double) Seed[nStream].value / dM) * (dRange)); + return (nLow + nTemp); +} + + + diff --git a/tpch/00_compile_tpch/dbgen/rnd.h b/tpch/00_compile_tpch/dbgen/rnd.h new file mode 100644 index 0000000..331f573 --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/rnd.h @@ -0,0 +1,108 @@ +/* +* $Id: rnd.h,v 1.4 2006/08/01 04:13:17 jms Exp $ +* +* Revision History +* =================== +* $Log: rnd.h,v $ +* Revision 1.4 2006/08/01 04:13:17 jms +* fix parallel generation +* +* Revision 1.3 2006/07/31 17:23:09 jms +* fix to parallelism problem +* +* Revision 1.2 2005/01/03 20:08:59 jms +* change line terminations +* +* Revision 1.1.1.1 2004/11/24 23:31:47 jms +* re-establish external server +* +* Revision 1.1.1.1 2003/08/08 21:50:34 jms +* recreation after CVS crash +* +* Revision 1.3 2003/08/08 21:35:26 jms +* first integration of rng64 for o_custkey and l_partkey +* +* Revision 1.2 2003/08/07 17:58:34 jms +* Convery RNG to 64bit space as preparation for new large scale RNG +* +* Revision 1.1.1.1 2003/04/03 18:54:21 jms +* initial checkin +* +* +*/ +/* + * rnd.h -- header file for use withthe portable random number generator + * provided by Frank Stephens of Unisys + */ + +/* function protypes */ +DSS_HUGE NextRand PROTO((DSS_HUGE)); +DSS_HUGE UnifInt PROTO((DSS_HUGE, DSS_HUGE, long)); + +static long nA = 16807; /* the multiplier */ +static long nM = 2147483647;/* the modulus == 2^31 - 1 */ +static long nQ = 127773; /* the quotient nM / nA */ +static long nR = 2836; /* the remainder nM % nA */ + +double dM = 2147483647.0; + +/* + * macros to control RNG and assure reproducible multi-stream + * runs without the need for seed files. Keep track of invocations of RNG + * and always round-up to a known per-row boundary. + */ +/* + * preferred solution, but not initializing correctly + */ +#define VSTR_MAX(len) (long)(len / 5 + (len % 5 == 0)?0:1 + 1) +seed_t Seed[MAX_STREAM + 1] = +{ + {PART, 1, 0, 1}, /* P_MFG_SD 0 */ + {PART, 46831694, 0, 1}, /* P_BRND_SD 1 */ + {PART, 1841581359, 0, 1}, /* P_TYPE_SD 2 */ + {PART, 1193163244, 0, 1}, /* P_SIZE_SD 3 */ + {PART, 727633698, 0, 1}, /* P_CNTR_SD 4 */ + {NONE, 933588178, 0, 1}, /* text pregeneration 5 */ + {PART, 804159733, 0, 2}, /* P_CMNT_SD 6 */ + {PSUPP, 1671059989, 0, SUPP_PER_PART}, /* PS_QTY_SD 7 */ + {PSUPP, 1051288424, 0, SUPP_PER_PART}, /* PS_SCST_SD 8 */ + {PSUPP, 1961692154, 0, SUPP_PER_PART * 2}, /* PS_CMNT_SD 9 */ + {ORDER, 1227283347, 0, 1}, /* O_SUPP_SD 10 */ + {ORDER, 1171034773, 0, 1}, /* O_CLRK_SD 11 */ + {ORDER, 276090261, 0, 2}, /* O_CMNT_SD 12 */ + {ORDER, 1066728069, 0, 1}, /* O_ODATE_SD 13 */ + {LINE, 209208115, 0, O_LCNT_MAX}, /* L_QTY_SD 14 */ + {LINE, 554590007, 0, O_LCNT_MAX}, /* L_DCNT_SD 15 */ + {LINE, 721958466, 0, O_LCNT_MAX}, /* L_TAX_SD 16 */ + {LINE, 1371272478, 0, O_LCNT_MAX}, /* L_SHIP_SD 17 */ + {LINE, 675466456, 0, O_LCNT_MAX}, /* L_SMODE_SD 18 */ + {LINE, 1808217256, 0, O_LCNT_MAX}, /* L_PKEY_SD 19 */ + {LINE, 2095021727, 0, O_LCNT_MAX}, /* L_SKEY_SD 20 */ + {LINE, 1769349045, 0, O_LCNT_MAX}, /* L_SDTE_SD 21 */ + {LINE, 904914315, 0, O_LCNT_MAX}, /* L_CDTE_SD 22 */ + {LINE, 373135028, 0, O_LCNT_MAX}, /* L_RDTE_SD 23 */ + {LINE, 717419739, 0, O_LCNT_MAX}, /* L_RFLG_SD 24 */ + {LINE, 1095462486, 0, O_LCNT_MAX * 2}, /* L_CMNT_SD 25 */ + {CUST, 881155353, 0, 9}, /* C_ADDR_SD 26 */ + {CUST, 1489529863, 0, 1}, /* C_NTRG_SD 27 */ + {CUST, 1521138112, 0, 3}, /* C_PHNE_SD 28 */ + {CUST, 298370230, 0, 1}, /* C_ABAL_SD 29 */ + {CUST, 1140279430, 0, 1}, /* C_MSEG_SD 30 */ + {CUST, 1335826707, 0, 2}, /* C_CMNT_SD 31 */ + {SUPP, 706178559, 0, 9}, /* S_ADDR_SD 32 */ + {SUPP, 110356601, 0, 1}, /* S_NTRG_SD 33 */ + {SUPP, 884434366, 0, 3}, /* S_PHNE_SD 34 */ + {SUPP, 962338209, 0, 1}, /* S_ABAL_SD 35 */ + {SUPP, 1341315363, 0, 2}, /* S_CMNT_SD 36 */ + {PART, 709314158, 0, 92}, /* P_NAME_SD 37 */ + {ORDER, 591449447, 0, 1}, /* O_PRIO_SD 38 */ + {LINE, 431918286, 0, 1}, /* HVAR_SD 39 */ + {ORDER, 851767375, 0, 1}, /* O_CKEY_SD 40 */ + {NATION, 606179079, 0, 2}, /* N_CMNT_SD 41 */ + {REGION, 1500869201, 0, 2}, /* R_CMNT_SD 42 */ + {ORDER, 1434868289, 0, 1}, /* O_LCNT_SD 43 */ + {SUPP, 263032577, 0, 1}, /* BBB offset 44 */ + {SUPP, 753643799, 0, 1}, /* BBB type 45 */ + {SUPP, 202794285, 0, 1}, /* BBB comment 46 */ + {SUPP, 715851524, 0, 1} /* BBB junk 47 */ +}; diff --git a/tpch/00_compile_tpch/dbgen/rnd.o b/tpch/00_compile_tpch/dbgen/rnd.o new file mode 100644 index 0000000..b2ea36d Binary files /dev/null and b/tpch/00_compile_tpch/dbgen/rnd.o differ diff --git a/tpch/00_compile_tpch/dbgen/rng64.c b/tpch/00_compile_tpch/dbgen/rng64.c new file mode 100644 index 0000000..86871c5 --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/rng64.c @@ -0,0 +1,140 @@ +/* +* $Id: rng64.c,v 1.7 2008/03/21 17:38:39 jms Exp $ +* +* This software contains proprietary and confidential information of Gradient +* Systems Inc. By accepting transfer of this copy, Recipient agrees +* to retain this software in confidence, to prevent disclosure to others, and +* to make no use of this software other than that for which it was delivered. +* This is an unpublished copyright work Gradient Systems, Inc. Execpt as +* permitted by federal law, 17 USC 117, copying is strictly prohibited. +* +* Gradient Systems Inc. CONFIDENTIAL - (Gradient Systems Inc. Confidential +* when combined with the aggregated modules for this product) +* OBJECT CODE ONLY SOURCE MATERIALS +* (C) COPYRIGHT Gradient Systems Inc. 2003 +* +* All Rights Reserved +* THIS IS UNPUBLISHED PROPRIETARY SOURCE CODE OF GRADIENT SYSTEMS, INC. +* The copyright notice above does not evidence any +* actual or intended publication of such source code. +* +* Revision History +* =================== +* $Log: rng64.c,v $ +* Revision 1.7 2008/03/21 17:38:39 jms +* changes for 2.6.3 +* +* Revision 1.6 2006/04/26 23:20:05 jms +* Data type clenaup for qgen +* +* Revision 1.5 2006/03/08 21:25:27 jms +* change to RNG64 to address overflow/underflow issues +* +* Revision 1.4 2005/10/25 17:26:38 jms +* check in integration between microsoft changes and baseline code +* +* Revision 1.3 2005/03/04 19:48:39 jms +* Changes from Doug Johnson to address very large scale factors +* +* Revision 1.2 2005/01/03 20:08:59 jms +* change line terminations +* +* Revision 1.1.1.1 2004/11/24 23:31:47 jms +* re-establish external server +* +* Revision 1.2 2004/02/18 16:45:30 jms +* remove C++ style comments for AIX compiler +* +* Revision 1.1.1.1 2003/08/08 21:57:34 jms +* recreation after CVS crash +* +* Revision 1.1 2003/08/08 21:57:34 jms +* first integration of rng64 for o_custkey and l_partkey +* +*/ +#include "config.h" +#include "dss.h" +#include +#include +#include "rng64.h" +extern double dM; + +extern seed_t Seed[]; + +void +dss_random64(DSS_HUGE *tgt, DSS_HUGE nLow, DSS_HUGE nHigh, long nStream) +{ + DSS_HUGE nTemp; + + if (nStream < 0 || nStream > MAX_STREAM) + nStream = 0; + + if (nLow > nHigh) + { + nTemp = nLow; + nLow = nHigh; + nHigh = nTemp; + } + + Seed[nStream].value = NextRand64(Seed[nStream].value); + nTemp = Seed[nStream].value; + if (nTemp < 0) + nTemp = -nTemp; + nTemp %= (nHigh - nLow + 1); + *tgt = nLow + nTemp; + Seed[nStream].usage += 1; +#ifdef RNG_TEST + Seed[nStream].nCalls += 1; +#endif + + return; +} + +DSS_HUGE +NextRand64(DSS_HUGE nSeed){ + + DSS_HUGE a = (unsigned DSS_HUGE) RNG_A; + DSS_HUGE c = (unsigned DSS_HUGE) RNG_C; + nSeed = (nSeed * a + c); /* implicitely truncated to 64bits */ + + return (nSeed); +} + +DSS_HUGE AdvanceRand64( DSS_HUGE nSeed, + DSS_HUGE nCount) { + unsigned DSS_HUGE a = RNG_A ; + unsigned DSS_HUGE c = RNG_C ; + int nBit; + unsigned DSS_HUGE Apow=a, Dsum=c; + + /* if nothing to do, do nothing ! */ + if( nCount == 0 ) return nSeed; + + /* Recursively compute X(n) = A * X(n-1) + C */ + /* */ + /* explicitely: */ + /* X(n) = A^n * X(0) + { A^(n-1) + A^(n-2) + ... A + 1 } * C */ + /* */ + /* we write this as: */ + /* X(n) = Apow(n) * X(0) + Dsum(n) * C */ + /* */ + /* we use the following relations: */ + /* Apow(n) = A^(n%2)*Apow(n/2)*Apow(n/2) */ + /* Dsum(n) = (n%2)*Apow(n/2)*Apow(n/2) + (Apow(n/2) + 1) * Dsum(n/2) */ + /* */ + + /* first get the highest non-zero bit */ + for( nBit = 0; (nCount >> nBit) != RNG_C ; nBit ++){} + + /* go 1 bit at the time */ + while( --nBit >= 0 ) { + Dsum *= (Apow + 1); + Apow = Apow * Apow; + if( ((nCount >> nBit) % 2) == 1 ) { /* odd value */ + Dsum += Apow; + Apow *= a; + } + } + nSeed = nSeed * Apow + Dsum * c; + return nSeed; +} diff --git a/tpch/00_compile_tpch/dbgen/rng64.h b/tpch/00_compile_tpch/dbgen/rng64.h new file mode 100644 index 0000000..274a1b8 --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/rng64.h @@ -0,0 +1,23 @@ +/* +* $Id: rng64.h,v 1.2 2005/01/03 20:08:59 jms Exp $ +* +* Revision History +* =================== +* $Log: rng64.h,v $ +* Revision 1.2 2005/01/03 20:08:59 jms +* change line terminations +* +* Revision 1.1.1.1 2004/11/24 23:31:47 jms +* re-establish external server +* +* Revision 1.1.1.1 2003/08/08 21:57:34 jms +* recreation after CVS crash +* +* Revision 1.1 2003/08/08 21:57:34 jms +* first integration of rng64 for o_custkey and l_partkey +* +* +*/ +DSS_HUGE AdvanceRand64( DSS_HUGE nSeed, DSS_HUGE nCount); +void dss_random64(DSS_HUGE *tgt, DSS_HUGE nLow, DSS_HUGE nHigh, long stream); +DSS_HUGE NextRand64(DSS_HUGE nSeed); diff --git a/tpch/00_compile_tpch/dbgen/rng64.o b/tpch/00_compile_tpch/dbgen/rng64.o new file mode 100644 index 0000000..4f8059f Binary files /dev/null and b/tpch/00_compile_tpch/dbgen/rng64.o differ diff --git a/tpch/00_compile_tpch/dbgen/shared.h b/tpch/00_compile_tpch/dbgen/shared.h new file mode 100644 index 0000000..ff0d920 --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/shared.h @@ -0,0 +1,69 @@ +/* +* $Id: shared.h,v 1.2 2005/01/03 20:08:59 jms Exp $ +* +* Revision History +* =================== +* $Log: shared.h,v $ +* Revision 1.2 2005/01/03 20:08:59 jms +* change line terminations +* +* Revision 1.1.1.1 2004/11/24 23:31:47 jms +* re-establish external server +* +* Revision 1.1.1.1 2003/04/03 18:54:21 jms +* recreation after CVS crash +* +* Revision 1.1.1.1 2003/04/03 18:54:21 jms +* initial checkin +* +* +*/ +#define N_CMNT_LEN 72 +#define N_CMNT_MAX 152 +#define R_CMNT_LEN 72 +#define R_CMNT_MAX 152 +#define MONEY_SCL 0.01 +#define V_STR_HGH 1.6 +#define P_NAME_LEN 55 +#define P_MFG_LEN 25 +#define P_BRND_LEN 10 +#define P_TYPE_LEN 25 +#define P_CNTR_LEN 10 +#define P_CMNT_LEN 14 +#define P_CMNT_MAX 23 +#define S_NAME_LEN 25 +#define S_ADDR_LEN 25 +#define S_ADDR_MAX 40 +#define S_CMNT_LEN 63 +#define S_CMNT_MAX 101 +#define PS_CMNT_LEN 124 +#define PS_CMNT_MAX 199 +#define C_NAME_LEN 18 +#define C_ADDR_LEN 25 +#define C_ADDR_MAX 40 +#define C_MSEG_LEN 10 +#define C_CMNT_LEN 73 +#define C_CMNT_MAX 117 +#define O_OPRIO_LEN 15 +#define O_CLRK_LEN 15 +#define O_CMNT_LEN 49 +#define O_CMNT_MAX 79 +#define L_CMNT_LEN 27 +#define L_CMNT_MAX 44 +#define L_INST_LEN 25 +#define L_SMODE_LEN 10 +#define T_ALPHA_LEN 10 +#define DATE_LEN 13 /* long enough to hold either date format */ +#define NATION_LEN 25 +#define REGION_LEN 25 +#define PHONE_LEN 15 +#define MAXAGG_LEN 20 /* max component length for a agg str */ +#define P_CMNT_SD 6 +#define PS_CMNT_SD 9 +#define O_CMNT_SD 12 +#define C_ADDR_SD 26 +#define C_CMNT_SD 31 +#define S_ADDR_SD 32 +#define S_CMNT_SD 36 +#define L_CMNT_SD 25 + diff --git a/tpch/00_compile_tpch/dbgen/speed_seed.c b/tpch/00_compile_tpch/dbgen/speed_seed.c new file mode 100644 index 0000000..201a4f3 --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/speed_seed.c @@ -0,0 +1,261 @@ +/* +* $Id: speed_seed.c,v 1.9 2009/06/28 14:01:08 jms Exp $ +* +* Revision History +* =================== +* $Log: speed_seed.c,v $ +* Revision 1.9 2009/06/28 14:01:08 jms +* bug fix for DOP +* +* Revision 1.8 2006/08/01 04:13:17 jms +* fix parallel generation +* +* Revision 1.7 2006/07/31 17:23:09 jms +* fix to parallelism problem +* +* Revision 1.6 2006/05/16 16:26:51 jms +* remove calls to FAKE_V_STR +* +* Revision 1.5 2006/04/26 23:14:28 jms +* Declaraion cleanup of fakeVStr() +* +* Revision 1.4 2006/04/26 23:01:10 jms +* address update generation problems +* +* Revision 1.3 2005/10/25 17:26:38 jms +* check in integration between microsoft changes and baseline code +* +* Revision 1.2 2005/01/03 20:08:59 jms +* change line terminations +* +* Revision 1.1.1.1 2004/11/24 23:31:47 jms +* re-establish external server +* +* Revision 1.2 2004/01/22 03:54:12 jms +* 64 bit support changes for customer address +* +* Revision 1.1.1.1 2003/08/08 22:37:36 jms +* recreation after CVS crash +* +* Revision 1.3 2003/08/08 22:37:36 jms +* first integration of rng64 for o_custkey and l_partkey +* +* Revision 1.2 2003/08/07 17:58:34 jms +* Convery RNG to 64bit space as preparation for new large scale RNG +* +* Revision 1.1.1.1 2003/04/03 18:54:21 jms +* initial checkin +* +* +*/ +#include +#include +#include "dss.h" +#include "rng64.h" +#include "dss.h" + +/* _tal long RandSeed = "Random^SeedFromTimestamp" (void); */ + +#define ADVANCE_STREAM(stream_id, num_calls) \ + advanceStream(stream_id, num_calls, 0) +#define ADVANCE_STREAM64(stream_id, num_calls) \ + advanceStream(stream_id, num_calls, 1) +#define MAX_COLOR 92 +long name_bits[MAX_COLOR / BITS_PER_LONG]; +extern seed_t Seed[]; +void fakeVStr(int nAvg, long nSeed, DSS_HUGE nCount); +void NthElement (DSS_HUGE N, DSS_HUGE *StartSeed); + + +void +advanceStream(int nStream, DSS_HUGE nCalls, int bUse64Bit) +{ + if (bUse64Bit) + Seed[nStream].value = AdvanceRand64(Seed[nStream].value, nCalls); + else + NthElement(nCalls, &Seed[nStream].value); + +#ifdef RNG_TEST + Seed[nStream].nCalls += nCalls; +#endif + + return; +} + +/* WARNING! This routine assumes the existence of 64-bit */ +/* integers. The notation used here- "HUGE" is *not* ANSI standard. */ +/* Hopefully, you have this extension as well. If not, use whatever */ +/* nonstandard trick you need to in order to get 64 bit integers. */ +/* The book says that this will work if MAXINT for the type you choose */ +/* is at least 2**46 - 1, so 64 bits is more than you *really* need */ + +static DSS_HUGE Multiplier = 16807; /* or whatever nonstandard */ +static DSS_HUGE Modulus = 2147483647; /* trick you use to get 64 bit int */ + +/* Advances value of Seed after N applications of the random number generator + with multiplier Mult and given Modulus. + NthElement(Seed[],count); + + Theory: We are using a generator of the form + X_n = [Mult * X_(n-1)] mod Modulus. It turns out that + X_n = [(Mult ** n) X_0] mod Modulus. + This can be computed using a divide-and-conquer technique, see + the code below. + + In words, this means that if you want the value of the Seed after n + applications of the generator, you multiply the initial value of the + Seed by the "super multiplier" which is the basic multiplier raised + to the nth power, and then take mod Modulus. +*/ + +/* Nth Element of sequence starting with StartSeed */ +void NthElement (DSS_HUGE N, DSS_HUGE *StartSeed) + { + DSS_HUGE Z; + DSS_HUGE Mult; + static int ln=-1; + int i; + + if ((verbose > 0) && ++ln % 1000 == 0) + { + i = ln % LN_CNT; + fprintf(stderr, "%c\b", lnoise[i]); + } + Mult = Multiplier; + Z = (DSS_HUGE) *StartSeed; + while (N > 0 ) + { + if (N % 2 != 0) /* testing for oddness, this seems portable */ + Z = (Mult * Z) % Modulus; + N = N / 2; /* integer division, truncates */ + Mult = (Mult * Mult) % Modulus; + } + *StartSeed = Z; + + return; + } + + +/* updates Seed[column] using the a_rnd algorithm */ +void +fake_a_rnd(int min, int max, int column) +{ + DSS_HUGE len; + DSS_HUGE itcount; + + RANDOM(len, min, max, column); + if (len % 5L == 0) + itcount = len/5; + else + itcount = len/5 + 1L; + NthElement(itcount, &Seed[column].usage); +#ifdef RNG_TEST + Seed[column].nCalls += itcount; +#endif + return; +} + + +long +sd_part(int child, DSS_HUGE skip_count) +{ + int i; + + for (i=P_MFG_SD; i<= P_CNTR_SD; i++) + ADVANCE_STREAM(i, skip_count); + + ADVANCE_STREAM(P_CMNT_SD, skip_count * 2); + ADVANCE_STREAM(P_NAME_SD, skip_count * 92); + + return(0L); +} + +long +sd_line(int child, DSS_HUGE skip_count) + { + int i,j; + + for (j=0; j < O_LCNT_MAX; j++) + { + for (i=L_QTY_SD; i<= L_RFLG_SD; i++) +/* + if (scale >= 30000 && i == L_PKEY_SD) + ADVANCE_STREAM64(i, skip_count); + else +*/ + ADVANCE_STREAM(i, skip_count); + ADVANCE_STREAM(L_CMNT_SD, skip_count * 2); + } + + /* need to special case this as the link between master and detail */ + if (child == 1) + { + ADVANCE_STREAM(O_ODATE_SD, skip_count); + ADVANCE_STREAM(O_LCNT_SD, skip_count); + } + + return(0L); + } + +long +sd_order(int child, DSS_HUGE skip_count) +{ + ADVANCE_STREAM(O_LCNT_SD, skip_count); +/* + if (scale >= 30000) + ADVANCE_STREAM64(O_CKEY_SD, skip_count); + else +*/ + ADVANCE_STREAM(O_CKEY_SD, skip_count); + ADVANCE_STREAM(O_CMNT_SD, skip_count * 2); + ADVANCE_STREAM(O_SUPP_SD, skip_count); + ADVANCE_STREAM(O_CLRK_SD, skip_count); + ADVANCE_STREAM(O_PRIO_SD, skip_count); + ADVANCE_STREAM(O_ODATE_SD, skip_count); + + return (0L); +} + +long +sd_psupp(int child, DSS_HUGE skip_count) + { + int j; + + for (j=0; j < SUPP_PER_PART; j++) + { + ADVANCE_STREAM(PS_QTY_SD, skip_count); + ADVANCE_STREAM(PS_SCST_SD, skip_count); + ADVANCE_STREAM(PS_CMNT_SD, skip_count * 2); + } + + return(0L); + } + +long +sd_cust(int child, DSS_HUGE skip_count) +{ + + ADVANCE_STREAM(C_ADDR_SD, skip_count * 9); + ADVANCE_STREAM(C_CMNT_SD, skip_count * 2); + ADVANCE_STREAM(C_NTRG_SD, skip_count); + ADVANCE_STREAM(C_PHNE_SD, 3L * skip_count); + ADVANCE_STREAM(C_ABAL_SD, skip_count); + ADVANCE_STREAM(C_MSEG_SD, skip_count); + return(0L); +} + +long +sd_supp(int child, DSS_HUGE skip_count) +{ + ADVANCE_STREAM(S_NTRG_SD, skip_count); + ADVANCE_STREAM(S_PHNE_SD, 3L * skip_count); + ADVANCE_STREAM(S_ABAL_SD, skip_count); + ADVANCE_STREAM(S_ADDR_SD, skip_count * 9); + ADVANCE_STREAM(S_CMNT_SD, skip_count * 2); + ADVANCE_STREAM(BBB_CMNT_SD, skip_count); + ADVANCE_STREAM(BBB_JNK_SD, skip_count); + ADVANCE_STREAM(BBB_OFFSET_SD, skip_count); + ADVANCE_STREAM(BBB_TYPE_SD, skip_count); /* avoid one trudge */ + + return(0L); +} diff --git a/tpch/00_compile_tpch/dbgen/speed_seed.o b/tpch/00_compile_tpch/dbgen/speed_seed.o new file mode 100644 index 0000000..6ee1a18 Binary files /dev/null and b/tpch/00_compile_tpch/dbgen/speed_seed.o differ diff --git a/tpch/00_compile_tpch/dbgen/tests/check55.sh b/tpch/00_compile_tpch/dbgen/tests/check55.sh new file mode 100644 index 0000000..26566cb --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/tests/check55.sh @@ -0,0 +1,21 @@ +#!/bin/bash +SF="1 100 300 1000 3000 10000 30000 100000" +case $# in +2) + SF=$2; + dop=$1; + ;; +1) + dop=$1; + ;; +*) + echo "USAGE: $0 [sf]" + echo " work through each SF value using parallel processes" + echo " and the defined DOP settings for bug 55 verification" + exit + ;; +esac +for sf in $SF +do +./new55.sh $sf "`./dop.sh $sf`" $dop +done diff --git a/tpch/00_compile_tpch/dbgen/tests/check_dirs.sh b/tpch/00_compile_tpch/dbgen/tests/check_dirs.sh new file mode 100644 index 0000000..8e225e8 --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/tests/check_dirs.sh @@ -0,0 +1,26 @@ +#!/bin/bash + +er=0 + +if [ -z "$1" ]; then + DIRS='1* 300*' +else + DIRS=$1 +fi + +for d in $DIRS;do + echo Checking dir $d + cd $d + for f in results.*;do + c=`sed 's/^[0-9]* *//' <$f |uniq |wc -l` + if [ $c -ne 1 ]; then + echo BAD RESULT $d/$f + er=1; + fi + done + cd .. +done +if [ $er -eq 0 ]; then + echo ALL TESTS PASSED +fi + diff --git a/tpch/00_compile_tpch/dbgen/tests/dop.sh b/tpch/00_compile_tpch/dbgen/tests/dop.sh new file mode 100644 index 0000000..d0896d5 --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/tests/dop.sh @@ -0,0 +1,12 @@ +#!/bin/bash +SF=$1 +[ -z "$SF" ] && SF = 100 + +base=`expr $SF \* 2` + +for x in 1 2 3 4 7 8 11 13 16 17 32 64 +do + dop=`expr $base \* $x` + dop=`expr $dop + $x` + echo -n "$dop " +done diff --git a/tpch/00_compile_tpch/dbgen/tests/gen_tasks.sh b/tpch/00_compile_tpch/dbgen/tests/gen_tasks.sh new file mode 100644 index 0000000..5a92497 --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/tests/gen_tasks.sh @@ -0,0 +1,28 @@ +#!/bin/bash +COMMAND="./last_row.sh" +if [ -d "c:/" ] +then COMMAND="./no_tail.sh" +fi + +if [ $# -eq 0 ] +then + echo "USAGE: `basename $0` [...]" + echo " generate the commands for the load balancer" + echo " if DOP is ommitted, {1,2,3,4,7,8,11,13,16,17,32,64} is used" + exit +fi + +SF=$1 +DOP="1 2 3 4 7 8 11 13 16 17 32 64" +shift +[ $# -ge 1 ] && DOP="$*" +for D in $DOP +do + echo "$COMMAND c $SF $D" + echo "$COMMAND L $SF $D" + echo "$COMMAND O $SF $D" + echo "$COMMAND P $SF $D" + echo "$COMMAND S $SF $D" + echo "$COMMAND s $SF $D" +done + diff --git a/tpch/00_compile_tpch/dbgen/tests/last_row.sh b/tpch/00_compile_tpch/dbgen/tests/last_row.sh new file mode 100644 index 0000000..6da1fef --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/tests/last_row.sh @@ -0,0 +1,72 @@ +#!/bin/bash +## +# use named pipes to get the last row of a given DBGEN data chunk +## +usage() +{ + [ $# -gt 1 ] && echo "ERROR: $2" + echo "USAGE: `basename $1` " + echo " gather final row of table (e.g., -T ) at named and " + exit +} +## +# MAIN +## +SF=1 +DOP=1 +# parse command line +case $# in +1) + [ $1 = "-h" ] && usage $0 + [ $1 = "--help" ] && usage $0 + t=$1 + ;; +2) + t=$1 + SF=$2 + ;; +3) + t=$1 + SF=$2 + DOP=$3 + ;; +*) + usage $0 "invalid argument count" + ;; +esac + +# assure a setting for DSS_PATH +[ -z "$DSS_PATH" ] && DSS_PATH="." +[ ! -d "$DSS_PATH/$SF" ] && mkdir $DSS_PATH/$SF +chmod 777 $DSS_PATH +DSS_PATH=$DSS_PATH/$SF +export DSS_PATH + +# set the other args +case $t in + n) f="nation"; DOP=1;; # special case for tiny table + r) f="region"; DOP=1;; # special case for tiny table + c) f="customer";; + s) f="supplier";; + P) f="part";; + S) f="partsupp";; + O) f="orders";; + L) f="lineitem";; + *) usage "bad table abreviation: $t" +esac +if [ $DOP -eq 1 ] +then PIPE="$DSS_PATH/${f}.tbl" +else PIPE="$DSS_PATH/${f}.tbl.${DOP}" +fi + +# create a named pipe for each table +rm -rf $PIPE +mknod $PIPE p +# generate data into it +./dbgen -q -f -s $SF -T $t -S $DOP -C $DOP & +# assure that data is being written to the pipe +sleep 30 +# read the last row from the pipe +tail -1 $PIPE > $f.last_row.$SF.$DOP & +wait +rm $PIPE diff --git a/tpch/00_compile_tpch/dbgen/tests/load_balance.sh b/tpch/00_compile_tpch/dbgen/tests/load_balance.sh new file mode 100644 index 0000000..08bfaa9 --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/tests/load_balance.sh @@ -0,0 +1,84 @@ +#!/bin/bash +DOP=4 +# +lock() +{ + while [ true ] + do + sleep 1 + [ -f $LOCK ] && continue + echo $$ > $LOCK + [ `cat $LOCK` -ne $$ ] && continue + return + done +} +unlock() +{ + rm -f $LOCK +} +usage() +{ + echo "USAGE: `basename $0` []" + echo " work through commands in , keeping tasks active" + exit +} +# +### +# MAIN +### +case $# in +0) # no args, summarize usage and exit + usage + ;; +1) # default DOP + [ $1 = "-h" ] && usage + [ $1 = "--help" ] && usage + TASKS=$1 + ;; +2) # set DOP and tasks + TASKS=$1 + DOP=$2 + ;; +3) # worker invocation + TASKS=$1 + DOP=$2 + JOBID=$3 + ;; +esac +# validate commands +if [ ! -f "$TASKS" ] +then + echo "ERROR: no list of tasks found" + exit +fi +# launch children or execute next command +if [ -z "$JOBID" ] +then + JOBID=$$ + LOCK=$JOBID.lck + TID=$JOBID.task + echo 1 > $TID + unlock + while [ $DOP -gt 0 ] + do + ./`basename $0` $TASKS $DOP $JOBID & + DOP=`expr $DOP - 1` + done + wait + rm -f $TID $LOCK +else + LOCK=$JOBID.lck + TID=$JOBID.task + while [ true ] + do + lock + CMD_NUM=`cat $TID` + echo `expr $CMD_NUM + 1` > $TID + unlock + CMD=`sed -n ${CMD_NUM}p $TASKS` + [ -z "$CMD" ] && break + echo -n "." + $CMD >> lb_${JOBID}_$DOP.out 2>&1 + done +fi + diff --git a/tpch/00_compile_tpch/dbgen/tests/new55.sh b/tpch/00_compile_tpch/dbgen/tests/new55.sh new file mode 100644 index 0000000..d179888 --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/tests/new55.sh @@ -0,0 +1,75 @@ +#!/bin/bash +## +# verify data set at different DOP levels +## +usage() +{ + [ $# -gt 1 ] && echo "ERROR: $2" + echo "USAGE: `basename $1` []" + echo " collect last rows for each table at a set of SF and DOP values" + echo " and try to keep tasks running at all times" + echo " NOTE: multiple values for SF/DOP must be enclosed in quotation marks and separated by spaces" + exit +} +## +# MAIN +## +PROCS=4 +[ -z "$DSS_PATH" ] && DSS_PATH="." +export DSS_PATH + +# parse command line +case $# in + 3) + PROCS=$3 + DOP=$2 + SF=$1 + ;; + 2) + DOP=$2 + SF=$1 + ;; + *) usage $0;; +esac + +# generate a task list +CMDS=$$.cmds +rm -f $CMDS +for s in $SF +do + ./gen_tasks.sh $s $DOP >> $CMDS +done + +# run parallel tasks to get last rows +echo "Begining `wc -l $CMDS|cut -f1 -d\ ` tasks with PROCS=$PROCS" + +if [ ! -x ./dbgen ] +then + echo "ERROR: dbgen not found in `pwd`" + exit +fi +./load_balance.sh $CMDS $PROCS +echo "done" + +# gather the results by table +for f in *.last_row.* +do + t=`echo $f | cut -f1 -d\.` + s=`echo $f | cut -f3 -d\.` + d=`echo $f | cut -f4 -d\.` + echo -n "$d " >> ${DSS_PATH}/$s/results.$t + cat $f >> ${DSS_PATH}/$s/results.$t + rm $f +done + +# clean up +rm $CMDS +for f in lb_*.out +do + if [ -s $f ] + then + echo "There is output in $f. Not removed" + else + rm $f + fi +done diff --git a/tpch/00_compile_tpch/dbgen/text.c b/tpch/00_compile_tpch/dbgen/text.c new file mode 100644 index 0000000..03bddb7 --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/text.c @@ -0,0 +1,386 @@ +/* +* $Id: text.c,v 1.6 2006/07/31 17:23:09 jms Exp $ +* +* Revision History +* =================== +* $Log: text.c,v $ +* Revision 1.6 2006/07/31 17:23:09 jms +* fix to parallelism problem +* +* Revision 1.5 2006/05/18 23:50:00 jms +* commit text generation change with larger buffer +* +* Revision 1.4 2006/05/16 16:26:51 jms +* remove calls to FAKE_V_STR +* +* Revision 1.3 2006/05/16 15:55:58 jms +* first cut to Meikel +* +* Revision 1.2 2005/01/03 20:08:59 jms +* change line terminations +* +* Revision 1.1.1.1 2004/11/24 23:31:47 jms +* re-establish external server +* +* Revision 1.1.1.1 2003/08/07 17:58:34 jms +* recreation after CVS crash +* +* Revision 1.2 2003/08/07 17:58:34 jms +* Convery RNG to 64bit space as preparation for new large scale RNG +* +* Revision 1.1.1.1 2003/04/03 18:54:21 jms +* initial checkin +* +* +*/ +/* + * text.c --- pseaudo text generator for use in DBGEN 2.0 + * + * Defined Routines: + * dbg_text() -- select and translate a sentance form + */ + +#ifdef TEXT_TEST +#define DECLARER +#endif /* TEST */ + +#include "config.h" +#include +#if (defined(_POSIX_)||!defined(WIN32)) /* Change for Windows NT */ +#include +#include +#endif /* WIN32 */ +#include /* */ +#include +#include +#include +#include +#include +#include +#ifdef HP +#include +#endif +#if (defined(WIN32)&&!defined(_POSIX_)) +#include +#pragma warning(disable:4201) +#pragma warning(disable:4214) +#pragma warning(disable:4514) +#define WIN32_LEAN_AND_MEAN +#define NOATOM +#define NOGDICAPMASKS +#define NOMETAFILE +#define NOMINMAX +#define NOMSG +#define NOOPENFILE +#define NORASTEROPS +#define NOSCROLL +#define NOSOUND +#define NOSYSMETRICS +#define NOTEXTMETRIC +#define NOWH +#define NOCOMM +#define NOKANJI +#define NOMCX +#include +#pragma warning(default:4201) +#pragma warning(default:4214) +#endif + +#define TEXT_POOL_SIZE (300 * 1024 * 1024) /* 300MiB */ + +#include "dss.h" +#include "dsstypes.h" + +/* + * txt_vp() -- + * generate a verb phrase by + * 1) selecting a verb phrase form + * 2) parsing it to select parts of speech + * 3) selecting appropriate words + * 4) adding punctuation as required + * + * Returns: length of generated phrase + * Called By: txt_sentence() + * Calls: pick_str() + */ +static int +txt_vp(char *dest, int sd) +{ + char syntax[MAX_GRAMMAR_LEN + 1], + *cptr, + *parse_target; + distribution *src; + int i, + res = 0; + + + pick_str(&vp, sd, &syntax[0]); + parse_target = syntax; + while ((cptr = strtok(parse_target, " ")) != NULL) + { + src = NULL; + switch(*cptr) + { + case 'D': + src = &adverbs; + break; + case 'V': + src = &verbs; + break; + case 'X': + src = &auxillaries; + break; + } /* end of POS switch statement */ + i = pick_str(src, sd, dest); + i = (int)strlen(DIST_MEMBER(src, i)); + dest += i; + res += i; + if (*(++cptr)) /* miscelaneous fillagree, like punctuation */ + { + dest += 1; + res += 1; + *dest = *cptr; + } + *dest = ' '; + dest++; + res++; + parse_target = NULL; + } /* end of while loop */ + + return(res); +} + +/* + * txt_np() -- + * generate a noun phrase by + * 1) selecting a noun phrase form + * 2) parsing it to select parts of speech + * 3) selecting appropriate words + * 4) adding punctuation as required + * + * Returns: length of generated phrase + * Called By: txt_sentence() + * Calls: pick_str(), + */ +static int +txt_np(char *dest, int sd) +{ + char syntax[MAX_GRAMMAR_LEN + 1], + *cptr, + *parse_target; + distribution *src; + int i, + res = 0; + + + pick_str(&np, sd, &syntax[0]); + parse_target = syntax; + while ((cptr = strtok(parse_target, " ")) != NULL) + { + src = NULL; + switch(*cptr) + { + case 'A': + src = &articles; + break; + case 'J': + src = &adjectives; + break; + case 'D': + src = &adverbs; + break; + case 'N': + src = &nouns; + break; + } /* end of POS switch statement */ + i = pick_str(src, sd, dest); + i = (int)strlen(DIST_MEMBER(src, i)); + dest += i; + res += i; + if (*(++cptr)) /* miscelaneous fillagree, like punctuation */ + { + *dest = *cptr; + dest += 1; + res += 1; + } + *dest = ' '; + dest++; + res++; + parse_target = NULL; + } /* end of while loop */ + + return(res); +} + +/* + * txt_sentence() -- + * generate a sentence by + * 1) selecting a sentence form + * 2) parsing it to select parts of speech or phrase types + * 3) selecting appropriate words + * 4) adding punctuation as required + * + * Returns: length of generated sentence + * Called By: dbg_text() + * Calls: pick_str(), txt_np(), txt_vp() + */ +static int +txt_sentence(char *dest, int sd) +{ + char syntax[MAX_GRAMMAR_LEN + 1], + *cptr; + int i, + res = 0, + len = 0; + + + pick_str(&grammar, sd, syntax); + cptr = syntax; + +next_token: /* I hate goto's, but can't seem to have parent and child use strtok() */ + while (*cptr && *cptr == ' ') + cptr++; + if (*cptr == '\0') + goto done; + switch(*cptr) + { + case 'V': + len = txt_vp(dest, sd); + break; + case 'N': + len = txt_np(dest, sd); + break; + case 'P': + i = pick_str(&prepositions, sd, dest); + len = (int)strlen(DIST_MEMBER(&prepositions, i)); + strcpy((dest + len), " the "); + len += 5; + len += txt_np(dest + len, sd); + break; + case 'T': + i = pick_str(&terminators, sd, --dest); /*terminators should abut previous word */ + len = (int)strlen(DIST_MEMBER(&terminators, i)); + break; + } /* end of POS switch statement */ + dest += len; + res += len; + cptr++; + if (*cptr && *cptr != ' ') /* miscelaneous fillagree, like punctuation */ + { + dest += 1; + res += 1; + *dest = *cptr; + } + goto next_token; +done: + *dest = '\0'; + return(--res); +} + +/* + * dbg_text() -- + * produce ELIZA-like text of random, bounded length, truncating the last + * generated sentence as required + */ +void +dbg_text(char *tgt, int min, int max, int sd) +{ + DSS_HUGE hgLength = 0, + hgOffset, + wordlen = 0, + s_len, + needed; + char sentence[MAX_SENT_LEN + 1], + *cp; + static char szTextPool[TEXT_POOL_SIZE + 1]; + static int bInit = 0; + int nLifeNoise = 0; + + if (!bInit) + { + cp = &szTextPool[0]; + if (verbose > 0) + fprintf(stderr, "\nPreloading text ... "); + + while (wordlen < TEXT_POOL_SIZE) + { + if ((verbose > 0) && (wordlen > nLifeNoise)) + { + nLifeNoise += 200000; + fprintf(stderr, "%3.0f%%\b\b\b\b", (100.0 * wordlen)/TEXT_POOL_SIZE); + } + + s_len = txt_sentence(sentence, 5); + if ( s_len < 0) + INTERNAL_ERROR("Bad sentence formation"); + needed = TEXT_POOL_SIZE - wordlen; + if (needed >= (s_len + 1)) /* need the entire sentence */ + { + strcpy(cp, sentence); + cp += s_len; + wordlen += s_len + 1; + *(cp++) = ' '; + } + else /* chop the new sentence off to match the length target */ + { + sentence[needed] = '\0'; + strcpy(cp, sentence); + wordlen += needed; + cp += needed; + } + } + *cp = '\0'; + bInit = 1; + if (verbose > 0) + fprintf(stderr, "\n"); + } + + RANDOM(hgOffset, 0, TEXT_POOL_SIZE - max, sd); + RANDOM(hgLength, min, max, sd); + strncpy(&tgt[0], &szTextPool[hgOffset], (int)hgLength); + tgt[hgLength] = '\0'; + + return; +} + +#ifdef TEXT_TEST +tdef tdefs[1] = { NULL }; +distribution nouns, + verbs, + adjectives, + adverbs, + auxillaries, + terminators, + articles, + prepositions, + grammar, + np, + vp; + +main() +{ + char prattle[401]; + + verbose = 1; + + read_dist (env_config (DIST_TAG, DIST_DFLT), "nouns", &nouns); + read_dist (env_config (DIST_TAG, DIST_DFLT), "verbs", &verbs); + read_dist (env_config (DIST_TAG, DIST_DFLT), "adjectives", &adjectives); + read_dist (env_config (DIST_TAG, DIST_DFLT), "adverbs", &adverbs); + read_dist (env_config (DIST_TAG, DIST_DFLT), "auxillaries", &auxillaries); + read_dist (env_config (DIST_TAG, DIST_DFLT), "terminators", &terminators); + read_dist (env_config (DIST_TAG, DIST_DFLT), "articles", &articles); + read_dist (env_config (DIST_TAG, DIST_DFLT), "prepositions", &prepositions); + read_dist (env_config (DIST_TAG, DIST_DFLT), "grammar", &grammar); + read_dist (env_config (DIST_TAG, DIST_DFLT), "np", &np); + read_dist (env_config (DIST_TAG, DIST_DFLT), "vp", &vp); + + while (1) + { + dbg_text(&prattle[0], 300, 400, 0); + printf("<%s>\n", prattle); + } + + return(0); +} +#endif /* TEST */ diff --git a/tpch/00_compile_tpch/dbgen/text.o b/tpch/00_compile_tpch/dbgen/text.o new file mode 100644 index 0000000..0a06688 Binary files /dev/null and b/tpch/00_compile_tpch/dbgen/text.o differ diff --git a/tpch/00_compile_tpch/dbgen/tpcd.h b/tpch/00_compile_tpch/dbgen/tpcd.h new file mode 100644 index 0000000..b5088d9 --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/tpcd.h @@ -0,0 +1,145 @@ +/* +* $Id: tpcd.h,v 1.2 2005/01/03 20:08:59 jms Exp $ +* +* Revision History +* =================== +* $Log: tpcd.h,v $ +* Revision 1.2 2005/01/03 20:08:59 jms +* change line terminations +* +* Revision 1.1.1.1 2004/11/24 23:31:47 jms +* re-establish external server +* +* Revision 1.1.1.1 2003/04/03 18:54:21 jms +* recreation after CVS crash +* +* Revision 1.1.1.1 2003/04/03 18:54:21 jms +* initial checkin +* +* +*/ +/***************************************************************** + * Title: tpcd.h for TPC D + ***************************************************************** + */ +#define DFLT 0x0001 +#define OUTPUT 0x0002 +#define EXPLAIN 0x0004 +#define DBASE 0x0008 +#define VERBOSE 0x0010 +#define TIMING 0x0020 +#define LOG 0x0040 +#define QUERY 0x0080 +#define REFRESH 0x0100 +#define ANSI 0x0200 +#define SEED 0x0400 +#define COMMENT 0x0800 +#define INIT 0x1000 +#define TERMINATE 0x2000 +#define DFLT_NUM 0x4000 + +/* + * general defines + */ +#define VTAG ':' /* flags a variable substitution */ +#define ofp stdout /* make the routine a filter */ +#define QDIR_TAG "DSS_QUERY" /* variable to point to queries */ +#define QDIR_DFLT "." /* and its default */ + +/* + * database portability defines + */ +#ifdef VECTORWISE +#define GEN_QUERY_PLAN "EXPLAIN" +#define START_TRAN "" +#define END_TRAN "COMMIT;" +#define SET_OUTPUT "" +#define SET_ROWCOUNT "first %d\n" +#define SET_DBASE "" +#endif /* VECTORWISE */ + +#ifdef DB2 +#define GEN_QUERY_PLAN "SET CURRENT EXPLAIN SNAPSHOT ON;" +#define START_TRAN "" +#define END_TRAN "COMMIT WORK;" +#define SET_OUTPUT "" +#define SET_ROWCOUNT "--#SET ROWS_FETCH %d\n" +#define SET_DBASE "CONNECT TO %s ;\n" +#endif + +#ifdef INFORMIX +#define GEN_QUERY_PLAN "SET EXPLAIN ON;" +#define START_TRAN "BEGIN WORK;" +#define END_TRAN "COMMIT WORK;" +#define SET_OUTPUT "OUTPUT TO " +#define SET_ROWCOUNT "FIRST %d" +#define SET_DBASE "database %s ;\n" +#endif + +#ifdef ORACLE +#define GEN_QUERY_PLAN "" +#define START_TRAN "" +#define END_TRAN "" +#define SET_OUTPUT "" +#define SET_ROWCOUNT "where rownum <= %d;\n" +#define SET_DBASE "" +#endif + +#ifdef SQLSERVER +#define GEN_QUERY_PLAN "set showplan on\nset noexec on\ngo\n" +#define START_TRAN "begin transaction\ngo\n" +#define END_TRAN "commit transaction\ngo\n" +#define SET_OUTPUT "" +#define SET_ROWCOUNT "set rowcount %d\ngo\n\n" +#define SET_DBASE "use %s\ngo\n" +#endif + +#ifdef SYBASE +#define GEN_QUERY_PLAN "set showplan on\nset noexec on\ngo\n" +#define START_TRAN "begin transaction\ngo\n" +#define END_TRAN "commit transaction\ngo\n" +#define SET_OUTPUT "" +#define SET_ROWCOUNT "set rowcount %d\ngo\n\n" +#define SET_DBASE "use %s\ngo\n" +#endif + +#ifdef TDAT +#define GEN_QUERY_PLAN "EXPLAIN" +#define START_TRAN "BEGIN TRANSACTION" +#define END_TRAN "END TRANSACTION" +#define SET_OUTPUT ".SET FORMAT OFF\n.EXPORT REPORT file=" +#define SET_ROWCOUNT ".SET RETCANCEL ON\n.SET RETLIMIT %d\n" +#define SET_DBASE ".LOGON %s\n" +#endif + +#ifdef PIVOTAL +#define GEN_QUERY_PLAN "" +#define START_TRAN "" +#define END_TRAN "" +#define SET_OUTPUT "" +#define SET_ROWCOUNT "LIMIT %d;\n" +#define SET_DBASE "" +#endif + +#define MAX_VARS 8 /* max number of host vars in any query */ +#define QLEN_MAX 2048 /* max length of any query */ +#define QUERIES_PER_SET 22 + +EXTERN int flags; +EXTERN int s_cnt; +EXTERN char *osuff; +EXTERN int stream; +EXTERN char *lfile; +EXTERN char *ifile; +EXTERN char *tfile; + +#define MAX_PERMUTE 41 +#ifdef DECLARER +int rowcnt_dflt[QUERIES_PER_SET + 1] = + {-1,-1,100,10,-1,-1,-1,-1,-1,-1,20,-1,-1,-1,-1,-1,-1,-1,100,-1,-1,100,-1}; +int rowcnt; +#define SEQUENCE(stream, query) permutation[stream % MAX_PERMUTE][query - 1] +#else +extern int rowcnt_dflt[]; +extern int rowcnt; +#endif diff --git a/tpch/00_compile_tpch/dbgen/tpch.dsw b/tpch/00_compile_tpch/dbgen/tpch.dsw new file mode 100644 index 0000000..b96fd07 --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/tpch.dsw @@ -0,0 +1,41 @@ +Microsoft Developer Studio Workspace File, Format Version 6.00 +# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE! + +############################################################################### + +Project: "dbgen"=".\dbgen.dsp" - Package Owner=<4> + +Package=<5> +{{{ +}}} + +Package=<4> +{{{ +}}} + +############################################################################### + +Project: "test"=".\test\test.dsp" - Package Owner=<4> + +Package=<5> +{{{ +}}} + +Package=<4> +{{{ +}}} + +############################################################################### + +Global: + +Package=<5> +{{{ +}}} + +Package=<3> +{{{ +}}} + +############################################################################### + diff --git a/tpch/00_compile_tpch/dbgen/tpch.sln b/tpch/00_compile_tpch/dbgen/tpch.sln new file mode 100644 index 0000000..6ee87c3 --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/tpch.sln @@ -0,0 +1,26 @@ + +Microsoft Visual Studio Solution File, Format Version 9.00 +# Visual Studio 2005 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "tpch", "tpch.vcproj", "{659CDC00-AE59-4839-B79E-93A846C8FDA2}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "qgen", "qgen.vcproj", "{9BAF8942-2DFD-4BD1-B5ED-DBDDF0169E22}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Win32 = Debug|Win32 + Release|Win32 = Release|Win32 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {659CDC00-AE59-4839-B79E-93A846C8FDA2}.Debug|Win32.ActiveCfg = Debug|Win32 + {659CDC00-AE59-4839-B79E-93A846C8FDA2}.Debug|Win32.Build.0 = Debug|Win32 + {659CDC00-AE59-4839-B79E-93A846C8FDA2}.Release|Win32.ActiveCfg = Release|Win32 + {659CDC00-AE59-4839-B79E-93A846C8FDA2}.Release|Win32.Build.0 = Release|Win32 + {9BAF8942-2DFD-4BD1-B5ED-DBDDF0169E22}.Debug|Win32.ActiveCfg = Debug|Win32 + {9BAF8942-2DFD-4BD1-B5ED-DBDDF0169E22}.Debug|Win32.Build.0 = Debug|Win32 + {9BAF8942-2DFD-4BD1-B5ED-DBDDF0169E22}.Release|Win32.ActiveCfg = Release|Win32 + {9BAF8942-2DFD-4BD1-B5ED-DBDDF0169E22}.Release|Win32.Build.0 = Release|Win32 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/tpch/00_compile_tpch/dbgen/tpch.vcproj b/tpch/00_compile_tpch/dbgen/tpch.vcproj new file mode 100644 index 0000000..786553b --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/tpch.vcproj @@ -0,0 +1,265 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tpch/00_compile_tpch/dbgen/update_release.sh b/tpch/00_compile_tpch/dbgen/update_release.sh new file mode 100644 index 0000000..6689d8f --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/update_release.sh @@ -0,0 +1,23 @@ +#!/bin/bash +PATH=.:$PATH;export PATH +if [ -f UPDATE_RELEASE_NUMBER ] +then +cvs -q update +if [ ! -f release.h ] +then +BUILD=1 +else +BUILD=`grep BUILD release.h |cut -f3 -d' '` +BUILD=`expr $BUILD + 1` +fi +cat > release.h << __EOF__ +/* + * $Id: update_release.sh,v 1.4 2008/03/21 17:38:39 jms Exp $ + */ +#define VERSION $1 +#define RELEASE $2 +#define PATCH $3 +#define BUILD $BUILD +__EOF__ +cvs commit -m "update release number" release.h +fi diff --git a/tpch/00_compile_tpch/dbgen/variants/12a.sql b/tpch/00_compile_tpch/dbgen/variants/12a.sql new file mode 100644 index 0000000..4d48b43 --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/variants/12a.sql @@ -0,0 +1,27 @@ +-- $ID$ +-- TPC-H/TPC-R Shipping Modes and Order Priority Query(Q12) +-- Variant A +-- Approved February 1998 +:x +:o +select + l_shipmode, + sum(decode(o_orderpriority, '1-URGENT', 1, '2-HIGH', 1, 0)) as + high_line_count, + sum(decode(o_orderpriority, '1-URGENT', 0, '2-HIGH', 0, 1)) as + low_line_count +from + orders, + lineitem +where + o_orderkey = l_orderkey + and l_shipmode in (':1', ':2') + and l_commitdate < l_receiptdate + and l_shipdate < l_commitdate + and l_receiptdate >= date ':3' + and l_receiptdate < date ':3' + interval '1' year +group by + l_shipmode +order by + l_shipmode; +:n -1 diff --git a/tpch/00_compile_tpch/dbgen/variants/13a.sql b/tpch/00_compile_tpch/dbgen/variants/13a.sql new file mode 100644 index 0000000..f1eac9d --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/variants/13a.sql @@ -0,0 +1,30 @@ +-- $ID$ +-- TPC-H/TPC-R Customer Distribution Query (Q13) +-- Variant A +-- Approved March 1998 +:x +create view orders_per_cust:s (custkey, ordercount) as + select + c_custkey, + count(o_orderkey) + from + customer left outer join orders on + c_custkey = o_custkey + and o_comment not like '%:1%:2%' + group by + c_custkey; + +:o +select + ordercount, + count(*) as custdist +from + orders_per_cust:s +group by + ordercount +order by + custdist desc, + ordercount desc; + +drop view orders_per_cust:s; +:n -1 diff --git a/tpch/00_compile_tpch/dbgen/variants/14a.sql b/tpch/00_compile_tpch/dbgen/variants/14a.sql new file mode 100644 index 0000000..86056b8 --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/variants/14a.sql @@ -0,0 +1,18 @@ +-- $ID$ +-- TPC-H/TPC-R Promotion Effect Query (Q14) +-- Variant A +-- Approved March 1998 +:x +:o +select + 100.00 * sum(decode(substring(p_type from 1 for 5), 'PROMO', + l_extendedprice * (1-l_discount), 0)) / + sum(l_extendedprice * (1-l_discount)) as promo_revenue +from + lineitem, + part +where + l_partkey = p_partkey + and l_shipdate >= date ':1' + and l_shipdate < date ':1' + interval '1' month; +:n -1 diff --git a/tpch/00_compile_tpch/dbgen/variants/15_original.sql b/tpch/00_compile_tpch/dbgen/variants/15_original.sql new file mode 100644 index 0000000..c606494 --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/variants/15_original.sql @@ -0,0 +1,41 @@ +-- $ID$ +-- TPC-H/TPC-R Top Supplier Query (Q15) +-- Functional Query Definition +-- Approved February 1998 +:x +drop view if exist revenue:s; + +create view revenue:s (supplier_no, total_revenue) as + select + l_suppkey, + sum(l_extendedprice * (1 - l_discount)) + from + lineitem + where + l_shipdate >= date ':1' + and l_shipdate < date ':1' + interval '3 months' + group by + l_suppkey; + +:o +select + s_suppkey, + s_name, + s_address, + s_phone, + total_revenue +from + supplier, + revenue:s +where + s_suppkey = supplier_no + and total_revenue = ( + select + max(total_revenue) + from + revenue:s + ) +order by + s_suppkey; + +drop view if exist revenue:s; diff --git a/tpch/00_compile_tpch/dbgen/variants/15a.sql b/tpch/00_compile_tpch/dbgen/variants/15a.sql new file mode 100644 index 0000000..e04e102 --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/variants/15a.sql @@ -0,0 +1,39 @@ +-- $ID$ +-- TPC-H/TPC-R Top Supplier Query (Q15) +-- Variant A +-- Approved February 1998 +:x +with revenue (supplier_no, total_revenue) as ( + select + l_suppkey, + sum(l_extendedprice * (1-l_discount)) + from + lineitem + where + l_shipdate >= date ':1' + and l_shipdate < date ':1' + interval '3' month + group by + l_suppkey +) + +:o +select + s_suppkey, + s_name, + s_address, + s_phone, + total_revenue +from + supplier, + revenue +where + s_suppkey = supplier_no + and total_revenue = ( + select + max(total_revenue) + from + revenue + ) +order by + s_suppkey; +:n -1 diff --git a/tpch/00_compile_tpch/dbgen/variants/8a.sql b/tpch/00_compile_tpch/dbgen/variants/8a.sql new file mode 100644 index 0000000..d3f1ecb --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/variants/8a.sql @@ -0,0 +1,77 @@ +-- @(#)8a.sql 2.1.8.1 + +-- TPC-H/TPC-R National Market Share Query (Q8) + +-- Variant A + +-- Approved February 1998 + +:x + +:o + +select + + o_year, + + sum(decode(nation, ':1', volume, 0)) / sum(volume) as mkt_share + +from + ( + + select + + extract(year from o_orderdate) as o_year, + l_extendedprice * (1-l_discount) as volume, + n2.n_name as nation + + from + + part, + + supplier, + + lineitem, + + orders, + + customer, + + nation n1, + + nation n2, + + region + + where + + p_partkey = l_partkey + + and s_suppkey = l_suppkey + + and l_orderkey = o_orderkey + + and o_custkey = c_custkey + + and c_nationkey = n1.n_nationkey + + and n1.n_regionkey = r_regionkey + + and r_name = ':2' + + and s_nationkey = n2.n_nationkey + + and o_orderdate between date '1995-01-01' and date '1996-12-31' + + and p_type = ':3' + + ) all_nations + + group by + + o_year + order by + + o_year; + +:n -1 diff --git a/tpch/00_compile_tpch/dbgen/varsub.c b/tpch/00_compile_tpch/dbgen/varsub.c new file mode 100644 index 0000000..5fbdf46 --- /dev/null +++ b/tpch/00_compile_tpch/dbgen/varsub.c @@ -0,0 +1,365 @@ +/* +* $Id: varsub.c,v 1.9 2008/03/20 16:38:34 jms Exp $ +* +* Revision History +* =================== +* $Log: varsub.c,v $ +* Revision 1.9 2008/03/20 16:38:34 jms +* q14/q15: range correction +* +* Revision 1.8 2008/03/20 16:36:47 jms +* q14/15 format change +* +* Revision 1.7 2006/05/31 22:25:21 jms +* Rework UnifInt calls in varsub to handle lack of PROTO defn in windows +* +* Revision 1.6 2006/05/25 22:30:44 jms +* qgen porting for 32b/64b +* +* Revision 1.5 2006/05/25 16:08:52 jms +* Rework UnifInt call for query 3 +* +* Revision 1.4 2006/04/26 23:20:05 jms +* Data type clenaup for qgen +* +* Revision 1.3 2005/11/03 14:50:44 jms +* solaris porting changes +* +* Revision 1.2 2005/01/03 20:08:59 jms +* change line terminations +* +* Revision 1.1.1.1 2004/11/24 23:31:47 jms +* re-establish external server +* +* Revision 1.1.1.1 2003/04/03 18:54:21 jms +* recreation after CVS crash +* +* Revision 1.1.1.1 2003/04/03 18:54:21 jms +* initial checkin +* +* +*/ +#include +#ifndef _POSIX_SOURCE +#include +#endif /* POSIX_SOURCE */ +#if (defined(_POSIX_)||!defined(WIN32)) +#include +#endif /* WIN32 */ +#include +#include "config.h" +#include "dss.h" +#include "tpcd.h" +#ifdef ADHOC +#include "adhoc.h" +extern adhoc_t adhocs[]; +#endif /* ADHOC */ +void permute(long *a, int c, long s); +#define MAX_PARAM 10 /* maximum number of parameter substitutions in a query */ + +extern long Seed[]; +extern char **asc_date; +extern double flt_scale; +extern distribution q13a, q13b; + +long brands[25] = {11,12,13,14,15,21,22,23,24,25,31,32,33,34,35, + 41,42,43,44,45,51,52,53,54,55}; +long sizes[50] = {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20, + 21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40, + 41,42,43,44,45,46,47,48,49,50}; +long ccode[25] = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24}; +char *defaults[24][11] = +{ + {"90", NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL}, /* 1 */ + {"15", "BRASS", "EUROPE", + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL}, /* 2 */ + {"BUILDING", "1995-03-15", NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL}, /* 3 */ + {"1993-07-01", NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL}, /* 4 */ + {"ASIA", "1994-01-01", NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL}, /* 5 */ + {"1994-01-01", ".06", "24", + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL}, /* 6 */ + {"FRANCE", "GERMANY", NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL}, /* 7 */ + {"BRAZIL", "AMERICA", "ECONOMY ANODIZED STEEL", + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL},/* 8 */ + {"green", NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL}, /* 9 */ + {"1993-10-01", NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL}, /* 10 */ + {"GERMANY", "0.0001", NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL}, /* 11 */ + {"MAIL", "SHIP", "1994-01-01", + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL}, /* 12 */ + {"special", "requests", NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL}, /* 13 */ + {"1995-09-01", NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL}, /* 14 */ + {"1996-01-01", NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL}, /* 15 */ + {"Brand#45", "MEDIUM POLISHED", "49", + "14","23","45","19","3","36","9", NULL}, /* 16 */ + {"Brand#23", "MED BOX", NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL}, /* 17 */ + {"300", NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL}, /* 18 */ + {"Brand#12", "Brand#23", "Brand#34", "1", "10", "20", NULL, NULL, NULL, NULL, NULL}, /* 19 */ + {"forest", "1994-01-01", "CANADA", NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL}, /* 20 */ + {"SAUDI ARABIA", NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL}, /* 21 */ + {"13","31","23", "29", "30", "18", "17", NULL, NULL, NULL, NULL}, /* 22 */ + {NULL,NULL,NULL,NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL}, /* UF1 */ + {NULL,NULL,NULL,NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL}, /* UF2 */ +}; +void +varsub(int qnum, int vnum, int flags) +{ + static char param[11][128]; + static char formats[23][128]; + static FILE *lfp = NULL; + static int bInit = 0; + long *lptr; + char *ptr; + int i = 0; + DSS_HUGE tmp_date, tmp1, tmp2; + + if (!bInit) + { + sprintf(formats[4], "19%s-%s-01", HUGE_DATE_FORMAT, HUGE_DATE_FORMAT); + sprintf(formats[5], "19%s-01-01", HUGE_DATE_FORMAT); + sprintf(formats[6], "19%s-01-01", HUGE_DATE_FORMAT); + sprintf(formats[7], "0.%s", HUGE_DATE_FORMAT); /* used by q6 */ + sprintf(formats[10], "19%s-%s-01", HUGE_DATE_FORMAT, HUGE_DATE_FORMAT); + sprintf(formats[12], "19%s-01-01", HUGE_DATE_FORMAT); + sprintf(formats[14], "19%s-%s-01", HUGE_DATE_FORMAT, HUGE_DATE_FORMAT); + sprintf(formats[15], "19%s-%s-01", HUGE_DATE_FORMAT, HUGE_DATE_FORMAT); + sprintf(formats[16], "Brand#%s%s", HUGE_FORMAT, HUGE_FORMAT); + sprintf(formats[17], "Brand#%s%s", HUGE_FORMAT, HUGE_FORMAT); + sprintf(formats[19], "Brand#%s%s", HUGE_FORMAT, HUGE_FORMAT); + sprintf(formats[20], "19%s-01-01", HUGE_DATE_FORMAT); + bInit = 1; + } + + if (vnum == 0) + { + if ((flags & DFLT) == 0) + { + switch(qnum) + { + case 1: + sprintf(param[1], HUGE_FORMAT, UnifInt((DSS_HUGE)60,(DSS_HUGE)120,qnum)); + param[2][0] = '\0'; + break; + case 2: + sprintf(param[1], HUGE_FORMAT, + UnifInt((DSS_HUGE)P_SIZE_MIN, (DSS_HUGE)P_SIZE_MAX, qnum)); + pick_str(&p_types_set, qnum, param[3]); + ptr = param[3] + (int)strlen(param[3]); + while (*(ptr - 1) != ' ') ptr--; + strcpy(param[2], ptr); + pick_str(®ions, qnum, param[3]); + param[4][0] = '\0'; + break; + case 3: + pick_str(&c_mseg_set, qnum, param[1]); + /* + * pick a random offset within the month of march and add the + * appropriate magic numbers to position the output functions + * at the start of March '95 + */ + RANDOM(tmp_date, 0, 30, qnum); + strcpy(param[2], *(asc_date + tmp_date + 1155)); + param[3][0] = '\0'; + break; + case 4: + tmp_date = UnifInt((DSS_HUGE)0,(DSS_HUGE)57,qnum); + sprintf(param[1],formats[4], + 93 + tmp_date/12, tmp_date%12 + 1); + param[2][0] = '\0'; + break; + case 5: + pick_str(®ions, qnum, param[1]); + tmp_date = UnifInt((DSS_HUGE)93, (DSS_HUGE)97,qnum); + sprintf(param[2], formats[5], tmp_date); + param[3][0] = '\0'; + break; + case 6: + tmp_date = UnifInt((DSS_HUGE)93,(DSS_HUGE)97,qnum); + sprintf(param[1], formats[6], tmp_date); + sprintf(param[2], formats[7], + UnifInt((DSS_HUGE)2, (DSS_HUGE)9, qnum)); + sprintf(param[3], HUGE_FORMAT, UnifInt((DSS_HUGE)24, (DSS_HUGE)25, qnum)); + param[4][0] = '\0'; + break; + case 7: + tmp_date = pick_str(&nations2, qnum, param[1]); + while (pick_str(&nations2, qnum, param[2]) == tmp_date); + param[3][0] = '\0'; + break; + case 8: + tmp_date = pick_str(&nations2, qnum, param[1]); + tmp_date = nations.list[tmp_date].weight; + strcpy(param[2], regions.list[tmp_date].text); + pick_str(&p_types_set, qnum, param[3]); + param[4][0] = '\0'; + break; + case 9: + pick_str(&colors, qnum, param[1]); + param[2][0] = '\0'; + break; + case 10: + tmp_date = UnifInt((DSS_HUGE)1,(DSS_HUGE)24,qnum); + sprintf(param[1],formats[10], + 93 + tmp_date/12, tmp_date%12 + 1); + param[2][0] = '\0'; + break; + case 11: + pick_str(&nations2, qnum, param[1]); + sprintf(param[2], "%11.10f", Q11_FRACTION / flt_scale ); + param[3][0] = '\0'; + break; + case 12: + tmp_date = pick_str(&l_smode_set, qnum, param[1]); + while (tmp_date == pick_str(&l_smode_set, qnum, param[2])); + tmp_date = UnifInt((DSS_HUGE)93,(DSS_HUGE)97,qnum); + sprintf(param[3], formats[12], tmp_date); + param[4][0] = '\0'; + break; + case 13: + pick_str(&q13a, qnum, param[1]); + pick_str(&q13b, qnum, param[2]); + param[3][0] = '\0'; + break; + case 14: + tmp_date = UnifInt((DSS_HUGE)0,(DSS_HUGE)59,qnum); + sprintf(param[1],formats[14], + 93 + tmp_date/12, tmp_date%12 + 1); + param[2][0] = '\0'; + break; + case 15: + tmp_date = UnifInt((DSS_HUGE)0,(DSS_HUGE)57,qnum); + sprintf(param[1],formats[15], + 93 + tmp_date/12, tmp_date%12 + 1); + param[2][0] = '\0'; + break; + case 16: + tmp1 = UnifInt((DSS_HUGE)1, (DSS_HUGE)5, qnum); + tmp2 = UnifInt((DSS_HUGE)1, (DSS_HUGE)5, qnum); + sprintf(param[1], formats[16], tmp1, tmp2); + pick_str(&p_types_set, qnum, param[2]); + ptr = param[2] + (int)strlen(param[2]); + while (*(--ptr) != ' '); + *ptr = '\0'; + lptr = &sizes[0]; + permute(lptr,50,qnum); + for (i=3; i <= MAX_PARAM; i++) + sprintf(param[i], "%ld", sizes[i - 3]); + break; + case 17: + tmp1 = UnifInt((DSS_HUGE)1, (DSS_HUGE)5, qnum); + tmp2 = UnifInt((DSS_HUGE)1, (DSS_HUGE)5, qnum); + sprintf(param[1], formats[17], tmp1, tmp2); + pick_str(&p_cntr_set, qnum, param[2]); + param[3][0] = '\0'; + break; + case 18: + sprintf(param[1], HUGE_FORMAT, UnifInt((DSS_HUGE)312, (DSS_HUGE)315, qnum)); + param[2][0] = '\0'; + break; + case 19: + tmp1 = UnifInt((DSS_HUGE)1, (DSS_HUGE)5, qnum); + tmp2 = UnifInt((DSS_HUGE)1, (DSS_HUGE)5, qnum); + sprintf(param[1], formats[19], tmp1, tmp2); + tmp1 = UnifInt((DSS_HUGE)1, (DSS_HUGE)5, qnum); + tmp2 = UnifInt((DSS_HUGE)1, (DSS_HUGE)5, qnum); + sprintf(param[2], formats[19], tmp1, tmp2); + tmp1 = UnifInt((DSS_HUGE)1, (DSS_HUGE)5, qnum); + tmp2 = UnifInt((DSS_HUGE)1, (DSS_HUGE)5, qnum); + sprintf(param[3], formats[19], tmp1, tmp2); + sprintf(param[4], HUGE_FORMAT, UnifInt((DSS_HUGE)1, (DSS_HUGE)10, qnum)); + sprintf(param[5], HUGE_FORMAT, UnifInt((DSS_HUGE)10, (DSS_HUGE)20, qnum)); + sprintf(param[6], HUGE_FORMAT, UnifInt((DSS_HUGE)20, (DSS_HUGE)30, qnum)); + param[7][0] = '\0'; + break; + case 20: + pick_str(&colors, qnum, param[1]); + tmp_date = UnifInt((DSS_HUGE)93,(DSS_HUGE)97,qnum); + sprintf(param[2], formats[20], tmp_date); + pick_str(&nations2, qnum, param[3]); + param[4][0] = '\0'; + break; + case 21: + pick_str(&nations2, qnum, param[1]); + param[2][0] = '\0'; + break; + case 22: + lptr = &ccode[0]; + permute(lptr,25, qnum); + for (i=0; i <= 7; i++) + sprintf(param[i+1], "%ld", 10 + ccode[i]); + param[8][0] = '\0'; + break; + case 23: + case 24: + break; + default: + fprintf(stderr, + "No variable definitions available for query %d\n", + qnum); + return; + } + } + + if (flags & LOG) + { + if (lfp == NULL) + { + lfp = fopen(lfile, "a"); + OPEN_CHECK(lfp, lfile); + } + fprintf(lfp, "%d", qnum); + for (i=1; i <= 10; i++) + if (flags & DFLT) + { + if (defaults[qnum - 1][i - 1] == NULL) + break; + else + fprintf(lfp, "\t%s", defaults[qnum - 1][i - 1]); + } + else + { + if (param[i][0] == '\0') + break; + else + fprintf(lfp, "\t%s", param[i]); + } + fprintf(lfp, "\n"); + } + } + else + { + if (flags & DFLT) + { + /* to allow -d to work at all scale factors */ + if (qnum == 11 && vnum == 2) + fprintf(ofp, "%11.10f", Q11_FRACTION/flt_scale); + else + if (defaults[qnum - 1][vnum - 1]) + fprintf(ofp, "%s", defaults[qnum - 1][vnum - 1]); + else + fprintf(stderr, + "Bad default request (q: %d, p: %d)\n", + qnum, vnum); + } + else + { + if (param[vnum] && vnum <= MAX_PARAM) + fprintf(ofp, "%s", param[vnum]); + else + fprintf(stderr, "Bad parameter request (q: %d, p: %d)\n", + qnum, vnum); + } + } + return; +} diff --git a/tpch/00_compile_tpch/dbgen/varsub.o b/tpch/00_compile_tpch/dbgen/varsub.o new file mode 100644 index 0000000..ce2e803 Binary files /dev/null and b/tpch/00_compile_tpch/dbgen/varsub.o differ diff --git a/tpch/00_compile_tpch/dev-tools/generate_permute_h.c b/tpch/00_compile_tpch/dev-tools/generate_permute_h.c new file mode 100644 index 0000000..f690a54 --- /dev/null +++ b/tpch/00_compile_tpch/dev-tools/generate_permute_h.c @@ -0,0 +1,57 @@ +#include +#include + +#define SWAPS 10000 + +main(int argc, char *argv[]) +{ + + int queries; + int sequences; + + int q,s; + int i; + int x,y,z; + + int *seq; + + if (argc != 3) { + fprintf(stderr,"usage: %s q s\n", argv[0]); + fprintf(stderr,"\tq - number of queries in a sequence\n"); + fprintf(stderr,"\ts - number of sequences to generate\n"); + fprintf(stderr,"\te.g. for version 2.14.x\n\t\t %s 22 41\n",argv[0]); + exit(1); + } + queries=atoi(argv[1]); + sequences=atoi(argv[2]); + + seq = malloc(sizeof(int)*queries); + + printf("#define MAX_PERMUTE %d\n",sequences); + printf("long permutation[%d][%d]={\n",sequences, queries); + + for (s=0; s> $PWD/../../05_sql/$filename" + ./qgen $q >> $PWD/../../05_sql/$filename +done + +cd .. + diff --git a/tpch/01_gen_data/rollout_gen_data.sh b/tpch/01_gen_data/rollout_gen_data.sh new file mode 100644 index 0000000..465f989 --- /dev/null +++ b/tpch/01_gen_data/rollout_gen_data.sh @@ -0,0 +1,83 @@ +#!/bin/bash +set -e +echo "**********************" +echo "** rollout gen_data **" +echo "**********************" +PWD=$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd ) +if [[ ! -d "data" && ! -L "data" ]]; then + mkdir data +fi +source $PWD/../functions.sh + +GEN_DATA_SCALE=$1 +EXPLAIN_ANALYZE=$2 +RANDOM_DISTRIBUTION=$3 +MULTI_USER_COUNT=$4 +SINGLE_USER_ITERATIONS=$5 +VERSION=$6 + +if [[ "$GEN_DATA_SCALE" == "" || "$EXPLAIN_ANALYZE" == "" || "$RANDOM_DISTRIBUTION" == "" || "$MULTI_USER_COUNT" == "" || "$SINGLE_USER_ITERATIONS" == "" || "$VERSION" == "" ]]; then + echo "You must provide the scale as a parameter in terms of Gigabytes, true/false to run queries with EXPLAIN ANALYZE option, true/false to use random distrbution, multi-user count, the number of sql iterations, and the name of the database under test." + echo "Example: ./rollout.sh 100 false false 5 1 exasol" + exit 1 +fi + +gen_data() +{ + # Jeder core wird benutzt, um parallel Daten zu generieren + PARALLEL=$(lscpu --parse=cpu | grep -v "#" | wc -l) + if [ "$PARALLEL" -gt "8" ]; then + PARALLEL=$(($PARALLEL - 5)) + fi + echo "parallel: $PARALLEL" + CHILD="0" + for x in $(seq 1 $PARALLEL); do + CHILD=$(($CHILD + 1)) + GEN_DATA_PATH="$PWD""/data""/psqldata_""$CHILD" + echo "GEN_DATA_PATH is $GEN_DATA_PATH" + mylogfile=$PWD/../log/generate_data.$CHILD.log + $PWD/generate_data.sh $GEN_DATA_SCALE $CHILD $PARALLEL $GEN_DATA_PATH > $mylogfile 2>&1 < $mylogfile & + done +} +get_count_generate_data() +{ + count="0" + #for i in $(cat $PWD/../segment_hosts.txt); do + next_count=$(ps -ef | grep generate_data.sh | grep -v grep | wc -l 2>&1 || true) + check="^[0-9]+$" + if ! [[ $next_count =~ $check ]] ; then + next_count="1" + fi + count=$(($count + $next_count)) + #done +} + +step=gen_data +init_log $step +start_log +schema_name="tpch" +table_name="gen_data" + +echo "gen_data" +gen_data + +echo "" +get_count_generate_data +echo "Now generating data. This may take a while." +echo -ne "Generating data" +while [ "$count" -gt "0" ]; do + echo -ne "." + sleep 5 + get_count_generate_data +done + +echo "Done generating data" +echo "" + +echo "Generate queries" +cd $PWD +$PWD/generate_queries.sh + +log + +end_step $step diff --git a/tpch/03_ddl/cratedb/09.cratedb.customer.sql b/tpch/03_ddl/cratedb/09.cratedb.customer.sql new file mode 100644 index 0000000..ced7faa --- /dev/null +++ b/tpch/03_ddl/cratedb/09.cratedb.customer.sql @@ -0,0 +1,11 @@ +CREATE TABLE tpch.customer +(C_CUSTKEY INTEGER primary key, +C_NAME VARCHAR(25), +C_ADDRESS VARCHAR(40), +C_NATIONKEY INTEGER, +C_PHONE VARCHAR(15), +C_ACCTBAL REAL, +C_MKTSEGMENT VARCHAR(10), +C_COMMENT VARCHAR(117), +dummy text) WITH (number_of_replicas = '0'); + diff --git a/tpch/03_ddl/cratedb/10.cratedb.lineitem.sql b/tpch/03_ddl/cratedb/10.cratedb.lineitem.sql new file mode 100644 index 0000000..f71b148 --- /dev/null +++ b/tpch/03_ddl/cratedb/10.cratedb.lineitem.sql @@ -0,0 +1,19 @@ +CREATE TABLE tpch.lineitem +(L_ORDERKEY BIGINT, +L_PARTKEY INTEGER, +L_SUPPKEY INTEGER, +L_LINENUMBER INTEGER, +L_QUANTITY REAL, +L_EXTENDEDPRICE REAL, +L_DISCOUNT REAL, +L_TAX REAL, +L_RETURNFLAG VARCHAR, +L_LINESTATUS VARCHAR, +L_SHIPDATE TIMESTAMP, +L_COMMITDATE TIMESTAMP, +L_RECEIPTDATE TIMESTAMP, +L_SHIPINSTRUCT VARCHAR(25), +L_SHIPMODE VARCHAR(10), +L_COMMENT VARCHAR(44), +dummy text, +primary key (L_ORDERKEY, L_LINENUMBER)) WITH (number_of_replicas = '0'); diff --git a/tpch/03_ddl/cratedb/11.cratedb.nation.sql b/tpch/03_ddl/cratedb/11.cratedb.nation.sql new file mode 100644 index 0000000..8455c36 --- /dev/null +++ b/tpch/03_ddl/cratedb/11.cratedb.nation.sql @@ -0,0 +1,7 @@ +CREATE TABLE tpch.nation +(N_NATIONKEY INTEGER primary key, +N_NAME VARCHAR(25), +N_REGIONKEY INTEGER, +N_COMMENT VARCHAR(152), +dummy text) WITH (number_of_replicas = '0'); + diff --git a/tpch/03_ddl/cratedb/12.cratedb.orders.sql b/tpch/03_ddl/cratedb/12.cratedb.orders.sql new file mode 100644 index 0000000..f21d494 --- /dev/null +++ b/tpch/03_ddl/cratedb/12.cratedb.orders.sql @@ -0,0 +1,12 @@ +CREATE TABLE tpch.orders +(O_ORDERKEY BIGINT primary key, +O_CUSTKEY INT, +O_ORDERSTATUS VARCHAR(1), +O_TOTALPRICE REAL, +O_ORDERDATE TIMESTAMP, +O_ORDERPRIORITY VARCHAR(15), +O_CLERK VARCHAR(15), +O_SHIPPRIORITY INTEGER, +O_COMMENT VARCHAR(79), +dummy text) WITH (number_of_replicas = '0'); + diff --git a/tpch/03_ddl/cratedb/13.cratedb.part.sql b/tpch/03_ddl/cratedb/13.cratedb.part.sql new file mode 100644 index 0000000..df9200c --- /dev/null +++ b/tpch/03_ddl/cratedb/13.cratedb.part.sql @@ -0,0 +1,12 @@ +CREATE TABLE tpch.part +(P_PARTKEY INT primary key, +P_NAME VARCHAR(55), +P_MFGR VARCHAR(25), +P_BRAND VARCHAR(10), +P_TYPE VARCHAR(25), +P_SIZE INTEGER, +P_CONTAINER VARCHAR(10), +P_RETAILPRICE REAL, +P_COMMENT VARCHAR(23), +dummy text) WITH (number_of_replicas = '0'); + diff --git a/tpch/03_ddl/cratedb/14.cratedb.partsupp.sql b/tpch/03_ddl/cratedb/14.cratedb.partsupp.sql new file mode 100644 index 0000000..813ddf4 --- /dev/null +++ b/tpch/03_ddl/cratedb/14.cratedb.partsupp.sql @@ -0,0 +1,9 @@ +CREATE TABLE tpch.partsupp +(PS_PARTKEY INT, +PS_SUPPKEY INT, +PS_AVAILQTY INTEGER, +PS_SUPPLYCOST REAL, +PS_COMMENT VARCHAR(199), +dummy text, +primary key (PS_PARTKEY, PS_SUPPKEY)) WITH (number_of_replicas = '0'); + diff --git a/tpch/03_ddl/cratedb/15.cratedb.region.sql b/tpch/03_ddl/cratedb/15.cratedb.region.sql new file mode 100644 index 0000000..8a22f62 --- /dev/null +++ b/tpch/03_ddl/cratedb/15.cratedb.region.sql @@ -0,0 +1,6 @@ +CREATE TABLE tpch.region +(R_REGIONKEY INTEGER primary key, +R_NAME VARCHAR(25), +R_COMMENT VARCHAR(152), +dummy text) WITH (number_of_replicas = '0'); + diff --git a/tpch/03_ddl/cratedb/16.cratedb.supplier.sql b/tpch/03_ddl/cratedb/16.cratedb.supplier.sql new file mode 100644 index 0000000..2fc2296 --- /dev/null +++ b/tpch/03_ddl/cratedb/16.cratedb.supplier.sql @@ -0,0 +1,10 @@ +CREATE TABLE tpch.SUPPLIER +(S_SUPPKEY INT primary key, +S_NAME VARCHAR(25), +S_ADDRESS VARCHAR(40), +S_NATIONKEY INTEGER, +S_PHONE VARCHAR(15), +S_ACCTBAL REAL, +S_COMMENT VARCHAR(101), +dummy text) WITH (number_of_replicas = '0'); + diff --git a/tpch/03_ddl/distribution.txt b/tpch/03_ddl/distribution.txt new file mode 100644 index 0000000..5ae3910 --- /dev/null +++ b/tpch/03_ddl/distribution.txt @@ -0,0 +1,8 @@ +1|customer|C_CUSTKEY +2|lineitem|L_ORDERKEY,L_LINENUMBER +3|nation|N_NATIONKEY +4|orders|O_ORDERKEY +5|part|P_PARTKEY +6|partsupp|PS_PARTKEY,PS_SUPPKEY +7|region|R_REGIONKEY +8|supplier|S_SUPPKEY diff --git a/tpch/03_ddl/exasol/09.exasol.customer.sql b/tpch/03_ddl/exasol/09.exasol.customer.sql new file mode 100644 index 0000000..074ef51 --- /dev/null +++ b/tpch/03_ddl/exasol/09.exasol.customer.sql @@ -0,0 +1,11 @@ +CREATE TABLE tpch.customer +(C_CUSTKEY DECIMAL(18,0), +C_NAME VARCHAR(25), +C_ADDRESS VARCHAR(40), +C_NATIONKEY DECIMAL(18,0), +C_PHONE CHAR(15), +C_ACCTBAL DECIMAL(15,2), +C_MKTSEGMENT CHAR(10), +C_COMMENT VARCHAR(117), +dummy VARCHAR(2000000)); + diff --git a/tpch/03_ddl/exasol/10.exasol.lineitem.sql b/tpch/03_ddl/exasol/10.exasol.lineitem.sql new file mode 100644 index 0000000..b3000eb --- /dev/null +++ b/tpch/03_ddl/exasol/10.exasol.lineitem.sql @@ -0,0 +1,19 @@ +CREATE TABLE tpch.lineitem +(L_ORDERKEY DECIMAL(36,0), +L_PARTKEY DECIMAL(18,0), +L_SUPPKEY DECIMAL(18,0), +L_LINENUMBER DECIMAL(18,0), +L_QUANTITY DECIMAL(15,2), +L_EXTENDEDPRICE DECIMAL(15,2), +L_DISCOUNT DECIMAL(15,2), +L_TAX DECIMAL(15,2), +L_RETURNFLAG CHAR(1), +L_LINESTATUS CHAR(1), +L_SHIPDATE DATE, +L_COMMITDATE DATE, +L_RECEIPTDATE DATE, +L_SHIPINSTRUCT CHAR(25), +L_SHIPMODE CHAR(10), +L_COMMENT VARCHAR(44), +dummy VARCHAR(2000000)); + diff --git a/tpch/03_ddl/exasol/11.exasol.nation.sql b/tpch/03_ddl/exasol/11.exasol.nation.sql new file mode 100644 index 0000000..911f687 --- /dev/null +++ b/tpch/03_ddl/exasol/11.exasol.nation.sql @@ -0,0 +1,7 @@ +CREATE TABLE tpch.nation +(N_NATIONKEY DECIMAL(18,0), +N_NAME CHAR(25), +N_REGIONKEY DECIMAL(18,0), +N_COMMENT VARCHAR(152), +dummy VARCHAR(2000000)); + diff --git a/tpch/03_ddl/exasol/12.exasol.orders.sql b/tpch/03_ddl/exasol/12.exasol.orders.sql new file mode 100644 index 0000000..f4defab --- /dev/null +++ b/tpch/03_ddl/exasol/12.exasol.orders.sql @@ -0,0 +1,12 @@ +CREATE TABLE tpch.orders +(O_ORDERKEY DECIMAL(36,0), +O_CUSTKEY DECIMAL(18,0), +O_ORDERSTATUS CHAR(1), +O_TOTALPRICE DECIMAL(15,2), +O_ORDERDATE DATE, +O_ORDERPRIORITY CHAR(15), +O_CLERK CHAR(15), +O_SHIPPRIORITY DECIMAL(18,0), +O_COMMENT VARCHAR(79), +dummy VARCHAR(2000000)); + diff --git a/tpch/03_ddl/exasol/13.exasol.part.sql b/tpch/03_ddl/exasol/13.exasol.part.sql new file mode 100644 index 0000000..bdd600e --- /dev/null +++ b/tpch/03_ddl/exasol/13.exasol.part.sql @@ -0,0 +1,12 @@ +CREATE TABLE tpch.part +(P_PARTKEY DECIMAL(18,0), +P_NAME VARCHAR(55), +P_MFGR CHAR(25), +P_BRAND CHAR(10), +P_TYPE VARCHAR(25), +P_SIZE DECIMAL(18,0), +P_CONTAINER CHAR(10), +P_RETAILPRICE DECIMAL(15,2), +P_COMMENT VARCHAR(23), +dummy VARCHAR(2000000)); + diff --git a/tpch/03_ddl/exasol/14.exasol.partsupp.sql b/tpch/03_ddl/exasol/14.exasol.partsupp.sql new file mode 100644 index 0000000..58168e5 --- /dev/null +++ b/tpch/03_ddl/exasol/14.exasol.partsupp.sql @@ -0,0 +1,8 @@ +CREATE TABLE tpch.partsupp +(PS_PARTKEY DECIMAL(18,0), +PS_SUPPKEY DECIMAL(18,0), +PS_AVAILQTY DECIMAL(18,0), +PS_SUPPLYCOST DECIMAL(15,2), +PS_COMMENT VARCHAR(199), +dummy VARCHAR(2000000)); + diff --git a/tpch/03_ddl/exasol/15.exasol.region.sql b/tpch/03_ddl/exasol/15.exasol.region.sql new file mode 100644 index 0000000..45ff763 --- /dev/null +++ b/tpch/03_ddl/exasol/15.exasol.region.sql @@ -0,0 +1,6 @@ +CREATE TABLE tpch.region +(R_REGIONKEY DECIMAL(18,0), +R_NAME CHAR(25), +R_COMMENT VARCHAR(152), +dummy VARCHAR(2000000)); + diff --git a/tpch/03_ddl/exasol/16.exasol.supplier.sql b/tpch/03_ddl/exasol/16.exasol.supplier.sql new file mode 100644 index 0000000..a1f35b5 --- /dev/null +++ b/tpch/03_ddl/exasol/16.exasol.supplier.sql @@ -0,0 +1,10 @@ +CREATE TABLE tpch.SUPPLIER +(S_SUPPKEY DECIMAL(18,0), +S_NAME CHAR(25), +S_ADDRESS VARCHAR(40), +S_NATIONKEY DECIMAL(18,0), +S_PHONE CHAR(15), +S_ACCTBAL DECIMAL(15,2), +S_COMMENT VARCHAR(101), +dummy VARCHAR(2000000)); + diff --git a/tpch/03_ddl/exasol/exasol.setup.sql b/tpch/03_ddl/exasol/exasol.setup.sql new file mode 100644 index 0000000..97740cf --- /dev/null +++ b/tpch/03_ddl/exasol/exasol.setup.sql @@ -0,0 +1,2 @@ +drop SCHEMA IF exists tpch cascade; +create schema tpch; \ No newline at end of file diff --git a/tpch/03_ddl/gpdb/00.gpdb.tpch.sql b/tpch/03_ddl/gpdb/00.gpdb.tpch.sql new file mode 100644 index 0000000..71d610d --- /dev/null +++ b/tpch/03_ddl/gpdb/00.gpdb.tpch.sql @@ -0,0 +1,4 @@ +DROP SCHEMA IF EXISTS tpch CASCADE; +DROP SCHEMA IF EXISTS ext_tpch CASCADE; +CREATE SCHEMA tpch; +CREATE SCHEMA ext_tpch; diff --git a/tpch/03_ddl/gpdb/09.gpdb.customer.sql b/tpch/03_ddl/gpdb/09.gpdb.customer.sql new file mode 100644 index 0000000..fcbe968 --- /dev/null +++ b/tpch/03_ddl/gpdb/09.gpdb.customer.sql @@ -0,0 +1,11 @@ +CREATE TABLE tpch.customer +(C_CUSTKEY INT, +C_NAME VARCHAR(25), +C_ADDRESS VARCHAR(40), +C_NATIONKEY INTEGER, +C_PHONE CHAR(15), +C_ACCTBAL DECIMAL(15,2), +C_MKTSEGMENT CHAR(10), +C_COMMENT VARCHAR(117)) +WITH (:MEDIUM_STORAGE) +:DISTRIBUTED_BY; diff --git a/tpch/03_ddl/gpdb/10.gpdb.lineitem.sql b/tpch/03_ddl/gpdb/10.gpdb.lineitem.sql new file mode 100644 index 0000000..72f8f60 --- /dev/null +++ b/tpch/03_ddl/gpdb/10.gpdb.lineitem.sql @@ -0,0 +1,22 @@ +CREATE TABLE tpch.lineitem +(L_ORDERKEY BIGINT, +L_PARTKEY INT, +L_SUPPKEY INT, +L_LINENUMBER INTEGER, +L_QUANTITY DECIMAL(15,2), +L_EXTENDEDPRICE DECIMAL(15,2), +L_DISCOUNT DECIMAL(15,2), +L_TAX DECIMAL(15,2), +L_RETURNFLAG CHAR(1), +L_LINESTATUS CHAR(1), +L_SHIPDATE DATE, +L_COMMITDATE DATE, +L_RECEIPTDATE DATE, +L_SHIPINSTRUCT CHAR(25), +L_SHIPMODE CHAR(10), +L_COMMENT VARCHAR(44)) +WITH (:LARGE_STORAGE) +:DISTRIBUTED_BY +PARTITION BY RANGE (L_SHIPDATE) +(start('1992-01-01') INCLUSIVE end ('1998-12-31') INCLUSIVE every (30), +default partition others); diff --git a/tpch/03_ddl/gpdb/11.gpdb.nation.sql b/tpch/03_ddl/gpdb/11.gpdb.nation.sql new file mode 100644 index 0000000..60a1019 --- /dev/null +++ b/tpch/03_ddl/gpdb/11.gpdb.nation.sql @@ -0,0 +1,7 @@ +CREATE TABLE tpch.nation +(N_NATIONKEY INTEGER, +N_NAME CHAR(25), +N_REGIONKEY INTEGER, +N_COMMENT VARCHAR(152)) +WITH (:SMALL_STORAGE) +:DISTRIBUTED_BY; diff --git a/tpch/03_ddl/gpdb/12.gpdb.orders.sql b/tpch/03_ddl/gpdb/12.gpdb.orders.sql new file mode 100644 index 0000000..9719e70 --- /dev/null +++ b/tpch/03_ddl/gpdb/12.gpdb.orders.sql @@ -0,0 +1,15 @@ +CREATE TABLE tpch.orders +(O_ORDERKEY BIGINT, +O_CUSTKEY INT, +O_ORDERSTATUS CHAR(1), +O_TOTALPRICE DECIMAL(15,2), +O_ORDERDATE DATE, +O_ORDERPRIORITY CHAR(15), +O_CLERK CHAR(15), +O_SHIPPRIORITY INTEGER, +O_COMMENT VARCHAR(79)) +WITH (:LARGE_STORAGE) +:DISTRIBUTED_BY +PARTITION BY RANGE (O_ORDERDATE) +(start('1992-01-01') INCLUSIVE end ('1998-12-31') INCLUSIVE every (30), +default partition others); diff --git a/tpch/03_ddl/gpdb/13.gpdb.part.sql b/tpch/03_ddl/gpdb/13.gpdb.part.sql new file mode 100644 index 0000000..42911f4 --- /dev/null +++ b/tpch/03_ddl/gpdb/13.gpdb.part.sql @@ -0,0 +1,12 @@ +CREATE TABLE tpch.part +(P_PARTKEY INT, +P_NAME VARCHAR(55), +P_MFGR CHAR(25), +P_BRAND CHAR(10), +P_TYPE VARCHAR(25), +P_SIZE INTEGER, +P_CONTAINER CHAR(10), +P_RETAILPRICE DECIMAL(15,2), +P_COMMENT VARCHAR(23)) +WITH (:MEDIUM_STORAGE) +:DISTRIBUTED_BY; diff --git a/tpch/03_ddl/gpdb/14.gpdb.partsupp.sql b/tpch/03_ddl/gpdb/14.gpdb.partsupp.sql new file mode 100644 index 0000000..c24583e --- /dev/null +++ b/tpch/03_ddl/gpdb/14.gpdb.partsupp.sql @@ -0,0 +1,8 @@ +CREATE TABLE tpch.partsupp +(PS_PARTKEY INT, +PS_SUPPKEY INT, +PS_AVAILQTY INTEGER, +PS_SUPPLYCOST DECIMAL(15,2), +PS_COMMENT VARCHAR(199)) +WITH (:MEDIUM_STORAGE) +:DISTRIBUTED_BY; diff --git a/tpch/03_ddl/gpdb/15.gpdb.region.sql b/tpch/03_ddl/gpdb/15.gpdb.region.sql new file mode 100644 index 0000000..9d9a72d --- /dev/null +++ b/tpch/03_ddl/gpdb/15.gpdb.region.sql @@ -0,0 +1,6 @@ +CREATE TABLE tpch.region +(R_REGIONKEY INTEGER, +R_NAME CHAR(25), +R_COMMENT VARCHAR(152)) +WITH (:SMALL_STORAGE) +:DISTRIBUTED_BY; diff --git a/tpch/03_ddl/gpdb/16.gpdb.supplier.sql b/tpch/03_ddl/gpdb/16.gpdb.supplier.sql new file mode 100644 index 0000000..70a8cb9 --- /dev/null +++ b/tpch/03_ddl/gpdb/16.gpdb.supplier.sql @@ -0,0 +1,10 @@ +CREATE TABLE tpch.SUPPLIER +(S_SUPPKEY INT, +S_NAME CHAR(25), +S_ADDRESS VARCHAR(40), +S_NATIONKEY INTEGER, +S_PHONE CHAR(15), +S_ACCTBAL DECIMAL(15,2), +S_COMMENT VARCHAR(101)) +WITH (:MEDIUM_STORAGE) +:DISTRIBUTED_BY; diff --git a/tpch/03_ddl/ignite/09.ignite.customer.sql b/tpch/03_ddl/ignite/09.ignite.customer.sql new file mode 100644 index 0000000..fc9ecf7 --- /dev/null +++ b/tpch/03_ddl/ignite/09.ignite.customer.sql @@ -0,0 +1,10 @@ +CREATE TABLE tpch.customer +(C_CUSTKEY INT PRIMARY KEY, +C_NAME VARCHAR(25), +C_ADDRESS VARCHAR(40), +C_NATIONKEY INTEGER, +C_PHONE CHAR(15), +C_ACCTBAL DECIMAL(15,2), +C_MKTSEGMENT CHAR(10), +C_COMMENT VARCHAR(117), +dummy text) WITH "template=replicated,affinity_key=C_CUSTKEY"; \ No newline at end of file diff --git a/tpch/03_ddl/ignite/10.ignite.lineitem.sql b/tpch/03_ddl/ignite/10.ignite.lineitem.sql new file mode 100644 index 0000000..ee29643 --- /dev/null +++ b/tpch/03_ddl/ignite/10.ignite.lineitem.sql @@ -0,0 +1,20 @@ +CREATE TABLE tpch.lineitem +(L_ORDERKEY BIGINT, +L_PARTKEY INT, +L_SUPPKEY INT, +L_LINENUMBER INTEGER, +L_QUANTITY DECIMAL(15,2), +L_EXTENDEDPRICE DECIMAL(15,2), +L_DISCOUNT DECIMAL(15,2), +L_TAX DECIMAL(15,2), +L_RETURNFLAG CHAR(1), +L_LINESTATUS CHAR(1), +L_SHIPDATE DATE, +L_COMMITDATE DATE, +L_RECEIPTDATE DATE, +L_SHIPINSTRUCT CHAR(25), +L_SHIPMODE CHAR(10), +L_COMMENT VARCHAR(44), +dummy text, +PRIMARY KEY (L_ORDERKEY,L_LINENUMBER)) WITH "template=replicated,affinity_key=L_ORDERKEY"; + diff --git a/tpch/03_ddl/ignite/11.ignite.nation.sql b/tpch/03_ddl/ignite/11.ignite.nation.sql new file mode 100644 index 0000000..82a3439 --- /dev/null +++ b/tpch/03_ddl/ignite/11.ignite.nation.sql @@ -0,0 +1,7 @@ +CREATE TABLE tpch.nation +(N_NATIONKEY INTEGER PRIMARY KEY, +N_NAME CHAR(25), +N_REGIONKEY INTEGER, +N_COMMENT VARCHAR(152), +dummy text) WITH "template=replicated,affinity_key=N_NATIONKEY"; + diff --git a/tpch/03_ddl/ignite/12.ignite.orders.sql b/tpch/03_ddl/ignite/12.ignite.orders.sql new file mode 100644 index 0000000..d1ae104 --- /dev/null +++ b/tpch/03_ddl/ignite/12.ignite.orders.sql @@ -0,0 +1,12 @@ +CREATE TABLE tpch.orders +(O_ORDERKEY BIGINT PRIMARY KEY, +O_CUSTKEY INT, +O_ORDERSTATUS CHAR(1), +O_TOTALPRICE DECIMAL(15,2), +O_ORDERDATE DATE, +O_ORDERPRIORITY CHAR(15), +O_CLERK CHAR(15), +O_SHIPPRIORITY INTEGER, +O_COMMENT VARCHAR(79), +dummy text) WITH "template=replicated,affinity_key=O_ORDERKEY"; + diff --git a/tpch/03_ddl/ignite/13.ignite.part.sql b/tpch/03_ddl/ignite/13.ignite.part.sql new file mode 100644 index 0000000..d14bae7 --- /dev/null +++ b/tpch/03_ddl/ignite/13.ignite.part.sql @@ -0,0 +1,12 @@ +CREATE TABLE tpch.part +(P_PARTKEY INT PRIMARY KEY, +P_NAME VARCHAR(55), +P_MFGR CHAR(25), +P_BRAND CHAR(10), +P_TYPE VARCHAR(25), +P_SIZE INTEGER, +P_CONTAINER CHAR(10), +P_RETAILPRICE DECIMAL(15,2), +P_COMMENT VARCHAR(23), +dummy text) WITH "template=replicated,affinity_key=P_PARTKEY"; + diff --git a/tpch/03_ddl/ignite/14.ignite.partsupp.sql b/tpch/03_ddl/ignite/14.ignite.partsupp.sql new file mode 100644 index 0000000..e1e9131 --- /dev/null +++ b/tpch/03_ddl/ignite/14.ignite.partsupp.sql @@ -0,0 +1,9 @@ +CREATE TABLE tpch.partsupp +(PS_PARTKEY INT, +PS_SUPPKEY INT, +PS_AVAILQTY INTEGER, +PS_SUPPLYCOST DECIMAL(15,2), +PS_COMMENT VARCHAR(199), +dummy text, +PRIMARY KEY (PS_PARTKEY,PS_SUPPKEY)) WITH "template=replicated,affinity_key=PS_PARTKEY"; + diff --git a/tpch/03_ddl/ignite/15.ignite.region.sql b/tpch/03_ddl/ignite/15.ignite.region.sql new file mode 100644 index 0000000..089c2d7 --- /dev/null +++ b/tpch/03_ddl/ignite/15.ignite.region.sql @@ -0,0 +1,6 @@ +CREATE TABLE tpch.region +(R_REGIONKEY INTEGER PRIMARY KEY, +R_NAME CHAR(25), +R_COMMENT VARCHAR(152), +dummy text) WITH "template=replicated,affinity_key=R_REGIONKEY"; + diff --git a/tpch/03_ddl/ignite/16.ignite.supplier.sql b/tpch/03_ddl/ignite/16.ignite.supplier.sql new file mode 100644 index 0000000..2b61610 --- /dev/null +++ b/tpch/03_ddl/ignite/16.ignite.supplier.sql @@ -0,0 +1,10 @@ +CREATE TABLE tpch.SUPPLIER +(S_SUPPKEY INT PRIMARY KEY, +S_NAME CHAR(25), +S_ADDRESS VARCHAR(40), +S_NATIONKEY INTEGER, +S_PHONE CHAR(15), +S_ACCTBAL DECIMAL(15,2), +S_COMMENT VARCHAR(101), +dummy text) WITH "template=replicated,affinity_key=S_SUPPKEY"; + diff --git a/tpch/03_ddl/ignite/ignite.setup.sql b/tpch/03_ddl/ignite/ignite.setup.sql new file mode 100644 index 0000000..49b87fe --- /dev/null +++ b/tpch/03_ddl/ignite/ignite.setup.sql @@ -0,0 +1,8 @@ +DROP TABLE if exists tpch.customer; +DROP TABLE if exists tpch.lineitem; +DROP TABLE if exists tpch.nation; +DROP TABLE if exists tpch.orders; +DROP TABLE if exists tpch.part; +DROP TABLE if exists tpch.partsupp; +DROP TABLE if exists tpch.region; +DROP TABLE if exists tpch.supplier; \ No newline at end of file diff --git a/tpch/03_ddl/mariadbcs/09.postgresql.customer.sql b/tpch/03_ddl/mariadbcs/09.postgresql.customer.sql new file mode 100644 index 0000000..abdab03 --- /dev/null +++ b/tpch/03_ddl/mariadbcs/09.postgresql.customer.sql @@ -0,0 +1,11 @@ +CREATE TABLE tpch.customer +(C_CUSTKEY INT, +C_NAME VARCHAR(25), +C_ADDRESS VARCHAR(40), +C_NATIONKEY INTEGER, +C_PHONE CHAR(15), +C_ACCTBAL DECIMAL(15,2), +C_MKTSEGMENT CHAR(10), +C_COMMENT VARCHAR(117), +dummy text); + diff --git a/tpch/03_ddl/mariadbcs/10.postgresql.lineitem.sql b/tpch/03_ddl/mariadbcs/10.postgresql.lineitem.sql new file mode 100644 index 0000000..8277627 --- /dev/null +++ b/tpch/03_ddl/mariadbcs/10.postgresql.lineitem.sql @@ -0,0 +1,19 @@ +CREATE TABLE tpch.lineitem +(L_ORDERKEY BIGINT, +L_PARTKEY INT, +L_SUPPKEY INT, +L_LINENUMBER INTEGER, +L_QUANTITY DECIMAL(15,2), +L_EXTENDEDPRICE DECIMAL(15,2), +L_DISCOUNT DECIMAL(15,2), +L_TAX DECIMAL(15,2), +L_RETURNFLAG CHAR(1), +L_LINESTATUS CHAR(1), +L_SHIPDATE DATE, +L_COMMITDATE DATE, +L_RECEIPTDATE DATE, +L_SHIPINSTRUCT CHAR(25), +L_SHIPMODE CHAR(10), +L_COMMENT VARCHAR(44), +dummy text); + diff --git a/tpch/03_ddl/mariadbcs/11.postgresql.nation.sql b/tpch/03_ddl/mariadbcs/11.postgresql.nation.sql new file mode 100644 index 0000000..f5cc8e6 --- /dev/null +++ b/tpch/03_ddl/mariadbcs/11.postgresql.nation.sql @@ -0,0 +1,7 @@ +CREATE TABLE tpch.nation +(N_NATIONKEY INTEGER, +N_NAME CHAR(25), +N_REGIONKEY INTEGER, +N_COMMENT VARCHAR(152), +dummy text); + diff --git a/tpch/03_ddl/mariadbcs/12.postgresql.orders.sql b/tpch/03_ddl/mariadbcs/12.postgresql.orders.sql new file mode 100644 index 0000000..59edf06 --- /dev/null +++ b/tpch/03_ddl/mariadbcs/12.postgresql.orders.sql @@ -0,0 +1,12 @@ +CREATE TABLE tpch.orders +(O_ORDERKEY BIGINT, +O_CUSTKEY INT, +O_ORDERSTATUS CHAR(1), +O_TOTALPRICE DECIMAL(15,2), +O_ORDERDATE DATE, +O_ORDERPRIORITY CHAR(15), +O_CLERK CHAR(15), +O_SHIPPRIORITY INTEGER, +O_COMMENT VARCHAR(79), +dummy text); + diff --git a/tpch/03_ddl/mariadbcs/13.postgresql.part.sql b/tpch/03_ddl/mariadbcs/13.postgresql.part.sql new file mode 100644 index 0000000..b6d969c --- /dev/null +++ b/tpch/03_ddl/mariadbcs/13.postgresql.part.sql @@ -0,0 +1,12 @@ +CREATE TABLE tpch.part +(P_PARTKEY INT, +P_NAME VARCHAR(55), +P_MFGR CHAR(25), +P_BRAND CHAR(10), +P_TYPE VARCHAR(25), +P_SIZE INTEGER, +P_CONTAINER CHAR(10), +P_RETAILPRICE DECIMAL(15,2), +P_COMMENT VARCHAR(23), +dummy text); + diff --git a/tpch/03_ddl/mariadbcs/14.postgresql.partsupp.sql b/tpch/03_ddl/mariadbcs/14.postgresql.partsupp.sql new file mode 100644 index 0000000..6bb500f --- /dev/null +++ b/tpch/03_ddl/mariadbcs/14.postgresql.partsupp.sql @@ -0,0 +1,8 @@ +CREATE TABLE tpch.partsupp +(PS_PARTKEY INT, +PS_SUPPKEY INT, +PS_AVAILQTY INTEGER, +PS_SUPPLYCOST DECIMAL(15,2), +PS_COMMENT VARCHAR(199), +dummy text); + diff --git a/tpch/03_ddl/mariadbcs/15.postgresql.region.sql b/tpch/03_ddl/mariadbcs/15.postgresql.region.sql new file mode 100644 index 0000000..b907df9 --- /dev/null +++ b/tpch/03_ddl/mariadbcs/15.postgresql.region.sql @@ -0,0 +1,6 @@ +CREATE TABLE tpch.region +(R_REGIONKEY INTEGER, +R_NAME CHAR(25), +R_COMMENT VARCHAR(152), +dummy text); + diff --git a/tpch/03_ddl/mariadbcs/16.postgresql.supplier.sql b/tpch/03_ddl/mariadbcs/16.postgresql.supplier.sql new file mode 100644 index 0000000..2524702 --- /dev/null +++ b/tpch/03_ddl/mariadbcs/16.postgresql.supplier.sql @@ -0,0 +1,10 @@ +CREATE TABLE tpch.supplier +(S_SUPPKEY INT, +S_NAME CHAR(25), +S_ADDRESS VARCHAR(40), +S_NATIONKEY INTEGER, +S_PHONE CHAR(15), +S_ACCTBAL DECIMAL(15,2), +S_COMMENT VARCHAR(101), +dummy text); + diff --git a/tpch/03_ddl/mariadbcs/postgresql.setup.sql b/tpch/03_ddl/mariadbcs/postgresql.setup.sql new file mode 100644 index 0000000..4339e68 --- /dev/null +++ b/tpch/03_ddl/mariadbcs/postgresql.setup.sql @@ -0,0 +1,2 @@ +DROP SCHEMA IF EXISTS tpch; +CREATE SCHEMA tpch; diff --git a/tpch/03_ddl/postgresql/09.postgresql.customer.sql b/tpch/03_ddl/postgresql/09.postgresql.customer.sql new file mode 100644 index 0000000..abdab03 --- /dev/null +++ b/tpch/03_ddl/postgresql/09.postgresql.customer.sql @@ -0,0 +1,11 @@ +CREATE TABLE tpch.customer +(C_CUSTKEY INT, +C_NAME VARCHAR(25), +C_ADDRESS VARCHAR(40), +C_NATIONKEY INTEGER, +C_PHONE CHAR(15), +C_ACCTBAL DECIMAL(15,2), +C_MKTSEGMENT CHAR(10), +C_COMMENT VARCHAR(117), +dummy text); + diff --git a/tpch/03_ddl/postgresql/10.postgresql.lineitem.sql b/tpch/03_ddl/postgresql/10.postgresql.lineitem.sql new file mode 100644 index 0000000..8277627 --- /dev/null +++ b/tpch/03_ddl/postgresql/10.postgresql.lineitem.sql @@ -0,0 +1,19 @@ +CREATE TABLE tpch.lineitem +(L_ORDERKEY BIGINT, +L_PARTKEY INT, +L_SUPPKEY INT, +L_LINENUMBER INTEGER, +L_QUANTITY DECIMAL(15,2), +L_EXTENDEDPRICE DECIMAL(15,2), +L_DISCOUNT DECIMAL(15,2), +L_TAX DECIMAL(15,2), +L_RETURNFLAG CHAR(1), +L_LINESTATUS CHAR(1), +L_SHIPDATE DATE, +L_COMMITDATE DATE, +L_RECEIPTDATE DATE, +L_SHIPINSTRUCT CHAR(25), +L_SHIPMODE CHAR(10), +L_COMMENT VARCHAR(44), +dummy text); + diff --git a/tpch/03_ddl/postgresql/11.postgresql.nation.sql b/tpch/03_ddl/postgresql/11.postgresql.nation.sql new file mode 100644 index 0000000..f5cc8e6 --- /dev/null +++ b/tpch/03_ddl/postgresql/11.postgresql.nation.sql @@ -0,0 +1,7 @@ +CREATE TABLE tpch.nation +(N_NATIONKEY INTEGER, +N_NAME CHAR(25), +N_REGIONKEY INTEGER, +N_COMMENT VARCHAR(152), +dummy text); + diff --git a/tpch/03_ddl/postgresql/12.postgresql.orders.sql b/tpch/03_ddl/postgresql/12.postgresql.orders.sql new file mode 100644 index 0000000..59edf06 --- /dev/null +++ b/tpch/03_ddl/postgresql/12.postgresql.orders.sql @@ -0,0 +1,12 @@ +CREATE TABLE tpch.orders +(O_ORDERKEY BIGINT, +O_CUSTKEY INT, +O_ORDERSTATUS CHAR(1), +O_TOTALPRICE DECIMAL(15,2), +O_ORDERDATE DATE, +O_ORDERPRIORITY CHAR(15), +O_CLERK CHAR(15), +O_SHIPPRIORITY INTEGER, +O_COMMENT VARCHAR(79), +dummy text); + diff --git a/tpch/03_ddl/postgresql/13.postgresql.part.sql b/tpch/03_ddl/postgresql/13.postgresql.part.sql new file mode 100644 index 0000000..b6d969c --- /dev/null +++ b/tpch/03_ddl/postgresql/13.postgresql.part.sql @@ -0,0 +1,12 @@ +CREATE TABLE tpch.part +(P_PARTKEY INT, +P_NAME VARCHAR(55), +P_MFGR CHAR(25), +P_BRAND CHAR(10), +P_TYPE VARCHAR(25), +P_SIZE INTEGER, +P_CONTAINER CHAR(10), +P_RETAILPRICE DECIMAL(15,2), +P_COMMENT VARCHAR(23), +dummy text); + diff --git a/tpch/03_ddl/postgresql/14.postgresql.partsupp.sql b/tpch/03_ddl/postgresql/14.postgresql.partsupp.sql new file mode 100644 index 0000000..6bb500f --- /dev/null +++ b/tpch/03_ddl/postgresql/14.postgresql.partsupp.sql @@ -0,0 +1,8 @@ +CREATE TABLE tpch.partsupp +(PS_PARTKEY INT, +PS_SUPPKEY INT, +PS_AVAILQTY INTEGER, +PS_SUPPLYCOST DECIMAL(15,2), +PS_COMMENT VARCHAR(199), +dummy text); + diff --git a/tpch/03_ddl/postgresql/15.postgresql.region.sql b/tpch/03_ddl/postgresql/15.postgresql.region.sql new file mode 100644 index 0000000..b907df9 --- /dev/null +++ b/tpch/03_ddl/postgresql/15.postgresql.region.sql @@ -0,0 +1,6 @@ +CREATE TABLE tpch.region +(R_REGIONKEY INTEGER, +R_NAME CHAR(25), +R_COMMENT VARCHAR(152), +dummy text); + diff --git a/tpch/03_ddl/postgresql/16.postgresql.supplier.sql b/tpch/03_ddl/postgresql/16.postgresql.supplier.sql new file mode 100644 index 0000000..4e064cc --- /dev/null +++ b/tpch/03_ddl/postgresql/16.postgresql.supplier.sql @@ -0,0 +1,10 @@ +CREATE TABLE tpch.SUPPLIER +(S_SUPPKEY INT, +S_NAME CHAR(25), +S_ADDRESS VARCHAR(40), +S_NATIONKEY INTEGER, +S_PHONE CHAR(15), +S_ACCTBAL DECIMAL(15,2), +S_COMMENT VARCHAR(101), +dummy text); + diff --git a/tpch/03_ddl/postgresql/postgresql.setup.sql b/tpch/03_ddl/postgresql/postgresql.setup.sql new file mode 100644 index 0000000..9918102 --- /dev/null +++ b/tpch/03_ddl/postgresql/postgresql.setup.sql @@ -0,0 +1,2 @@ +DROP SCHEMA IF EXISTS tpch CASCADE; +CREATE SCHEMA tpch; diff --git a/tpch/03_ddl/rollout_ddl.sh b/tpch/03_ddl/rollout_ddl.sh new file mode 100644 index 0000000..cd03682 --- /dev/null +++ b/tpch/03_ddl/rollout_ddl.sh @@ -0,0 +1,79 @@ +#!/bin/bash +set -e +echo "*****************" +echo "** ddl rollout **" +echo "*****************" +PWD=$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd ) +parentPWD="$(dirname "$PWD")" +source $PWD/../functions.sh + +GEN_DATA_SCALE=$1 +EXPLAIN_ANALYZE=$2 +RANDOM_DISTRIBUTION=$3 +MULTI_USER_COUNT=$4 +SINGLE_USER_ITERATIONS=$5 +VERSION=$6 +# holds server_certificate for exasol and master node port for cratedb +UTIL=$7 + +if [[ "$GEN_DATA_SCALE" == "" || "$EXPLAIN_ANALYZE" == "" || "$RANDOM_DISTRIBUTION" == "" || "$MULTI_USER_COUNT" == "" || "$SINGLE_USER_ITERATIONS" == "" ]]; then + echo "You must provide the scale as a parameter in terms of Gigabytes, true/false to run queries with EXPLAIN ANALYZE option, true/false to use random distrbution, multi-user count, and the number of sql iterations." + echo "Example: ./rollout.sh 100 false false 5 1" + exit 1 +fi + +step=ddl +init_log $step + +# Entfernen vom alten Benchmark-Schema (und der zugehörigen Tabellen) und neues erstellen +if [ "$VERSION" == "postgresql" ] || [ "$VERSION" == "gpdb" ]; then + filter="postgresql" + setup="$PWD/$VERSION/postgresql.setup.sql" + psql -h localhost -p 5439 -U p -d benchmark -v ON_ERROR_STOP=1 -q -a -P pager=off -f $setup +elif [ "$VERSION" == "exasol" ]; then + filter="exasol" + setup="$PWD/$VERSION/exasol.setup.sql" + $parentPWD/EXAplus-7.1.2/exaplus -c localhost/$UTIL:8563 -u sys -p exasol -f $setup +elif [ "$VERSION" == "ignite" ]; then + filter="ignite" + setup="$PWD/$VERSION/ignite.setup.sql" + source $PWD/../apache-ignite-2.11.0-bin/bin/sqlline.sh -u jdbc:ignite:thin://127.0.0.1/ -n ignite -p ignite --run=$setup +elif [ "$VERSION" == "cratedb" ]; then + filter="cratedb" + # In cratedb können keine Schemata explizit angelegt werden. Sie sind stattdessen Teil der Tabellen: CREATE TABLE TPCH.LINEITEM... +elif [ "$VERSION" == "mariadbcs" ]; then + filter="postgresql" + setup="$PWD/$VERSION/postgresql.setup.sql" + mariadb --protocol tcp --host localhost -u nsc --password=mariadbcs < $setup +else + echo "ERROR: Unsupported VERSION $VERSION!" + exit 1 +fi + +# Anlegen der Tabellen des Benchmarks +# Dazu wird über alle .sql-Dateien der entsprechenden Datenbank (filter) itertiert, die die CREATE-Anweisungen für die Tabellen beinhalten +# Zum Erstellen anderer Tabellen können diese Dateien einfach ausgetauscht werden +for i in $(ls $PWD/$VERSION/*.$filter.*.sql); do + table_name=$(echo $i | awk -F '.' '{print $3}') + start_log + echo "Creating table $table_name." + if [ "$VERSION" == "postgresql" ] || [ "$VERSION" == "gpdb" ]; then + psql -h localhost -p 5439 -U p -d benchmark -v ON_ERROR_STOP=1 -q -a -P pager=off -f $i + elif [ "$VERSION" == "exasol" ]; then + $parentPWD/EXAplus-7.1.2/exaplus -c localhost/$UTIL:8563 -u sys -p exasol -f $i + elif [ "$VERSION" == "ignite" ]; then + source $PWD/../apache-ignite-2.11.0-bin/bin/sqlline.sh -u jdbc:ignite:thin://127.0.0.1/ -n ignite -p ignite --run=$i + elif [ "$VERSION" == "cratedb" ]; then + # crash-cli, CrateDBs command line tool, besitzt nicht die Möglichkeit direkt Dateien einzulesen, weshalb hier explizit die query übergeben werden muss + query=$(cat $i) + $parentPWD/crash-cli/crash --hosts "localhost:$UTIL" -c "drop table if exists tpch.$table_name;" + $parentPWD/crash-cli/crash --hosts "localhost:$UTIL" -c "$query" + elif [ "$VERSION" == "mariadbcs" ]; then + mariadb --protocol tcp --host localhost -u nsc --password=mariadbcs < $i + fi + + + log +done + +end_step $step diff --git a/tpch/04_load/051.ignite.region.sql b/tpch/04_load/051.ignite.region.sql new file mode 100644 index 0000000..8e1357a --- /dev/null +++ b/tpch/04_load/051.ignite.region.sql @@ -0,0 +1 @@ +INTO tpch.region(R_REGIONKEY,R_NAME,R_COMMENT,DUMMY) format csv; \ No newline at end of file diff --git a/tpch/04_load/051.postgresql.region.sql b/tpch/04_load/051.postgresql.region.sql new file mode 100644 index 0000000..c460fcd --- /dev/null +++ b/tpch/04_load/051.postgresql.region.sql @@ -0,0 +1 @@ +COPY tpch.region FROM :filename WITH DELIMITER '|' NULL ''; diff --git a/tpch/04_load/052.ignite.nation.sql b/tpch/04_load/052.ignite.nation.sql new file mode 100644 index 0000000..0d7bed1 --- /dev/null +++ b/tpch/04_load/052.ignite.nation.sql @@ -0,0 +1 @@ +INTO tpch.nation(N_NATIONKEY,N_NAME,N_REGIONKEY,N_COMMENT,DUMMY) format csv; \ No newline at end of file diff --git a/tpch/04_load/052.postgresql.nation.sql b/tpch/04_load/052.postgresql.nation.sql new file mode 100644 index 0000000..671640f --- /dev/null +++ b/tpch/04_load/052.postgresql.nation.sql @@ -0,0 +1 @@ +COPY tpch.nation FROM :filename WITH DELIMITER '|' NULL ''; diff --git a/tpch/04_load/053.ignite.customer.sql b/tpch/04_load/053.ignite.customer.sql new file mode 100644 index 0000000..236702a --- /dev/null +++ b/tpch/04_load/053.ignite.customer.sql @@ -0,0 +1 @@ +INTO tpch.customer(C_CUSTKEY,C_NAME,C_ADDRESS,C_NATIONKEY,C_PHONE,C_ACCTBAL,C_MKTSEGMENT,C_COMMENT,DUMMY) format csv; \ No newline at end of file diff --git a/tpch/04_load/053.postgresql.customer.sql b/tpch/04_load/053.postgresql.customer.sql new file mode 100644 index 0000000..8effae9 --- /dev/null +++ b/tpch/04_load/053.postgresql.customer.sql @@ -0,0 +1 @@ +COPY tpch.customer FROM :filename WITH DELIMITER '|' NULL ''; diff --git a/tpch/04_load/054.ignite.part.sql b/tpch/04_load/054.ignite.part.sql new file mode 100644 index 0000000..60f130a --- /dev/null +++ b/tpch/04_load/054.ignite.part.sql @@ -0,0 +1 @@ +INTO tpch.part(P_PARTKEY,P_NAME,P_MFGR,P_BRAND,P_TYPE,P_SIZE,P_CONTAINER,P_RETAILPRICE,P_COMMENT,DUMMY) format csv; \ No newline at end of file diff --git a/tpch/04_load/054.postgresql.part.sql b/tpch/04_load/054.postgresql.part.sql new file mode 100644 index 0000000..895adc1 --- /dev/null +++ b/tpch/04_load/054.postgresql.part.sql @@ -0,0 +1 @@ +COPY tpch.part FROM :filename WITH DELIMITER '|' NULL ''; diff --git a/tpch/04_load/055.ignite.supplier.sql b/tpch/04_load/055.ignite.supplier.sql new file mode 100644 index 0000000..70b3f29 --- /dev/null +++ b/tpch/04_load/055.ignite.supplier.sql @@ -0,0 +1 @@ +INTO tpch.supplier(S_SUPPKEY,S_NAME,S_ADDRESS,S_NATIONKEY,S_PHONE,S_ACCTBAL,S_COMMENT,DUMMY) format csv; \ No newline at end of file diff --git a/tpch/04_load/055.postgresql.supplier.sql b/tpch/04_load/055.postgresql.supplier.sql new file mode 100644 index 0000000..df24260 --- /dev/null +++ b/tpch/04_load/055.postgresql.supplier.sql @@ -0,0 +1 @@ +COPY tpch.supplier FROM :filename WITH DELIMITER '|' NULL ''; diff --git a/tpch/04_load/056.ignite.partsupp.sql b/tpch/04_load/056.ignite.partsupp.sql new file mode 100644 index 0000000..4f26d0f --- /dev/null +++ b/tpch/04_load/056.ignite.partsupp.sql @@ -0,0 +1 @@ +INTO tpch.partsupp(PS_PARTKEY,PS_SUPPKEY,PS_AVAILQTY,PS_SUPPLYCOST,PS_COMMENT,DUMMY) format csv; \ No newline at end of file diff --git a/tpch/04_load/056.postgresql.partsupp.sql b/tpch/04_load/056.postgresql.partsupp.sql new file mode 100644 index 0000000..d637ac3 --- /dev/null +++ b/tpch/04_load/056.postgresql.partsupp.sql @@ -0,0 +1 @@ +COPY tpch.partsupp FROM :filename WITH DELIMITER '|' NULL ''; diff --git a/tpch/04_load/057.ignite.orders.sql b/tpch/04_load/057.ignite.orders.sql new file mode 100644 index 0000000..4682a0f --- /dev/null +++ b/tpch/04_load/057.ignite.orders.sql @@ -0,0 +1 @@ +INTO tpch.orders(O_ORDERKEY,O_CUSTKEY,O_ORDERSTATUS,O_TOTALPRICE,O_ORDERDATE,O_ORDERPRIORITY,O_CLERK,O_SHIPPRIORITY,O_COMMENT,DUMMY) format csv; \ No newline at end of file diff --git a/tpch/04_load/057.postgresql.orders.sql b/tpch/04_load/057.postgresql.orders.sql new file mode 100644 index 0000000..a79d043 --- /dev/null +++ b/tpch/04_load/057.postgresql.orders.sql @@ -0,0 +1 @@ +COPY tpch.orders FROM :filename WITH DELIMITER '|' NULL ''; diff --git a/tpch/04_load/058.ignite.lineitem.sql b/tpch/04_load/058.ignite.lineitem.sql new file mode 100644 index 0000000..8f36f21 --- /dev/null +++ b/tpch/04_load/058.ignite.lineitem.sql @@ -0,0 +1 @@ +INTO tpch.lineitem(L_ORDERKEY,L_PARTKEY,L_SUPPKEY,L_LINENUMBER,L_QUANTITY,L_EXTENDEDPRICE,L_DISCOUNT,L_TAX,L_RETURNFLAG,L_LINESTATUS,L_SHIPDATE,L_COMMITDATE,L_RECEIPTDATE,L_SHIPINSTRUCT,L_SHIPMODE,L_COMMENT,DUMMY) format csv; \ No newline at end of file diff --git a/tpch/04_load/058.postgresql.lineitem.sql b/tpch/04_load/058.postgresql.lineitem.sql new file mode 100644 index 0000000..b3bcf3a --- /dev/null +++ b/tpch/04_load/058.postgresql.lineitem.sql @@ -0,0 +1 @@ +COPY tpch.lineitem FROM :filename WITH DELIMITER '|' NULL ''; diff --git a/tpch/04_load/17.exasol.constraints.sql b/tpch/04_load/17.exasol.constraints.sql new file mode 100644 index 0000000..35be623 --- /dev/null +++ b/tpch/04_load/17.exasol.constraints.sql @@ -0,0 +1,18 @@ +ALTER TABLE tpch.supplier ADD PRIMARY KEY (s_suppkey); +ALTER TABLE tpch.partsupp ADD PRIMARY KEY (ps_partkey, ps_suppkey); +ALTER TABLE tpch.part ADD PRIMARY KEY (p_partkey); +ALTER TABLE tpch.customer ADD PRIMARY KEY (c_custkey); +ALTER TABLE tpch.orders ADD PRIMARY KEY (o_orderkey); +ALTER TABLE tpch.lineitem ADD PRIMARY KEY (l_orderkey, l_linenumber); +ALTER TABLE tpch.nation ADD PRIMARY KEY (n_nationkey); +ALTER TABLE tpch.region ADD PRIMARY KEY (r_regionkey); + +ALTER TABLE tpch.supplier ADD CONSTRAINT supplier_nation_fk FOREIGN KEY (s_nationkey) REFERENCES tpch.nation (n_nationkey); +ALTER TABLE tpch.partsupp ADD CONSTRAINT partsupp_part_fk FOREIGN KEY (ps_partkey) REFERENCES tpch.part (p_partkey); +ALTER TABLE tpch.partsupp ADD CONSTRAINT partsupp_supplier_fk FOREIGN KEY (ps_suppkey) REFERENCES tpch.supplier (s_suppkey); +ALTER TABLE tpch.customer ADD CONSTRAINT customer_nation_fk FOREIGN KEY (c_nationkey) REFERENCES tpch.nation (n_nationkey); +ALTER TABLE tpch.orders ADD CONSTRAINT orders_customer_fk FOREIGN KEY (o_custkey) REFERENCES tpch.customer (c_custkey); +ALTER TABLE tpch.lineitem ADD CONSTRAINT lineitem_order_fk FOREIGN KEY (l_orderkey) REFERENCES tpch.orders (o_orderkey); +ALTER TABLE tpch.lineitem ADD CONSTRAINT lineitem_part_fk FOREIGN KEY (l_partkey) REFERENCES tpch.part (p_partkey); +ALTER TABLE tpch.lineitem ADD CONSTRAINT lineitem_partsupp_fk FOREIGN KEY (l_partkey, l_suppkey) REFERENCES tpch.partsupp (ps_partkey, ps_suppkey); +ALTER TABLE tpch.nation ADD CONSTRAINT nation_region_fk FOREIGN KEY (n_regionkey) REFERENCES tpch.region (r_regionkey); diff --git a/tpch/04_load/17.ignite.constraints.sql b/tpch/04_load/17.ignite.constraints.sql new file mode 100644 index 0000000..8e445a7 --- /dev/null +++ b/tpch/04_load/17.ignite.constraints.sql @@ -0,0 +1 @@ +CREATE INDEX lineitem_idx3 ON tpch.lineitem (l_partkey, l_suppkey); \ No newline at end of file diff --git a/tpch/04_load/17.postgres.constraints.sql b/tpch/04_load/17.postgres.constraints.sql new file mode 100644 index 0000000..0f36a4e --- /dev/null +++ b/tpch/04_load/17.postgres.constraints.sql @@ -0,0 +1,20 @@ +ALTER TABLE tpch.supplier ADD PRIMARY KEY (s_suppkey); +ALTER TABLE tpch.partsupp ADD PRIMARY KEY (ps_partkey, ps_suppkey); +ALTER TABLE tpch.part ADD PRIMARY KEY (p_partkey); +ALTER TABLE tpch.customer ADD PRIMARY KEY (c_custkey); +ALTER TABLE tpch.orders ADD PRIMARY KEY (o_orderkey); +ALTER TABLE tpch.lineitem ADD PRIMARY KEY (l_orderkey, l_linenumber); +ALTER TABLE tpch.nation ADD PRIMARY KEY (n_nationkey); +ALTER TABLE tpch.region ADD PRIMARY KEY (r_regionkey); + +ALTER TABLE tpch.supplier ADD CONSTRAINT supplier_nation_fk FOREIGN KEY (s_nationkey) REFERENCES tpch.nation (n_nationkey); +ALTER TABLE tpch.partsupp ADD CONSTRAINT partsupp_part_fk FOREIGN KEY (ps_partkey) REFERENCES tpch.part (p_partkey); +ALTER TABLE tpch.partsupp ADD CONSTRAINT partsupp_supplier_fk FOREIGN KEY (ps_suppkey) REFERENCES tpch.supplier (s_suppkey); +ALTER TABLE tpch.customer ADD CONSTRAINT customer_nation_fk FOREIGN KEY (c_nationkey) REFERENCES tpch.nation (n_nationkey); +ALTER TABLE tpch.orders ADD CONSTRAINT orders_customer_fk FOREIGN KEY (o_custkey) REFERENCES tpch.customer (c_custkey); +ALTER TABLE tpch.lineitem ADD CONSTRAINT lineitem_order_fk FOREIGN KEY (l_orderkey) REFERENCES tpch.orders (o_orderkey); +ALTER TABLE tpch.lineitem ADD CONSTRAINT lineitem_part_fk FOREIGN KEY (l_partkey) REFERENCES tpch.part (p_partkey); +ALTER TABLE tpch.lineitem ADD CONSTRAINT lineitem_partsupp_fk FOREIGN KEY (l_partkey, l_suppkey) REFERENCES tpch.partsupp (ps_partkey, ps_suppkey); +ALTER TABLE tpch.nation ADD CONSTRAINT nation_region_fk FOREIGN KEY (n_regionkey) REFERENCES tpch.region (r_regionkey); + +CREATE INDEX lineitem_idx3 ON tpch.lineitem (l_partkey, l_suppkey); \ No newline at end of file diff --git a/tpch/04_load/batch_load_cratedb.sql b/tpch/04_load/batch_load_cratedb.sql new file mode 100644 index 0000000..e69de29 diff --git a/tpch/04_load/batch_load_exasol.sql b/tpch/04_load/batch_load_exasol.sql new file mode 100644 index 0000000..e69de29 diff --git a/tpch/04_load/batch_load_mariadbcs.sql b/tpch/04_load/batch_load_mariadbcs.sql new file mode 100644 index 0000000..e69de29 diff --git a/tpch/04_load/batch_load_postgresql.sql b/tpch/04_load/batch_load_postgresql.sql new file mode 100644 index 0000000..e69de29 diff --git a/tpch/04_load/rollout_load.sh b/tpch/04_load/rollout_load.sh new file mode 100644 index 0000000..cfc13a7 --- /dev/null +++ b/tpch/04_load/rollout_load.sh @@ -0,0 +1,222 @@ +#!/bin/bash +set -e +echo "******************" +echo "** rollout load **" +echo "******************" +PWD=$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd ) +parentPWD="$(dirname "$PWD")" +source $PWD/../functions.sh + +GEN_DATA_SCALE=$1 +EXPLAIN_ANALYZE=$2 +RANDOM_DISTRIBUTION=$3 +MULTI_USER_COUNT=$4 +SINGLE_USER_ITERATIONS=$5 +VERSION=$6 +UTIL=$7 + +if [[ "$GEN_DATA_SCALE" == "" || "$EXPLAIN_ANALYZE" == "" || "$RANDOM_DISTRIBUTION" == "" || "$MULTI_USER_COUNT" == "" || "$SINGLE_USER_ITERATIONS" == "" || "$VERSION" == "" ]]; then + echo "You must provide the scale as a parameter in terms of Gigabytes, true/false to run queries with EXPLAIN ANALYZE option, true/false to use random distrbution, multi-user count, the number of sql iterations, and the name of the database under test." + echo "Example: ./rollout.sh 100 false false 5 1 exasol" + exit 1 +fi + +step=load +init_log $step + +if [ -f "$PWD/batch_load_$VERSION.sql" ]; then + rm -f $PWD/batch_load_$VERSION.sql +fi +touch $PWD/batch_load_$VERSION.sql +mylogfile=$PWD/../log/data_load.log + +PARALLEL=$(lscpu --parse=cpu | grep -v "#" | wc -l) +if [ "$PARALLEL" -gt "8" ]; then + PARALLEL=$(($PARALLEL - 5)) +fi +echo "parallel: $PARALLEL" + +# Laden der Daten in die Datenbank. Dazu werden, sofern möglich, alle Anweisungen in eine Datei kopiert und dann gesammelt ausgeführt. Ansonsten wird jede Ladeanweisung einzeln ausgeführt. +# Ein satz von Dateien (*.postgresql.*.sql) wird benutzt um darüber zu iterieren und an die Tabellennamen zu kommen. +# Abschließend werden gegebenenfalls noch Constraints (primary und foreign keys) erstellt, die beim Laden der Daten gestört hätten. +# Für postgres und ignite werden noch ein zuästzlich Index auf der lineitem Tabelle erstellt, da diese sonst einige Queries in keiner vernünftigen Zeit schaffen würden. +# Um andere Daten zu laden, müssen Dateien analog zu den existierenden angelegt werden. +if [[ "$VERSION" == "exasol" ]]; then + filter="postgresql" + + for i in $(ls $PWD/*.$filter.*.sql); do + id=$(echo $i | awk -F '.' '{print $1}') + table_name=$(echo $i | awk -F '.' '{print $3}') + for p in $(seq 1 $PARALLEL); do + filename=$(echo $PWD/../01_gen_data/data/psqldata_$p/$table_name.tbl*) + if [[ -f $filename && -s $filename ]]; then + start_log + filename="'""$filename""'" + stmt='import INTO tpch.'$table_name' FROM LOCAL CSV FILE '$filename' COLUMN SEPARATOR = '\''|'\'' ROW SEPARATOR = '\''LF'\'' ;' + echo $stmt >> $PWD/batch_load_$VERSION.sql + fi + done + done + + echo "loading data may take awhile" + STARTTIME=$(date +%s%N) + $parentPWD/EXAplus-7.1.2/exaplus -c localhost/$UTIL:8563 -u sys -p exasol -f $PWD/batch_load_$VERSION.sql > $mylogfile + ENDTIME=$(date +%s%N) + grep "Elapsed: " $mylogfile | awk -F '.' '{SUM += $2}' >> $mylogfile + echo "It takes $((($ENDTIME - $STARTTIME)/1000000)) milliseconds to complete data loading." >> $mylogfile + $parentPWD/EXAplus-7.1.2/exaplus -c localhost/$UTIL:8563 -u sys -p exasol -f $PWD/17.exasol.constraints.sql + +elif [ "$VERSION" == "postgresql" ] || [ "$VERSION" == "gpdb" ]; then + filter="postgresql" + + STARTTIME=$(date +%s%N) + for i in $(ls $PWD/*.$filter.*.sql); do + id=$(echo $i | awk -F '.' '{print $1}') + schema_name=$(echo $i | awk -F '.' '{print $2}') + table_name=$(echo $i | awk -F '.' '{print $3}') + for p in $(seq 1 $PARALLEL); do + filename=$(echo $PWD/../01_gen_data/data/psqldata_$p/$table_name.tbl*) + if [[ -f $filename && -s $filename ]]; then + start_log + filename="'""$filename""'" + echo "filename is $filename" + psql -e -h localhost -p 5439 -U p -d benchmark -v ON_ERROR_STOP=1 -c '\copy tpch.'$table_name' FROM '$filename' delimiter '\''|'\'' csv;' + fi + done + done + ENDTIME=$(date +%s%N) + echo "It takes $((($ENDTIME - $STARTTIME)/1000000)) milliseconds to complete data loading." >> $mylogfile + psql -h localhost -p 5439 -U p -d benchmark -v ON_ERROR_STOP=1 -q -a -P pager=off -f $PWD/17.postgres.constraints.sql + +elif [ "$VERSION" == "ignite" ]; then + filter="ignite" + + # Wenn eine beliebige Daten-Datei ein "|" enthält, dann enthalten das alle Dateien und diese müssen bearbeitet werden + # da bei ignite kein separator angegeben werden kann. Dazu werden zunächst alle , in ; geändert, um anschließend | in , ändern zu können + line=$(head -n 1 $parentPWD/01_gen_data/data/psqldata_1/region.tbl) + if [[ $line == *"|"* ]]; then + echo "transforming data for ignite" + for p in $(seq 1 $PARALLEL); do + echo "set $p" + sed -i -- 's/,/;/g; s/|/,/g' $parentPWD/01_gen_data/data/psqldata_$p/* + done + fi + batch_load_ignite=$PWD/batch_load_ignite.sql + touch $batch_load_ignite + for i in $(ls $PWD/*.$filter.*.sql); do + id=$(echo $i | awk -F '.' '{print $1}') + table_name=$(echo $i | awk -F '.' '{print $3}') + for p in $(seq 1 $PARALLEL); do + filename=$(echo $parentPWD/01_gen_data/data/psqldata_$p/$table_name.tbl*) + if [[ -f $filename && -s $filename ]]; then + start_log + line=$(head -n 1 $i) + echo "COPY FROM '$filename' $line" >> $batch_load_ignite + fi + done + done + echo "loading data may take awhile" + STARTTIME=$(date +%s%N) + source $PWD/../apache-ignite-2.11.0-bin/bin/sqlline.sh -u jdbc:ignite:thin://127.0.0.1/ -n ignite -p ignite --run=$batch_load_ignite + ENDTIME=$(date +%s%N) + grep "Elapsed: " $mylogfile | awk -F '.' '{SUM += $2}' >> $mylogfile + echo "It takes $((($ENDTIME - $STARTTIME)/1000000)) milliseconds to complete data loading." >> $mylogfile + rm $batch_load_ignite + source $PWD/../apache-ignite-2.11.0-bin/bin/sqlline.sh -u jdbc:ignite:thin://127.0.0.1/ -n ignite -p ignite --run=$PWD/17.ignite.constraints.sql +elif [ "$VERSION" == "cratedb" ]; then + # filter wird später nur benutzt, um über einen Satz von .sql-Dateien zu iterieren und über deren Namen an die Tabellennamen zu kommen + filter="postgresql" + +if [ "1" == "1" ]; then + # Wenn eine beliebige Daten-Datei ein "|" enthält, dann enthalten das alle Dateien und diese müssen bearbeitet werden + line=$(head -n 1 $parentPWD/01_gen_data/data/psqldata_1/region.tbl) + if [[ $line == *"|"* ]]; then + echo "transforming data for cratedb" + for p in $(seq 1 $PARALLEL); do + echo "Bearbeiten von $p" + # Da bei cratedb kein separator angegeben werden kann, werden zunächst alle , in ; geändert, um anschließend | in , ändern zu können. + sed -i -- 's/,/;/g; s/|/,/g' $parentPWD/01_gen_data/data/psqldata_$p/* + # Alle Datumsangaben müssen zwischen " stehen + sed -i -r 's/([0-9]{4}-[0-9]{2}-[0-9]{2})/"\1"/g' $parentPWD/01_gen_data/data/psqldata_$p/* + done + + # Jede Daten-Datei muss die Spaltennamen enthalten. + # Außerdem muss jede Datei die .csv-Endung haben. + echo "insert table headers" + for i in $(ls $PWD/*.$filter.*.sql); do + id=$(echo $i | awk -F '.' '{print $1}') + table_name=$(echo $i | awk -F '.' '{print $3}') + for p in $(seq 1 $PARALLEL); do + sourcefilename=$(echo $parentPWD/01_gen_data/data/psqldata_$p/$table_name.tbl*) + if [[ -f $sourcefilename && -s $sourcefilename ]]; then + case "$table_name" in + lineitem) firstline="l_orderkey,l_partkey,l_suppkey,l_linenumber,l_quantity,l_extendedprice,l_discount,l_tax,l_returnflag,l_linestatus,l_shipdate,l_commitdate,l_receiptdate,l_shipinstruct,l_shipmode,l_comment,dummy";; + supplier) firstline="s_suppkey,s_name,s_address,s_nationkey,s_phone,s_acctbal,s_comment,dummy";; + region) firstline="r_regionkey,r_name,r_comment,dummy";; + partsupp) firstline="ps_partkey,ps_suppkey,ps_availqty,ps_supplycost,ps_comment,dummy";; + part) firstline="p_partkey,p_name,p_mfgr,p_brand,p_type,p_size,p_container,p_retailprice,p_comment,dummy";; + orders) firstline="o_orderkey,o_custkey,o_orderstatus,o_totalprice,o_orderdate,o_orderpriority,o_clerk,o_shippriority,o_comment,dummy";; + nation) firstline="n_nationkey,n_name,n_regionkey,n_comment,dummy";; + customer) firstline="c_custkey,c_name,c_address,c_nationkey,c_phone,c_acctbal,c_mktsegment,c_comment,dummy";; + esac + sed -i "1s/^/$firstline\n/" $sourcefilename + mv $sourcefilename $parentPWD/01_gen_data/data/psqldata_$p/$table_name.csv + fi + + done + done + fi + # Nach Bearbeitung der Daten-Dateien müssen diese in den Container der Masternode kopiert werden. + echo "tar -czvf data.tar.gz -C $PWD/../01_gen_data/data ." + tar -czvf data.tar.gz -C $PWD/../01_gen_data/data . + echo "docker cp data.tar.gz crate1:/data/data.tar.gz" + docker cp $parentPWD/data.tar.gz crate1:/data/data.tar.gz + echo "docker exec -it crate1 tar -xzvf /data/data.tar.gz" + docker exec -it crate1 tar -xzvf /data/data.tar.gz +fi + + STARTTIME=$(date +%s%N) + for i in $(ls $PWD/*.$filter.*.sql); do + id=$(echo $i | awk -F '.' '{print $1}') + table_name=$(echo $i | awk -F '.' '{print $3}') + for p in $(seq 1 $PARALLEL); do + sourcefilename=$(echo $PWD/../01_gen_data/data/psqldata_$p/$table_name.csv) + filename=$(echo psqldata_$p/$table_name.csv) + echo "$filename" + if [[ -f $sourcefilename && -s $sourcefilename ]]; then + start_log + echo "COPY tpch.$table_name FROM 'file:///data/$filename';" + $parentPWD/crash-cli/crash --hosts "localhost:$UTIL" -c "COPY tpch.$table_name FROM 'file:///data/$filename';" + fi + done + done + echo "loading data may take awhile" + ENDTIME=$(date +%s%N) + grep "Elapsed: " $mylogfile | awk -F '.' '{SUM += $2}' >> $mylogfile + echo "It takes $((($ENDTIME - $STARTTIME)/1000000)) milliseconds to complete data loading" >> $mylogfile +elif [ "$VERSION" == "mariadbcs" ]; then + filter="postgresql" + + STARTTIME=$(date +%s%N) + for i in $(ls $PWD/*.$filter.*.sql); do + id=$(echo $i | awk -F '.' '{print $1}') + schema_name=$(echo $i | awk -F '.' '{print $2}') + table_name=$(echo $i | awk -F '.' '{print $3}') + for p in $(seq 1 $PARALLEL); do + filename=$(echo $PWD/../01_gen_data/data/psqldata_$p/$table_name.tbl*) + if [[ -f $filename && -s $filename ]]; then + start_log + filename="'""$filename""'" + echo "filename is $filename" + mariadb --protocol tcp --host localhost -u nsc --password=mariadbcs -e 'LOAD DATA LOCAL INFILE '$filename' INTO TABLE tpch.'$table_name' FIELDS TERMINATED BY '\''|'\'';' + fi + done + done + ENDTIME=$(date +%s%N) + echo "It takes $((($ENDTIME - $STARTTIME)/1000000)) milliseconds to complete data loading." >> $mylogfile +else + echo "ERROR: Unsupported VERSION $VERSION!" + exit 1 +fi + +end_step $step diff --git a/tpch/05_sql/rollout_sql.sh b/tpch/05_sql/rollout_sql.sh new file mode 100644 index 0000000..a8a2f50 --- /dev/null +++ b/tpch/05_sql/rollout_sql.sh @@ -0,0 +1,180 @@ +#!/bin/bash +set -e + +echo "*******************************" +echo "** rollout singleuser queries**" +echo "*******************************" + +PWD=$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd ) +parentPWD="$(dirname "$PWD")" +source $PWD/../functions.sh + +GEN_DATA_SCALE=$1 +EXPLAIN_ANALYZE=$2 +RANDOM_DISTRIBUTION=$3 +MULTI_USER_COUNT=$4 +SINGLE_USER_ITERATIONS=$5 +VERSION=$6 +UTIL=$7 + +if [[ "$GEN_DATA_SCALE" == "" || "$EXPLAIN_ANALYZE" == "" || "$RANDOM_DISTRIBUTION" == "" || "$MULTI_USER_COUNT" == "" || "$SINGLE_USER_ITERATIONS" == "" || "$VERSION" == "" ]]; then + echo "You must provide the scale as a parameter in terms of Gigabytes, true/false to run queries with EXPLAIN ANALYZE option, true/false to use random distrbution, multi-user count, the number of sql iterations, and the name of the database under test." + echo "Example: ./rollout.sh 100 false false 5 1 exasol" + exit 1 +fi + +step=sql +init_log $step + +# Anlegen eines neuen log files für jeden durchgeführten Lauf. +if [ -f $parentPWD/log/single_run_log.01.txt ]; then + count=$(ls $parentPWD/log | grep 'single_run_log' | wc -l) + count=$((count+1)) + if [ "${#count}" == 1 ]; then + touch $parentPWD/log/single_run_log.0$count.txt + logfile=$parentPWD/log/single_run_log.0$count.txt + touch $parentPWD/log/single_run_ressource_log.0$count.txt + ressourcelogfile=$parentPWD/log/single_run_ressource_log.0$count.txt + else + touch $parentPWD/log/single_run_log.$count.txt + logfile=$parentPWD/log/single_run_log.$count.txt + touch $parentPWD/log/single_run_ressource_log.$count.txt + ressourcelogfile=$parentPWD/log/single_run_ressource_log.$count.txt + fi +else + touch $parentPWD/log/single_run_log.01.txt + logfile=$parentPWD/log/single_run_log.01.txt + touch $parentPWD/log/single_run_ressource_log.01.txt + ressourcelogfile=$parentPWD/log/single_run_ressource_log.01.txt +fi + +# Logging der beanspruchten Ressourcen. Pid wird benutzt um später den Prozess beenden zu können. top -b -d 1 +logging_pid=$(docker stats > $ressourcelogfile & echo $!) +touch $parentPWD/log/single_user_runtime.txt +TOTAL_START=$(date +%s%N) +# Einzelnes Ausführen der Queries und loggen der benötigten Zeit. +if [ "$VERSION" == "postgresql" ] || [ "$VERSION" == "gpdb" ]; then + for x in $(seq 1 $SINGLE_USER_ITERATIONS); do + for i in $(ls $PWD/*.tpch.*.sql); do + id=`echo $i | awk -F '.' '{print $3}'` + start_log + echo "Executing query $id" + STARTTIME=$(date +%s%N) + psql -h localhost -p 5439 -U p -d benchmark -v ON_ERROR_STOP=1 -A -q -t -P pager=off -f $i >> $logfile + ENDTIME=$(date +%s%N) + echo "It takes $((($ENDTIME - $STARTTIME)/1000000)) milliseconds to complete task $id." >> $logfile + echo "Elapsed: $((($ENDTIME - $STARTTIME)/1000000))" >> $logfile + + done + done +elif [ "$VERSION" == "exasol" ]; then + for x in $(seq 1 $SINGLE_USER_ITERATIONS); do + for i in $(ls $PWD/*.tpch.*.sql); do + id=`echo $i | awk -F '.' '{print $3}'` + start_log + echo "Executing query $id" + STARTTIME=$(date +%s%N) + $parentPWD/EXAplus-7.1.2/exaplus -c localhost/$UTIL:8563 -u sys -p exasol -q -f $i >> $logfile + ENDTIME=$(date +%s%N) + echo "It takes $((($ENDTIME - $STARTTIME)/1000000)) milliseconds to complete task $id." >> $logfile + echo "Elapsed: $((($ENDTIME - $STARTTIME)/1000000))" >> $logfile + done + done +elif [ "$VERSION" == "ignite" ]; then + for x in $(seq 1 $SINGLE_USER_ITERATIONS); do + for i in $(ls $PWD/*.tpch.*.sql); do + id=`echo $i | awk -F '.' '{print $3}'` + # ignite can't use views and can't execute transformed query either + if [ $id == 13 ] || [ $id == 16 ] || [ $id == 19 ] || [ $id == 20 ] || [ $id == 22 ]; then + echo "skip $id" + else + start_log + echo "Executing query $id" + STARTTIME=$(date +%s%N) + source $PWD/../apache-ignite-2.11.0-bin/bin/sqlline.sh -u jdbc:ignite:thin://127.0.0.1/ -n ignite -p ignite --run=$i >> $logfile + ENDTIME=$(date +%s%N) + echo "It takes $((($ENDTIME - $STARTTIME)/1000000)) milliseconds to complete task $id." >> $logfile + echo "Elapsed: $((($ENDTIME - $STARTTIME)/1000000))" >> $logfile + fi + done + done +elif [ "$VERSION" == "cratedb" ]; then + # Bei den CrateDB queries wurden jeweils ein Limit eingebaut, da bei langen Ergebnissen das Ausgeben sehr lange dauert. + for x in $(seq 1 $SINGLE_USER_ITERATIONS); do + for i in $(ls $PWD/*.tpch.*.sql); do + if ! grep -q ::timestamp "$i"; then + # Einfügen von :: vor timestamp und interval, weil der Query-Generator :: als flag betrachtet zum Einfügen von Werten und diese entfernt. + # (Es werden keine Werte an diesen Stellen eingefügt, weil noch eine Zahl dahinter fehlt, also ::1, ::2, ...) + sed -i -- 's/timestamp/::timestamp/g; s/interval/::interval/g' $i + # Entfernt Kommentar Zeilen (starten mit --), weil CrateDB damit nicht umgehen kann. + sed -i '/^--/d' $i + fi + + id=`echo $i | awk -F '.' '{print $3}'` + # CrateDB kann nicht mehrere Anweisungen auf einen Schlag ausführen, es müssen drei einzelne Anweisungen für Query 15 abgesetzt werden. + # 02 syntax + # 05 nach 30 min abgebrochen + # 06 nach 30 min abgebrochen + # 17 kann nicht mit syntax umgehen + # 19 nach 30 min abgebrochen + # 20 kann nicht mit syntax umgehen + # kann nicht mit exists umgehen + if [ $id == 02 ] || [ $id == 05 ] || [ $id == 07 ] || [ $id == 09 ] || [ $id == 13 ] || [ $id == 17 ] || [ $id == 19 ] || [ $id == 20 ] || [ $id == 21 ]; then + # || [ $id == 03 ] || [ $id == 10 ] || [ $id == 04 ] || [ $id == 08 ] || [ $id == 12 ] || [ $id == 16 ]; then + echo "skip $id" + elif [ $id == 15 ]; then + start_log + echo "Executing query $id special" + query_view=$(cat $i) + query_query=$(cat $parentPWD/cratedb_query_15/query_15.sql) + query_delete=$(cat $parentPWD/cratedb_query_15/delete_view_15.sql) + echo "$query_view" + echo "$query_query" + echo "$query_delete" + STARTTIME=$(date +%s%N) + $parentPWD/crash-cli/crash --hosts "localhost:$UTIL" -c "$query_view" >> $logfile + $parentPWD/crash-cli/crash --hosts "localhost:$UTIL" -c "$query_query" >> $logfile + $parentPWD/crash-cli/crash --hosts "localhost:$UTIL" -c "$query_delete" >> $logfile + ENDTIME=$(date +%s%N) + echo "It takes $((($ENDTIME - $STARTTIME)/1000000)) milliseconds to complete task $id." >> $logfile + echo "Elapsed: $((($ENDTIME - $STARTTIME)/1000000))" >> $logfile + else + start_log + echo "Executing query $id" + query=$(cat $i) + echo "$query" + STARTTIME=$(date +%s%N) + $parentPWD/crash-cli/crash --hosts "localhost:$UTIL" -c "$query" >> $logfile + ENDTIME=$(date +%s%N) + echo "It takes $((($ENDTIME - $STARTTIME)/1000000)) milliseconds to complete task $id." >> $logfile + echo "Elapsed: $((($ENDTIME - $STARTTIME)/1000000))" >> $logfile + fi + done + done +elif [ "$VERSION" == "mariadbcs" ]; then + for x in $(seq 1 $SINGLE_USER_ITERATIONS); do + for i in $(ls $PWD/*.tpch.*.sql); do + id=`echo $i | awk -F '.' '{print $3}'` + start_log + if [ $id == 02 ] || [ $id == 05 ] || [ $id == 17 ] || [ $id == 19 ]; then + echo "skip $id" + else + echo "Executing query $id" + STARTTIME=$(date +%s%N) + mariadb --protocol tcp --host localhost -u nsc --password=mariadbcs < $i >> $logfile + ENDTIME=$(date +%s%N) + echo "It takes $((($ENDTIME - $STARTTIME)/1000000)) milliseconds to complete task $id." >> $logfile + echo "Elapsed: $((($ENDTIME - $STARTTIME)/1000000))" >> $logfile + fi + done + done +else + echo "ERROR: Unsupported VERSION $VERSION!" + exit 1 +fi +TOTAL_END=$(date +%s%N) + +echo "It takes $((($TOTAL_END - $TOTAL_START)/1000000)) milliseconds to complete single user run" >> $parentPWD/log/single_user_runtime.txt +kill -9 $logging_pid + +end_step $step diff --git a/tpch/06_single_user_reports/rollout_reports.sh b/tpch/06_single_user_reports/rollout_reports.sh new file mode 100644 index 0000000..76ccad3 --- /dev/null +++ b/tpch/06_single_user_reports/rollout_reports.sh @@ -0,0 +1,54 @@ +#!/bin/bash +set -e + +echo "*******************************" +echo "** rollout singleuser report **" +echo "*******************************" + +PWD=$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd ) +parent_dir=$(pwd) +source $PWD/../functions.sh + +GEN_DATA_SCALE=$1 +EXPLAIN_ANALYZE=$2 +RANDOM_DISTRIBUTION=$3 +MULTI_USER_COUNT=$4 +SINGLE_USER_ITERATIONS=$5 +VERSION=$6 + +if [[ "$GEN_DATA_SCALE" == "" || "$EXPLAIN_ANALYZE" == "" || "$RANDOM_DISTRIBUTION" == "" || "$MULTI_USER_COUNT" == "" || "$SINGLE_USER_ITERATIONS" == "" || "$VERSION" == "" ]]; then + echo "You must provide the scale as a parameter in terms of Gigabytes, true/false to run queries with EXPLAIN ANALYZE option, true/false to use random distrbution, multi-user count, the number of sql iterations, and the name of the database under test." + echo "Example: ./rollout.sh 100 false false 5 1 exasol" + exit 1 +fi + +step=single_user_reports + +init_log $step + + +report_dir=$parent_dir/reports +echo "checking for directory $report_dir" +if [ ! -d "$report_dir" ]; then + echo "mkdir -p $report_dir" + mkdir -p $report_dir +fi + +touch $report_dir/single_user_report.txt + +log_dir=$parent_dir/log + +for i in $(ls $log_dir/single_run_log.*.txt); do + id=`echo $i | awk -F '.' '{print $2}'` + echo "id $id" + echo "Summary for single run $id:" >> $report_dir/single_user_report.txt + grep 'Timing element:\|Elapsed:\|total_duration' $i >> $report_dir/single_user_report.txt + + echo "sum elapsed time as measured by timing: " >> $report_dir/single_user_report.txt + # -F "." + grep 'Elapsed:' $i | awk '{ sum += $2 } END { sum /= 1000 } END { print sum }' >> $report_dir/single_user_report.txt + + #echo "sum duration as measured by explain analyze: " >> $report_dir/single_user_report.txt + #grep 'total_duration' $i | awk '{ sum += $2 } END { print sum }' >> $report_dir/single_user_report.txt +done +end_step $step diff --git a/tpch/07_multi_user/multi_user_query_run.sh b/tpch/07_multi_user/multi_user_query_run.sh new file mode 100644 index 0000000..dde7678 --- /dev/null +++ b/tpch/07_multi_user/multi_user_query_run.sh @@ -0,0 +1,135 @@ +#!/bin/bash + +set -e + +PWD=$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd ) +parentPWD="$(dirname "$PWD")" +source $PWD/../functions.sh + +run_id=$1 +sql_source_dir=$2 +VERSION=$3 +UTIL=$4 +mylogfile=$5 + +echo "start of test" + +if [[ "$run_id" == "" ]]; then + echo "Error: you must provide the session id and explain analyze true/false as parameters." + echo "Example: ./rollout.sh 2 tpch false" + echo "This will execute the TPC-H queries for sesion 2 that are dynamically without explain analyze." + echo "created with qgen and not use EXPLAIN ANALYZE." + exit 1 +fi + + +step=testing_$run_id + +init_log $step + +#mylogfile=$parentPWD/log/multi_user.$run_id.explain_analyze.log +#if [ -f $mylogfile ]; then +# rm -f $mylogfile +#fi +touch $mylogfile + +# Die Spezifikation des TPC-H gibt eine bestimmte Reihenfolge für die Ausführung der Queries für jeden Nutzer vor. +if [ "$run_id" == "1" ]; then + currentorder=(21 3 18 5 11 7 6 20 17 12 16 15 13 10 2 8 14 19 9 22 1 4) +elif [ "$run_id" == "2" ]; then + currentorder=(6 17 14 16 19 10 9 2 15 8 5 22 12 7 13 18 1 4 20 3 11 21) +fi + +# durch das skippen einiger queries gibt es manchmal keine neue start-/endtime. wenn das bei der ersten query passiert, gibt es einen fehler. +STARTTIME=0 +ENDTIME=0 + +# Ausführung der Queries in der entsprechenden Reihenfolge. +for j in $(seq 0 21); do + order=${currentorder[$j]} + + pathsuffix=$order + length=${#pathsuffix} + if [ "$length" == "1" ]; then + pathsuffix=0$order + fi + + if [ "$VERSION" == "exasol" ]; then + STARTTIME=$(date +%s%N) + $parentPWD/EXAplus-7.1.2/exaplus -c localhost/$UTIL:8563 -u sys -p exasol -q -f $sql_source_dir/1$pathsuffix.tpch.$pathsuffix.sql >> $mylogfile + ENDTIME=$(date +%s%N) + elif [ "$VERSION" == "postgresql" ]; then + STARTTIME=$(date +%s%N) + psql -h localhost -p 5439 -U p -d benchmark -v ON_ERROR_STOP=1 -A -q -t -P pager=off -f $sql_source_dir/1$pathsuffix.tpch.$pathsuffix.sql >> $mylogfile + ENDTIME=$(date +%s%N) + elif [ "$VERSION" == "ignite" ]; then + # ignite can't use views and can't execute transformed query either + if [ $pathsuffix == 13 ] || [ $pathsuffix == 16 ] || [ $pathsuffix == 19 ] || [ $pathsuffix == 20 ] || [ $pathsuffix == 22 ]; then + echo "skip $pathsuffix" + else + STARTTIME=$(date +%s%N) + source $PWD/../apache-ignite-2.11.0-bin/bin/sqlline.sh -u jdbc:ignite:thin://127.0.0.1/ -n ignite -p ignite --run=$sql_source_dir/1$pathsuffix.tpch.$pathsuffix.sql >> $mylogfile + ENDTIME=$(date +%s%N) + fi + elif [ "$VERSION" == "cratedb" ]; then + echo "$sql_source_dir/1$pathsuffix.tpch.$pathsuffix.sql" + if ! grep -q ::timestamp "$sql_source_dir/1$pathsuffix.tpch.$pathsuffix.sql"; then + # Einfügen von :: vor timestamp und interval, weil der Query-Generator :: als flag betrachtet zum Einfügen von Werten und diese entfernt. + # (Es werden keine Werte an diesen Stellen eingefügt, weil noch eine Zahl dahinter fehlt, also ::1, ::2, ...) + sed -i -- 's/timestamp/::timestamp/g; s/interval/::interval/g' $sql_source_dir/1$pathsuffix.tpch.$pathsuffix.sql + # Entfernt Kommentar Zeilen (starten mit --), weil CrateDB damit nicht umgehen kann. + sed -i '/^--/d' $sql_source_dir/1$pathsuffix.tpch.$pathsuffix.sql + fi + # CrateDB kann nicht mehrere Anweisungen auf einen Schlag ausführen, es müssen drei einzelne Anweisungen für Query 15 abgesetzt werden. + # 02 syntax + # 05 nach 30 min abgebrochen + # 06 nach 30 min abgebrochen + # 17 kann nicht mit syntax umgehen + # 19 nach 30 min abgebrochen + # 20 kann nicht mit syntax umgehen + # kann nicht mit exists umgehen + if [ $pathsuffix == 02 ] || [ $pathsuffix == 05 ] || [ $pathsuffix == 07 ] || [ $pathsuffix == 09 ] || [ $pathsuffix == 13 ] || [ $pathsuffix == 17 ] || [ $pathsuffix == 19 ] || [ $pathsuffix == 20 ] || [ $pathsuffix == 21 ]; then + # || [ $id == 03 ] || [ $id == 10 ] || [ $id == 04 ] || [ $id == 08 ] || [ $id == 12 ] || [ $id == 16 ]; then + echo "skip $pathsuffix" + elif [ $pathsuffix == 15 ]; then + echo "Executing query $pathsuffix" + query_view=$(cat $sql_source_dir/1$pathsuffix.tpch.$pathsuffix.sql) + query_query=$(cat $parentPWD/cratedb_query_15/query_15.sql) + query_delete=$(cat $parentPWD/cratedb_query_15/delete_view_15.sql) + + query_view=${query_view//revenue0/revenue$run_id} + query_query=${query_query//revenue0/revenue$run_id} + query_delete=${query_delete//revenue0/revenue$run_id} + + STARTTIME=$(date +%s%N) + $parentPWD/crash-cli/crash --hosts "localhost:$UTIL" -c "$query_view" >> $logfile + $parentPWD/crash-cli/crash --hosts "localhost:$UTIL" -c "$query_query" >> $logfile + $parentPWD/crash-cli/crash --hosts "localhost:$UTIL" -c "$query_delete" >> $logfile + ENDTIME=$(date +%s%N) + else + echo "Executing query $pathsuffix." + query=$(cat $sql_source_dir/1$pathsuffix.tpch.$pathsuffix.sql) + echo "$query" + STARTTIME=$(date +%s%N) + $parentPWD/crash-cli/crash --hosts "localhost:$UTIL" -c "$query" >> $logfile + ENDTIME=$(date +%s%N) + fi + elif [ "$VERSION" == "mariadbcs" ]; then + if [ $pathsuffix == 02 ] || [ $pathsuffix == 05 ] || [ $pathsuffix == 17 ] || [ $pathsuffix == 19 ]; then + echo "skip $id" + else + echo "Executing query $id" + STARTTIME=$(date +%s%N) + mariadb --protocol tcp --host localhost -u nsc --password=mariadbcs < $sql_source_dir/1$pathsuffix.tpch.$pathsuffix.sql >> $logfile + ENDTIME=$(date +%s%N) + echo "It takes $((($ENDTIME - $STARTTIME)/1000000)) milliseconds to complete task $id." >> $logfile + echo "Elapsed: $((($ENDTIME - $STARTTIME)/1000000))" >> $logfile + fi + fi + + echo "It takes $((($ENDTIME - $STARTTIME)/1000000)) milliseconds to complete this task $order." >> $mylogfile + echo "$order Elapsed: $((($ENDTIME - $STARTTIME)/1000000))" >> $mylogfile + +done + +end_step $step diff --git a/tpch/07_multi_user/rollout_multiuser.sh b/tpch/07_multi_user/rollout_multiuser.sh new file mode 100644 index 0000000..46c42b6 --- /dev/null +++ b/tpch/07_multi_user/rollout_multiuser.sh @@ -0,0 +1,92 @@ +#!/bin/bash +set -e + +echo "*******************************" +echo "** rollout multiuser queries **" +echo "*******************************" + +PWD=$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd ) +parentPWD="$(dirname "$PWD")" +source $PWD/../functions.sh + +GEN_DATA_SCALE=$1 +EXPLAIN_ANALYZE=$2 +RANDOM_DISTRIBUTION=$3 +MULTI_USER_COUNT=$4 +SINGLE_USER_ITERATIONS=$5 +VERSION=$6 +UTIL=$7 + +if [[ "$GEN_DATA_SCALE" == "" || "$EXPLAIN_ANALYZE" == "" || "$RANDOM_DISTRIBUTION" == "" || "$MULTI_USER_COUNT" == "" || "$SINGLE_USER_ITERATIONS" == "" ]]; then + echo "You must provide the scale as a parameter in terms of Gigabytes, true/false to run queries with EXPLAIN ANALYZE option, true/false to use random distribution, multi-user count, and the number of sql iterations." + echo "Example: ./rollout.sh 100 false false 5 1 exasol" + echo "This will create 100 GB of data for this test, not run EXPLAIN ANALYZE, not use random distribution and use 5 sessions for the multi-user test." + exit 1 +fi + +if [ "$MULTI_USER_COUNT" -eq "0" ]; then + echo "MULTI_USER_COUNT set at 0 so exiting..." + exit 0 +fi + +# Anlegen eines neuen ressource log files für jeden durchgeführten Lauf. +if [ -f $parentPWD/log/multi_run_log.01.1.txt ]; then + count=$(ls $parentPWD/log | grep 'multi_run_log' | wc -l) + count=$((count/2)) + count=$((count+1)) + if [ "${#count}" == 1 ]; then + multilog=$parentPWD/log/multi_run_log.0$count + touch $parentPWD/log/multi_run_ressource_log.0$count.txt + ressourcelogfile=$parentPWD/log/multi_run_ressource_log.0$count.txt + else + multilog=$parentPWD/log/multi_run_log.$count + touch $parentPWD/log/multi_run_ressource_log.$count.txt + ressourcelogfile=$parentPWD/log/multi_run_ressource_log.$count.txt + fi +else + multilog=$parentPWD/log/multi_run_log.01 + touch $parentPWD/log/multi_run_ressource_log.01.txt + ressourcelogfile=$parentPWD/log/multi_run_ressource_log.01.txt +fi + +# Logging der beanspruchten Ressourcen. Pid wird benutzt um später den Prozess beenden zu können. top -b -d 1 +logging_pid=$(docker stats > $ressourcelogfile & echo $!) + +# Erstellen der Queries für die multi user Durchläufe, wenn diese noch nicht erstellt wurden. +if [ ! -d $PWD/queries/qry1 ]; then + for i in $(seq 1 $MULTI_USER_COUNT); do + mkdir $PWD/queries/qry$i + + cd $PWD/queries + for j in $(ls $PWD/*.sql | xargs -n 1 basename); do + q=$(echo $j | awk -F '.' '{print $1}') + id=$(printf %02d $q) + file_id="1""$id" + filename=$file_id.tpch.$id.sql + + echo "./qgen $q >> $PWD/$i/$filename" + ./qgen $q >> $PWD/qry$i/$filename + done + cd .. + done +fi + +sql_source_dir=$PWD/queries +# Für jeden Nutzer wird ein eigener Prozess zum Durchführen der Queries gestartet. +echo "Now executing queries. This may take a while." +touch $parentPWD/log/multi_user_runtime.txt +TOTAL_START=$(date +%s%N) +for i in $(seq 1 $MULTI_USER_COUNT); do + + session_log=$PWD/../log/testing_session_$i.log + echo "$PWD/test.sh $i $sql_source_dir/qry$i $VERSION $UTIL $multilog.$i.txt" + $PWD/multi_user_query_run.sh $i $sql_source_dir/qry$i $VERSION $UTIL $multilog.$i.txt >> $session_log 2>&1 < $session_log & + +done +wait +TOTAL_END=$(date +%s%N) +echo "It takes $((($TOTAL_END - $TOTAL_START)/1000000)) milliseconds to complete multi user run" >> $parentPWD/log/multi_user_runtime.txt +kill -9 $logging_pid +echo "queries complete" +echo "" + diff --git a/tpch/08_multi_user_reports/rollout_multiuser_reports.sh b/tpch/08_multi_user_reports/rollout_multiuser_reports.sh new file mode 100644 index 0000000..2ad2eea --- /dev/null +++ b/tpch/08_multi_user_reports/rollout_multiuser_reports.sh @@ -0,0 +1,130 @@ +#!/bin/bash +#set -e + +echo "*******************************" +echo "** rollout multiuser reports **" +echo "*******************************" + +PWD=$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd ) +parent_dir=$(pwd) +source $PWD/../functions.sh + +GEN_DATA_SCALE=$1 +EXPLAIN_ANALYZE=$2 +RANDOM_DISTRIBUTION=$3 +MULTI_USER_COUNT=$4 +SINGLE_USER_ITERATIONS=$5 +VERSION=$6 +ITERATIONS="1" + + +if [[ "$GEN_DATA_SCALE" == "" || "$EXPLAIN_ANALYZE" == "" || "$RANDOM_DISTRIBUTION" == "" || "$MULTI_USER_COUNT" == "" || "$SINGLE_USER_ITERATIONS" == "" || "$VERSION" == "" ]]; then + echo "You must provide the scale as a parameter in terms of Gigabytes, true/false to run queries with EXPLAIN ANALYZE option, true/false to use random distrbution, multi-user count, the number of sql iterations, and the name of the database under test." + echo "Example: ./rollout.sh 100 false false 5 1 exasol" + exit 1 +fi + +step=multi_user_reports + +init_log $step +if [ "$MULTI_USER_COUNT" -eq "0" ]; then + echo "MULTI_USER_COUNT set at 0 so exiting..." + exit 0 +fi + +echo "$parent_dir" +log_dir=$parent_dir/log +report_dir=$parent_dir/reports +echo "checking for directory $report_dir" +if [ ! -d "$report_dir" ]; then + echo "mkdir -p $report_dir" + mkdir -p $report_dir +fi + +if [ -f $report_dir/multi_user_reports_01.1.txt ]; then + for filename in $(ls $report_dir/multi_user_reports_*.*.txt); do + rm -f $filename + done +fi + +if [ -f $report_dir/tmp_multi_user_reports_01.1.txt ]; then + for filename in $(ls $report_dir/tmp_multi_user_reports_*.*.txt); do + rm -f $filename + done +fi + +# Filtern +#for i in $(seq 1 $ITERATIONS); do +# for user in $(seq 1 $MULTI_USER_COUNT); do +# if [ "${#i}" == 1 ]; then +# iteration=0$i +# else +# iteration=$i +# fi +# touch $report_dir/tmp_multi_user_reports_$iteration.$user.txt + + #grep 'Elapsed:' $log_dir/multi_user.$user.explain_analyze.log > $report_dir/tmp_multi_user_reports_$iteration.$user.txt + #if [ "$user" == "1" ]; then + # currentorder=([1]=21 3 18 5 11 7 6 20 17 12 16 15 13 10 2 8 14 19 9 22 1 4) + #elif [ "$user" == "2" ]; then + # currentorder=([1]=6 17 14 16 19 10 9 2 15 8 5 22 12 7 13 18 1 4 20 3 11 21) + #fi + #touch $report_dir/multi_user_reports_$iteration.$user.txt + + #grep "Elapsed:" $report_dir/tmp_multi_user_reports_$iteration.$user.txt >> $report_dir/multi_user_reports_$iteration.$user.txt + +# done +#done + +#for i in $(seq 1 $MULTI_USER_COUNT); do +# touch $report_dir/tmp_multi_user_reports.$i.txt + + #grep 'Timing element:\|Elapsed:' $log_dir/multi_user.$i.explain_analyze.log > $report_dir/tmp_multi_user_reports.$i.txt +# grep 'Elapsed:' $log_dir/multi_user.$i.explain_analyze.log > $report_dir/tmp_multi_user_reports.$i.txt +# if [ "$i" == "1" ]; then +# currentorder=([1]=21 3 18 5 11 7 6 20 17 12 16 15 13 10 2 8 14 19 9 22 1 4) +# elif [ "$i" == "2" ]; then +# currentorder=([1]=6 17 14 16 19 10 9 2 15 8 5 22 12 7 13 18 1 4 20 3 11 21) +# fi +# touch $report_dir/multi_user_reports.$i.txt + # nur relevante Zeilen extrahieren + # in invertierter reihenfolge und löschung, damit Timing element: 2 nicht auch Timing element: 21 findet + # nur für logs mit exasol \timing on + #for j in $(seq 22 -1 1); do + # grep -A1 "Timing element: $j" $report_dir/tmp_multi_user_reports.$i.txt | sed "s/Timing element: $j/Timing element: ${currentorder[$j]}/g" >> $report_dir/multi_user_reports.$i.txt + # sed -i "s/Timing element: $j//g" $report_dir/tmp_multi_user_reports.$i.txt + #done +# grep "Elapsed:" $report_dir/tmp_multi_user_reports.$i.txt >> $report_dir/multi_user_reports.$i.txt + +#done + +# sort query results +touch $report_dir/multi_user_summary_report.txt +touch $report_dir/multi_user_all_individual.txt +for i in $(seq 1 $ITERATIONS); do + for user in $(seq 1 $MULTI_USER_COUNT); do + if [ "${#i}" == 1 ]; then + iteration=0$i + else + iteration=$i + fi + touch $report_dir/multi_user_reports_$iteration.$user.txt + # $log_dir/multi_user.$user.explain_analyze.log + grep 'Elapsed:' $log_dir/multi_run_log.$iteration.$user.txt > $report_dir/multi_user_reports_$iteration.$user.txt + # sorting Zeilenpaare + #grep "Timing\|Elapsed" $report_dir/multi_user_reports.$i.txt | paste - - | sort -t: -k2 -n | sed 's/\t/\n/g' > $report_dir/sorted_multi_user_reports.$i.txt + grep "Elapsed:" $report_dir/multi_user_reports_$iteration.$user.txt | sort -t: -k1 -n > $report_dir/sorted_multi_user_reports_$iteration.$user.txt + echo "sum elapsed time as measured by timing in seconds in run $i for user $user: " >> $report_dir/multi_user_summary_report.txt + grep 'Elapsed:' $report_dir/sorted_multi_user_reports_$iteration.$user.txt | awk '{ sum += $3 } END { sum /= 1000 } END { print sum }' >> $report_dir/multi_user_summary_report.txt + echo "queries of run $i for user $user: " >> $report_dir/multi_user_all_individual.txt + cat $report_dir/sorted_multi_user_reports_$iteration.$user.txt >> $report_dir/multi_user_all_individual.txt + done +done + +if [ -f $report_dir/tmp_multi_user_reports_01.1.txt ]; then + for filename in $(ls $report_dir/tmp_multi_user_reports_*.*.txt); do + rm -f $filename + done +fi + +end_step $step diff --git a/tpch/cleanup.sh b/tpch/cleanup.sh new file mode 100644 index 0000000..f743c69 --- /dev/null +++ b/tpch/cleanup.sh @@ -0,0 +1,12 @@ +#!/bin/bash +set -e + +PWD=$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd ) +rm -r $PWD/01_gen_data/data/* +rm -r $PWD/01_gen_data/queries/* + +rm $PWD/05_sql/*.sql +rm -r $PWD/07_multi_user/queries/* + +rm -r $PWD/log/* +rm -r $PWD/reports/* \ No newline at end of file diff --git a/tpch/crash-cli/crash b/tpch/crash-cli/crash new file mode 100644 index 0000000..e664830 Binary files /dev/null and b/tpch/crash-cli/crash differ diff --git a/tpch/cratedb_query_15/delete_view_15.sql b/tpch/cratedb_query_15/delete_view_15.sql new file mode 100644 index 0000000..a789cde --- /dev/null +++ b/tpch/cratedb_query_15/delete_view_15.sql @@ -0,0 +1 @@ +drop view tpch.revenue0; diff --git a/tpch/cratedb_query_15/query_15.sql b/tpch/cratedb_query_15/query_15.sql new file mode 100644 index 0000000..bd8c6fa --- /dev/null +++ b/tpch/cratedb_query_15/query_15.sql @@ -0,0 +1,19 @@ +select + s_suppkey, + s_name, + s_address, + s_phone, + total_revenue +from + tpch.supplier, + tpch.revenue0 +where + s_suppkey = supplier_no + and total_revenue = ( + select + max(total_revenue) + from + tpch.revenue0 + ) +order by + s_suppkey; diff --git a/tpch/functions.sh b/tpch/functions.sh new file mode 100644 index 0000000..9111dbf --- /dev/null +++ b/tpch/functions.sh @@ -0,0 +1,71 @@ +#!/bin/bash +set -e + +count=$(alias | grep -w grep | wc -l) +if [ "$count" -gt "0" ]; then + unalias grep +fi +count=$(alias | grep -w ls | wc -l) +if [ "$count" -gt "0" ]; then + unalias ls +fi + +LOCAL_PWD=$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd ) +OSVERSION=$(uname) +ADMIN_USER=$(whoami) +ADMIN_HOME=$(eval echo ~$ADMIN_USER) +#GPFDIST_PORT=5000 +MASTER_HOST=$(hostname | awk -F '.' '{print $1}') + +init_log() +{ + if [ -f $LOCAL_PWD/log/end_$1.log ]; then + exit 0 + fi + + logfile=rollout_$1.log + rm -f $LOCAL_PWD/log/$logfile +} +start_log() +{ + if [ "$OSVERSION" == "Linux" ]; then + T="$(date +%s%N)" + else + T="$(date +%s)" + fi +} +log() +{ + #duration + if [ "$OSVERSION" == "Linux" ]; then + T="$(($(date +%s%N)-T))" + # seconds + S="$((T/1000000000))" + # milliseconds + M="$((T/1000000))" + else + #must be OSX which doesn't have nano-seconds + T="$(($(date +%s)-T))" + S=$T + M=0 + fi + + #this is done for steps that don't have id values + if [ "$id" == "" ]; then + id="1" + else + id=$(basename $i | awk -F '.' '{print $1}') + fi + + tuples=$1 + if [ "$tuples" == "" ]; then + tuples="0" + fi + + printf "$id|$schema_name.$table_name|$tuples|%02d:%02d:%02d.%03d\n" "$((S/3600%24))" "$((S/60%60))" "$((S%60))" "${M}" >> $LOCAL_PWD/log/$logfile +} +end_step() +{ + local logfile=end_$1.log + touch $LOCAL_PWD/log/$logfile +} diff --git a/tpch/install_exaplus.sh b/tpch/install_exaplus.sh new file mode 100644 index 0000000..cf3eac5 --- /dev/null +++ b/tpch/install_exaplus.sh @@ -0,0 +1,17 @@ +#!/bin/bash +set -e + +PWD=$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd ) +if [ -d "$PWD/EXAplus-7.1.2" ]; then + echo "EXAplus is already installed" +else + echo "EXAplus not found. Installing..." + CURLCHECK=$(which curl; echo $? | awk -F "1" $1) + if [ "$CURLCHECK" == "1" ]; then + apt install curl + fi + + curl https://www.exasol.com/support/secure/attachment/167965/EXAplus-7.1.2.tar.gz -O + tar -xzf EXAplus-7.1.2.tar.gz + echo "EXAplus installed" +fi \ No newline at end of file diff --git a/tpch/rollout.sh b/tpch/rollout.sh new file mode 100644 index 0000000..9f56ad4 --- /dev/null +++ b/tpch/rollout.sh @@ -0,0 +1,143 @@ +#!/bin/bash + +set -e +PWD=$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd ) +source $PWD/functions.sh + +GEN_DATA_SCALE="$1" +EXPLAIN_ANALYZE="$2" +RANDOM_DISTRIBUTION="$3" +MULTI_USER_COUNT="$4" +RUN_COMPILE_TPCH="$5" +RUN_GEN_DATA="$6" +RUN_INIT="$7" +RUN_DDL="$8" +RUN_LOAD="$9" +RUN_SQL="${10}" +RUN_SINGLE_USER_REPORT="${11}" +RUN_MULTI_USER="${12}" +RUN_MULTI_USER_REPORT="${13}" +SINGLE_USER_ITERATIONS="${14}" +VERSION="${15}" +SERVER_CERTIFICATE="${16}" +ITERATIONS="${17}" + +if [[ "$GEN_DATA_SCALE" == "" || "$EXPLAIN_ANALYZE" == "" || "$RANDOM_DISTRIBUTION" == "" || "$MULTI_USER_COUNT" == "" || "$RUN_COMPILE_TPCH" == "" || "$RUN_GEN_DATA" == "" || "$RUN_INIT" == "" || "$RUN_DDL" == "" || "$RUN_LOAD" == "" || "$RUN_SQL" == "" || "$RUN_SINGLE_USER_REPORT" == "" || "$RUN_MULTI_USER" == "" || "$RUN_MULTI_USER_REPORT" == "" || "$SINGLE_USER_ITERATIONS" == "" ]]; then + echo "Parameters: scale, explain T/F, random T/F, multi-user count, run compile T/F, run gen_data T/F, run init T/F, run DDL T/F, run load T/F, run SQL T/F, run single report T/F, run multi-user T/F, run multi report T/F, and single user iterations count." + echo "Example: ./rollout.sh 100 false false 5 true true true true true true true true true 1 exasol" + exit 1 +fi + +if [ "$VERSION" == "exasol" ]; then + if [ "$SERVER_CERTIFICATE" == "" ]; then + echo "You need the servers certificate fingerprint to run exasol." + echo "Execute the following command to get the current certificate fingerprint:" + echo "./EXAplus-7.1.2/exaplus -c localhost/$SERVER_CERTIFICATE:8563 -u sys -p exasol" + exit 1 + fi +fi + +QUIET=$5 + +create_directories() +{ + if [ ! -d $LOCAL_PWD/log ]; then + echo "Creating log directory" + mkdir $LOCAL_PWD/log + fi +} + +create_directories + +echo "GEN_DATA_SCALE: $GEN_DATA_SCALE" +echo "EXPLAIN_ANALYZE: $EXPLAIN_ANALYZE" +echo "RANDOM_DISTRIBUTION: $RANDOM_DISTRIBUTION" +echo "MULTI_USER_COUNT: $MULTI_USER_COUNT" +echo "RUN_COMPILE_TPCH: $RUN_COMPILE_TPCH" +echo "RUN_GEN_DATA: $RUN_GEN_DATA" +echo "RUN_INIT: $RUN_INIT" +echo "RUN_DDL: $RUN_DDL" +echo "RUN_LOAD: $RUN_LOAD" +echo "RUN_SQL: $RUN_SQL" +echo "SINGLE_USER_ITERATIONS: $SINGLE_USER_ITERATIONS" +echo "RUN_SINGLE_USER_REPORT: $RUN_SINGLE_USER_REPORT" +echo "RUN_MULTI_USER: $RUN_MULTI_USER" +echo "RUN_MULTI_USER_REPORT: $RUN_MULTI_USER_REPORT" +echo "############################################################################" +echo "" +if [ "$RUN_COMPILE_TPCH" == "true" ]; then + rm -f $PWD/log/end_compile_tpch.log +fi +if [ "$RUN_GEN_DATA" == "true" ]; then + rm -f $PWD/log/end_gen_data.log +fi +if [ "$RUN_INIT" == "true" ]; then + rm -f $PWD/log/end_init.log +fi +if [ "$RUN_DDL" == "true" ]; then + rm -f $PWD/log/end_ddl.log +fi +if [ "$RUN_LOAD" == "true" ]; then + rm -f $PWD/log/end_load.log +fi +if [ "$RUN_SQL" == "true" ]; then + rm -f $PWD/log/end_sql.log +fi +if [ "$RUN_SINGLE_USER_REPORT" == "true" ]; then + rm -f $PWD/log/end_single_user_reports.log +fi +if [ "$RUN_MULTI_USER" == "true" ]; then + rm -f $PWD/log/end_testing_*.log +fi +if [ "$RUN_MULTI_USER_REPORT" == "true" ]; then + rm -f $PWD/log/end_multi_user_reports.log +fi + +#get_version +echo "version is $VERSION" +if [ "$VERSION" == "exasol" ]; then + source install_exaplus.sh +fi + +if [ "$RUN_COMPILE_TPCH" == "true" ]; then + rm -f $PWD/log/end_compile_tpch.log + 00_compile_tpch/rollout_compile.sh $GEN_DATA_SCALE $EXPLAIN_ANALYZE $RANDOM_DISTRIBUTION $MULTI_USER_COUNT $SINGLE_USER_ITERATIONS $VERSION +fi +if [ "$RUN_GEN_DATA" == "true" ]; then + rm -f $PWD/log/end_gen_data.log + 01_gen_data/rollout_gen_data.sh $GEN_DATA_SCALE $EXPLAIN_ANALYZE $RANDOM_DISTRIBUTION $MULTI_USER_COUNT $SINGLE_USER_ITERATIONS $VERSION +fi +# if [ "$RUN_INIT" == "true" ]; then + # rm -f $PWD/log/end_init.log + # 02_init/rollout_init.sh $GEN_DATA_SCALE $EXPLAIN_ANALYZE $RANDOM_DISTRIBUTION $MULTI_USER_COUNT $SINGLE_USER_ITERATIONS $VERSION +# fi +if [ "$RUN_DDL" == "true" ]; then + rm -f $PWD/log/end_ddl.log + 03_ddl/rollout_ddl.sh $GEN_DATA_SCALE $EXPLAIN_ANALYZE $RANDOM_DISTRIBUTION $MULTI_USER_COUNT $SINGLE_USER_ITERATIONS $VERSION $SERVER_CERTIFICATE +fi +if [ "$RUN_LOAD" == "true" ]; then + rm -f $PWD/log/end_load.log + 04_load/rollout_load.sh $GEN_DATA_SCALE $EXPLAIN_ANALYZE $RANDOM_DISTRIBUTION $MULTI_USER_COUNT $SINGLE_USER_ITERATIONS $VERSION $SERVER_CERTIFICATE +fi + +for iteration in $(seq 1 $ITERATIONS); do + if [ "$RUN_SQL" == "true" ]; then + rm -f $PWD/log/end_sql.log + 05_sql/rollout_sql.sh $GEN_DATA_SCALE $EXPLAIN_ANALYZE $RANDOM_DISTRIBUTION $MULTI_USER_COUNT $SINGLE_USER_ITERATIONS $VERSION $SERVER_CERTIFICATE + fi + if [ "$RUN_MULTI_USER" == "true" ]; then + rm -f $PWD/log/end_testing_*.log + 07_multi_user/rollout_multiuser.sh $GEN_DATA_SCALE $EXPLAIN_ANALYZE $RANDOM_DISTRIBUTION $MULTI_USER_COUNT $SINGLE_USER_ITERATIONS $VERSION $SERVER_CERTIFICATE + fi +done + +if [ "$RUN_SINGLE_USER_REPORT" == "true" ]; then + rm -f $PWD/log/end_single_user_reports.log + 06_single_user_reports/rollout_reports.sh $GEN_DATA_SCALE $EXPLAIN_ANALYZE $RANDOM_DISTRIBUTION $MULTI_USER_COUNT $SINGLE_USER_ITERATIONS $VERSION +fi +if [ "$RUN_MULTI_USER_REPORT" == "true" ]; then + rm -f $PWD/log/end_multi_user_reports.log + #$ITERATIONS + 08_multi_user_reports/rollout_multiuser_reports.sh $GEN_DATA_SCALE $EXPLAIN_ANALYZE $RANDOM_DISTRIBUTION $MULTI_USER_COUNT $SINGLE_USER_ITERATIONS $VERSION +fi + diff --git a/tpch/start_benchmark.sh b/tpch/start_benchmark.sh new file mode 100644 index 0000000..8720def --- /dev/null +++ b/tpch/start_benchmark.sh @@ -0,0 +1,26 @@ +#!/bin/bash +set -e + +GEN_DATA_SCALE=1 +EXPLAIN_ANALYZE=true +RANDOM_DISTRIBUTION=false +MULTI_USER_COUNT=2 +RUN_COMPILE_TPCH=false +RUN_GEN_DATA=false +RUN_INIT=false +RUN_DDL=true +RUN_LOAD=true +RUN_SQL=false +RUN_SINGLE_USER_REPORT=false +RUN_MULTI_USER=false +RUN_MULTI_USER_REPORT=false +SINGLE_USER_ITERATIONS=1 +VERSION="ignite" +# Wird für exasol und cratedb benötigt. Für exasol wird ein Zertifikatsschlüssel angegeben, für cratedb der Port der Masternode. +ADDITIONAL_INFORMATION="4201" + +echo "start benchmark for exasol" + +echo "./rollout.sh 1 true false 2 false false false true true true true true true 1 exasol key 1" + +./rollout.sh 1 true false 2 true true true true true true true true true 1 exasol key 1 \ No newline at end of file diff --git a/tpch/tpch.sh b/tpch/tpch.sh new file mode 100644 index 0000000..72d9109 --- /dev/null +++ b/tpch/tpch.sh @@ -0,0 +1,275 @@ +#!/bin/bash +set -e + +PWD=$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd ) + +MYCMD="tpch.sh" +MYVAR="tpch_variables.sh" +################################################################################################################################################## +# Functions +################################################################################################################################################## +check_variables() +{ + new_variable="0" + + ### Make sure variables file is available + if [ ! -f "$PWD/$MYVAR" ]; then + touch $PWD/$MYVAR + new_variable=$(($new_variable + 1)) + fi + local count=$(grep "REPO=" $MYVAR | wc -l) + if [ "$count" -eq "0" ]; then + echo "REPO=\"TPC-H\"" >> $MYVAR + new_variable=$(($new_variable + 1)) + fi + local count=$(grep "REPO_URL=" $MYVAR | wc -l) + if [ "$count" -eq "0" ]; then + echo "REPO_URL=\"https://github.com/pivotalguru/TPC-H\"" >> $MYVAR + new_variable=$(($new_variable + 1)) + fi + local count=$(grep "ADMIN_USER=" $MYVAR | wc -l) + if [ "$count" -eq "0" ]; then + echo "ADMIN_USER=\"gpadmin\"" >> $MYVAR + new_variable=$(($new_variable + 1)) + fi + local count=$(grep "INSTALL_DIR=" $MYVAR | wc -l) + if [ "$count" -eq "0" ]; then + echo "INSTALL_DIR=\"/pivotalguru\"" >> $MYVAR + new_variable=$(($new_variable + 1)) + fi + local count=$(grep "EXPLAIN_ANALYZE=" $MYVAR | wc -l) + if [ "$count" -eq "0" ]; then + echo "EXPLAIN_ANALYZE=\"false\"" >> $MYVAR + new_variable=$(($new_variable + 1)) + fi + local count=$(grep "RANDOM_DISTRIBUTION=" $MYVAR | wc -l) + if [ "$count" -eq "0" ]; then + echo "RANDOM_DISTRIBUTION=\"false\"" >> $MYVAR + new_variable=$(($new_variable + 1)) + fi + local count=$(grep "MULTI_USER_COUNT" $MYVAR | wc -l) + if [ "$count" -eq "0" ]; then + echo "MULTI_USER_COUNT=\"5\"" >> $MYVAR + new_variable=$(($new_variable + 1)) + fi + local count=$(grep "GEN_DATA_SCALE" $MYVAR | wc -l) + if [ "$count" -eq "0" ]; then + echo "GEN_DATA_SCALE=\"3000\"" >> $MYVAR + new_variable=$(($new_variable + 1)) + fi + local count=$(grep "SINGLE_USER_ITERATIONS" $MYVAR | wc -l) + if [ "$count" -eq "0" ]; then + echo "SINGLE_USER_ITERATIONS=\"1\"" >> $MYVAR + new_variable=$(($new_variable + 1)) + fi + #00 + local count=$(grep "RUN_COMPILE_TPCH" $MYVAR | wc -l) + if [ "$count" -eq "0" ]; then + echo "RUN_COMPILE_TPCH=\"false\"" >> $MYVAR + new_variable=$(($new_variable + 1)) + fi + #01 + local count=$(grep "RUN_GEN_DATA" $MYVAR | wc -l) + if [ "$count" -eq "0" ]; then + echo "RUN_GEN_DATA=\"false\"" >> $MYVAR + new_variable=$(($new_variable + 1)) + fi + #02 + local count=$(grep "RUN_INIT" $MYVAR | wc -l) + if [ "$count" -eq "0" ]; then + echo "RUN_INIT=\"true\"" >> $MYVAR + new_variable=$(($new_variable + 1)) + fi + #03 + local count=$(grep "RUN_DDL" $MYVAR | wc -l) + if [ "$count" -eq "0" ]; then + echo "RUN_DDL=\"true\"" >> $MYVAR + new_variable=$(($new_variable + 1)) + fi + #04 + local count=$(grep "RUN_LOAD" $MYVAR | wc -l) + if [ "$count" -eq "0" ]; then + echo "RUN_LOAD=\"true\"" >> $MYVAR + new_variable=$(($new_variable + 1)) + fi + #05 + local count=$(grep "RUN_SQL" $MYVAR | wc -l) + if [ "$count" -eq "0" ]; then + echo "RUN_SQL=\"true\"" >> $MYVAR + new_variable=$(($new_variable + 1)) + fi + #06 + local count=$(grep "RUN_SINGLE_USER_REPORT" $MYVAR | wc -l) + if [ "$count" -eq "0" ]; then + echo "RUN_SINGLE_USER_REPORT=\"true\"" >> $MYVAR + new_variable=$(($new_variable + 1)) + fi + #07 + local count=$(grep "RUN_MULTI_USER" $MYVAR | wc -l) + if [ "$count" -eq "0" ]; then + echo "RUN_MULTI_USER=\"true\"" >> $MYVAR + new_variable=$(($new_variable + 1)) + fi + #08 + local count=$(grep "RUN_MULTI_USER_REPORT" $MYVAR | wc -l) + if [ "$count" -eq "0" ]; then + echo "RUN_MULTI_USER_REPORT=\"true\"" >> $MYVAR + new_variable=$(($new_variable + 1)) + fi + + if [ "$new_variable" -gt "0" ]; then + echo "There are new variables in the tpch_variables.sh file. Please review to ensure the values are correct and then re-run this script." + exit 1 + fi + echo "############################################################################" + echo "Sourcing $MYVAR" + echo "############################################################################" + echo "" + source $MYVAR +} + +check_user() +{ + ### Make sure root is executing the script. ### + echo "############################################################################" + echo "Make sure root is executing this script." + echo "############################################################################" + echo "" + local WHOAMI=`whoami` + if [ "$WHOAMI" != "root" ]; then + echo "Script must be executed as root!" + exit 1 + fi +} + +yum_installs() +{ + ### Install and Update Demos ### + echo "############################################################################" + echo "Install git and gcc with yum." + echo "############################################################################" + echo "" + # Install git and gcc if not found + local YUM_INSTALLED=$(yum --help 2> /dev/null | wc -l) + local CURL_INSTALLED=$(gcc --help 2> /dev/null | wc -l) + local GIT_INSTALLED=$(git --help 2> /dev/null | wc -l) + + if [ "$YUM_INSTALLED" -gt "0" ]; then + if [ "$CURL_INSTALLED" -eq "0" ]; then + yum -y install gcc + fi + if [ "$GIT_INSTALLED" -eq "0" ]; then + yum -y install git + fi + else + if [ "$CURL_INSTALLED" -eq "0" ]; then + echo "gcc not installed and yum not found to install it." + echo "Please install gcc and try again." + exit 1 + fi + if [ "$GIT_INSTALLED" -eq "0" ]; then + echo "git not installed and yum not found to install it." + echo "Please install git and try again." + exit 1 + fi + fi + echo "" +} + +repo_init() +{ + ### Install repo ### + echo "############################################################################" + echo "Install the github repository." + echo "############################################################################" + echo "" + + internet_down="0" + for j in $(curl google.com 2>&1 | grep "Couldn't resolve host"); do + internet_down="1" + done + + if [ ! -d $INSTALL_DIR ]; then + if [ "$internet_down" -eq "1" ]; then + echo "Unable to continue because repo hasn't been downloaded and Internet is not available." + exit 1 + else + echo "" + echo "Creating install dir" + echo "-------------------------------------------------------------------------" + mkdir $INSTALL_DIR + chown $ADMIN_USER $INSTALL_DIR + fi + fi + + if [ ! -d $INSTALL_DIR/$REPO ]; then + if [ "$internet_down" -eq "1" ]; then + echo "Unable to continue because repo hasn't been downloaded and Internet is not available." + exit 1 + else + echo "" + echo "Creating $REPO directory" + echo "-------------------------------------------------------------------------" + mkdir $INSTALL_DIR/$REPO + chown $ADMIN_USER $INSTALL_DIR/$REPO + su -c "cd $INSTALL_DIR; GIT_SSL_NO_VERIFY=true; git clone --depth=1 $REPO_URL" $ADMIN_USER + fi + else + chown -R $ADMIN_USER $INSTALL_DIR/$REPO + if [ "$internet_down" -eq "0" ]; then + git config --global user.email "$ADMIN_USER@$HOSTNAME" + git config --global user.name "$ADMIN_USER" + su -c "cd $INSTALL_DIR/$REPO; GIT_SSL_NO_VERIFY=true; git fetch --all; git reset --hard origin/master" $ADMIN_USER + fi + fi +} + +script_check() +{ + ### Make sure the repo doesn't have a newer version of this script. ### + echo "############################################################################" + echo "Make sure this script is up to date." + echo "############################################################################" + echo "" + # Must be executed after the repo has been pulled + local d=`diff $PWD/$MYCMD $INSTALL_DIR/$REPO/$MYCMD | wc -l` + + if [ "$d" -eq "0" ]; then + echo "$MYCMD script is up to date so continuing to TPC-H." + echo "" + else + echo "$MYCMD script is NOT up to date." + echo "" + cp $INSTALL_DIR/$REPO/$MYCMD $PWD/$MYCMD + echo "After this script completes, restart the $MYCMD with this command:" + echo "./$MYCMD" + exit 1 + fi + +} + +echo_variables() +{ + echo "############################################################################" + echo "REPO: $REPO" + echo "REPO_URL: $REPO_URL" + echo "ADMIN_USER: $ADMIN_USER" + echo "INSTALL_DIR: $INSTALL_DIR" + echo "MULTI_USER_COUNT: $MULTI_USER_COUNT" + echo "############################################################################" + echo "" +} + +################################################################################################################################################## +# Body +################################################################################################################################################## + +check_user +check_variables +yum_installs +repo_init +script_check +echo_variables + +su --session-command="cd \"$INSTALL_DIR/$REPO\"; ./rollout.sh $GEN_DATA_SCALE $EXPLAIN_ANALYZE $RANDOM_DISTRIBUTION $MULTI_USER_COUNT $RUN_COMPILE_TPCH $RUN_GEN_DATA $RUN_INIT $RUN_DDL $RUN_LOAD $RUN_SQL $RUN_SINGLE_USER_REPORT $RUN_MULTI_USER $RUN_MULTI_USER_REPORT $SINGLE_USER_ITERATIONS" $ADMIN_USER +