7c84e8a4a94f1004c6041ffa4895bf79a306efdf
service-dat/fab-PCB-dat/PCB-fab-dat/PCB-batch-production-dat.md
... | ... | @@ -1,5 +0,0 @@ |
1 | - |
|
2 | -# PCB batch production dat |
|
3 | - |
|
4 | -== PCB Production Cost List == |
|
5 | - |
service-dat/fab-PCB-dat/PCB-fab-dat/PCB-common-error-dat.md
... | ... | @@ -1,6 +1,9 @@ |
1 | 1 | |
2 | 2 | # PCB common error dat |
3 | 3 | |
4 | -### no stop mask |
|
4 | +- [[PCB-format-dat]] |
|
5 | + |
|
6 | + |
|
7 | +### missing layer for production: no stop mask |
|
5 | 8 | |
6 | 9 | ![](35-10-14-18-07-2023.png) |
... | ... | \ No newline at end of file |
service-dat/fab-PCB-dat/PCB-fab-dat/PCB-fab-dat.md
... | ... | @@ -0,0 +1,125 @@ |
1 | + |
|
2 | +# PCB Service Dat |
|
3 | + |
|
4 | +- [[PCB-standards-dat]] |
|
5 | + |
|
6 | +## Manufacturing capability |
|
7 | +Please adapte this to your own "DRC(Design Rule Check)" tool, to make sure your board reach the manufacturing limits.<br /> |
|
8 | + |
|
9 | +### Common-Used Design Ruled DRC |
|
10 | + |
|
11 | +| Name | Min. inch (mm) | Max. | Eagle CAD Default | |
|
12 | +| ----------------------------------- | ------------------- | ------------------ | ----------------- | |
|
13 | +| Trace Width/Spacing | 6/6 mils (0.15 mm) | - | 10/8 mils | |
|
14 | +| Via/Hole Spacing | 6 mils (0.15 mm) | - | 8 mils | |
|
15 | +| Drilling hole (vias) | 10 mils (0.25 mm) * | 250 mils (6.35 mm) | Sizes 24 mils | |
|
16 | +| Min. stop mask | 4 mils (0.1 mm) | - | Masks 4 mils | |
|
17 | +| Min. copper/trace to ground spacing | 8 mils (0.2 mm) | - | 40 mils | |
|
18 | + |
|
19 | + |
|
20 | +### Note |
|
21 | +* Minimum milling width of grooves is 0.8mm |
|
22 | +* A lot numbers of vias may cost extra |
|
23 | +* Dimension: Any irregular shape should be treated as a rectangular, with maximum size. |
|
24 | +* Board test: fully tested by fly probes. |
|
25 | + |
|
26 | +### Other Manufacturing Limits |
|
27 | + |
|
28 | +| Type | Specs | Note | |
|
29 | +| -------------------------------- | -------------------------------------- | ------------------------------------ | |
|
30 | +| PCB Type | FR-4 from KB company | - | |
|
31 | +| Maximum size | 1200mm X1200mm | more than 550mm prices will increase | |
|
32 | +| Dimensions accuracy of board | ± 0.2mm | - | |
|
33 | +| Thickness range | 0.40~3mm | - | |
|
34 | +| Thickness tolerance | ±10% | - | |
|
35 | +| Dielectric thickness | 0.075 - 5.00mm | - | |
|
36 | +| Copper thickness | 17um - 100um | default 1OZ 35um, 0.035mm | |
|
37 | +| Drilling Hole | 0.3mm - 6.30mm | - | |
|
38 | +| Drilling Hole Tolerances | 0.08mm | - | |
|
39 | +| Drilling Hole position tolerance | 0.09mm | - | |
|
40 | +| Pour hypotenuse | 30~60 ° | - | |
|
41 | +| Color | red, blue, green, white, yellow, black | default green\|- | |
|
42 | +| Soldering Pads Plating | HASL, ROSH (lead-free), ENIG | | |
|
43 | + |
|
44 | + |
|
45 | +#### Half-Hole/Impedance |
|
46 | +- Half-Hole + $20, if you need this please contact first or write note in order. |
|
47 | +- Impedance + $60 |
|
48 | + |
|
49 | +### What do not support |
|
50 | +* Four layers boards |
|
51 | +* Blind holes (not through holes). |
|
52 | + |
|
53 | + |
|
54 | + |
|
55 | + |
|
56 | +### Extra PCB Technics |
|
57 | + |
|
58 | +| Type | Description | Category | |
|
59 | +| ---------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------- | |
|
60 | +| Lead free ROHS | free for samples, extra cost for batch production | Soldering Pads Plate Technic | |
|
61 | +| ENIG | Gold immersion on pads, better look, better soldering, etc | Soldering Pads Plate Technic | |
|
62 | +| Faster PCB in 30 Hours | PCB Manufacturing will be finished in one and half day, not including shipping and handing time. Cost is 42 USD. Can not with ENIG service. | Express PCB | |
|
63 | +| Faster PCB in 53 Hours | PCB Manufacturing will be finished in two and half day, not including shipping and handing time. Cost is 21 USD. | Express PCB | |
|
64 | +| 2oz copper thickness | Get better heat dissipation for your board, example like A4988 board. | - | |
|
65 | +| Board thickness | Free from 0.6 till 1.6 mm, extra cost need for 0.4 and 2.0 mm thickness. (available thickness 0.4 0.6 0.8 1.0 1.2 1.6 2.0) | - | |
|
66 | + |
|
67 | + |
|
68 | +### Order Check List |
|
69 | + |
|
70 | +- layer: 1, 2, 4, 6, 8 |
|
71 | +- Output Type: Single, Continious(As file), Countinious (By our engineer) |
|
72 | +- Size: ? x ? mm |
|
73 | +- Quantity: ? pcs |
|
74 | +- Technic Edge (If single, or penalized by us) : ? mm, up/bottom, left/right, all, none |
|
75 | +- Penalize Rules (If penalized by us): ? x ? pcs |
|
76 | +- Thickness: 0.6, 0.8, 1.0, 1.2, 1.6, 2.0 (+100), 2.5 (N/A now) |
|
77 | +- Copper Thickness: 1oz, 2oz |
|
78 | +- Min. Trace Width/Spacing: 6/6 mil, 5/5 mil (+15), 4/4 mil (+65), 3/3 mil (N/A now) |
|
79 | +- Min. Drill: 0.3 mm, 0.25 mm (+30), 0.2 mm (+30), |
|
80 | +- Stop Mask Color: Green, Blue, Red, Yellow, Black, Near-Black, White |
|
81 | +- Character Color: White, Black |
|
82 | +- Stop-mask Cover: Vias covered, Vias not covered, If gerber files defined then follow gerber! |
|
83 | +- Solder Pads Plate: Lead, Lead Free (+30), Gold Plated (+100) |
|
84 | +- Test Numbers: 0, |
|
85 | +- Test Method: Sample Free, |
|
86 | +- Half-hole: None Default, Yes |
|
87 | +- Impedence: None Default, Yes |
|
88 | + |
|
89 | + |
|
90 | + |
|
91 | + |
|
92 | +### FAQ |
|
93 | + |
|
94 | +##### Stop Mask on the Vias? |
|
95 | +Yes, stop mask will cover the vias, but not the pads, please be aware on this point. |
|
96 | + |
|
97 | +##### What is dimension requirement of Drilling? |
|
98 | +- Drilling as not padding diameter range from 0.3 mm to infinity |
|
99 | +- Drilling as pads diameter range from 0.3 mm to 6mm |
|
100 | +- Drill shape doesn't not support rectangular, most of other shape are no problem. |
|
101 | +- |
|
102 | +##### What is the price for different board thickness? |
|
103 | +For 0.8 - 1.6 mm thickness board, the price is default, without this arrange there will be an extra charge. |
|
104 | + |
|
105 | +##### What is the price for board over size 10*10 CM |
|
106 | +Please contact us to get a quote. |
|
107 | + |
|
108 | +##### What is lead time of this service |
|
109 | +For 5*5 cm and 10*10 cm sample PCBs, the lead time is 4-6 days that not including Sunday. For more than 50pcs 10*10 cm batch or similar to that, we will have 2-3 days extra for production. |
|
110 | + |
|
111 | + |
|
112 | + |
|
113 | + |
|
114 | +== PCB Production Cost List == |
|
115 | + |
|
116 | + |
|
117 | + |
|
118 | + |
|
119 | +## ref |
|
120 | + |
|
121 | +- [[PCB-penalization-dat]] |
|
122 | +- [[PCB-common-error-dat]] |
|
123 | +- [[fab-PCB-dat/PCB-service-dat]] |
|
124 | +- [[gerber-tutorial-dat]] |
|
125 | + |
service-dat/fab-PCB-dat/PCB-fab-dat/PCB-format-dat/2024-07-31-17-27-05.png
... | ... | Binary files /dev/null and b/service-dat/fab-PCB-dat/PCB-fab-dat/PCB-format-dat/2024-07-31-17-27-05.png differ |
service-dat/fab-PCB-dat/PCB-fab-dat/PCB-format-dat/PCB-format-dat.md
... | ... | @@ -0,0 +1,11 @@ |
1 | + |
|
2 | +# PCB-format-dat |
|
3 | + |
|
4 | +## Common gerber files for (in a .zip) |
|
5 | + |
|
6 | +![](2024-07-31-17-27-05.png) |
|
7 | + |
|
8 | + |
|
9 | + |
|
10 | + |
|
11 | +- [[PCB-format]] |
|
... | ... | \ No newline at end of file |
service-dat/fab-PCB-dat/PCB-fab-dat/PCB-penalization-dat/PCB-penalization-dat/56-08-14-18-07-2023.png
... | ... | Binary files /dev/null and b/service-dat/fab-PCB-dat/PCB-fab-dat/PCB-penalization-dat/PCB-penalization-dat/56-08-14-18-07-2023.png differ |
service-dat/fab-PCB-dat/PCB-fab-dat/PCB-penalization-dat/PCB-penalization-dat/PCB-penalization-dat.md
... | ... | @@ -0,0 +1,13 @@ |
1 | +# Penalization |
|
2 | + |
|
3 | + |
|
4 | + |
|
5 | +## methods |
|
6 | + |
|
7 | + |
|
8 | + |
|
9 | +#### Castellated holes |
|
10 | + |
|
11 | +Castellated holes, please make sure your board are designed correctly: Place holes, add V-cuts, etc |
|
12 | + |
|
13 | +![](56-08-14-18-07-2023.png) |
|
... | ... | \ No newline at end of file |
service-dat/fab-PCB-dat/PCB-fab-dat/PCB-penalization-dat/penalization-dat.md
... | ... | @@ -0,0 +1,18 @@ |
1 | + |
|
2 | +# penalization-dat |
|
3 | + |
|
4 | + |
|
5 | +## ref |
|
6 | + |
|
7 | +- [[stamp-holes-dat]] |
|
8 | + |
|
9 | +- [[拼板]] |
|
10 | + |
|
11 | + |
|
12 | + |
|
13 | + |
|
14 | + |
|
15 | +## obseleted |
|
16 | + |
|
17 | +* [http://dl.electrodragon.com/k/index.php?share/file&user=1&sid=wsIZnGKW 1. Eagle penalize and export gerber file] |
|
18 | +* [http://dl.electrodragon.com/k/index.php?share/file&user=1&sid=eKTRh7b3 2. detailed panelized tutorial] |
service-dat/fab-PCB-dat/PCB-fab-dat/PCB-service-dat.md
... | ... | @@ -1,113 +0,0 @@ |
1 | - |
|
2 | -# PCB Service Dat |
|
3 | - |
|
4 | - |
|
5 | -## Manufacturing capability |
|
6 | -Please adapte this to your own "DRC(Design Rule Check)" tool, to make sure your board reach the manufacturing limits.<br /> |
|
7 | - |
|
8 | -### Common-Used Design Ruled DRC |
|
9 | - |
|
10 | -| Name | Min. inch (mm) | Max. | Eagle CAD Default | |
|
11 | -| ----------------------------------- | ------------------- | ------------------ | ----------------- | |
|
12 | -| Trace Width/Spacing | 6/6 mils (0.15 mm) | - | 10/8 mils | |
|
13 | -| Via/Hole Spacing | 6 mils (0.15 mm) | - | 8 mils | |
|
14 | -| Drilling hole (vias) | 10 mils (0.25 mm) * | 250 mils (6.35 mm) | Sizes 24 mils | |
|
15 | -| Min. stop mask | 4 mils (0.1 mm) | - | Masks 4 mils | |
|
16 | -| Min. copper/trace to ground spacing | 8 mils (0.2 mm) | - | 40 mils | |
|
17 | - |
|
18 | - |
|
19 | -### Note |
|
20 | -* Minimum milling width of grooves is 0.8mm |
|
21 | -* A lot numbers of vias may cost extra |
|
22 | -* Dimension: Any irregular shape should be treated as a rectangular, with maximum size. |
|
23 | -* Board test: fully tested by fly probes. |
|
24 | - |
|
25 | -### Other Manufacturing Limits |
|
26 | - |
|
27 | -| Type | Specs | Note | |
|
28 | -| -------------------------------- | -------------------------------------- | ------------------------------------ | |
|
29 | -| PCB Type | FR-4 from KB company | - | |
|
30 | -| Maximum size | 1200mm X1200mm | more than 550mm prices will increase | |
|
31 | -| Dimensions accuracy of board | ± 0.2mm | - | |
|
32 | -| Thickness range | 0.40~3mm | - | |
|
33 | -| Thickness tolerance | ±10% | - | |
|
34 | -| Dielectric thickness | 0.075 - 5.00mm | - | |
|
35 | -| Copper thickness | 17um - 100um | default 1OZ 35um, 0.035mm | |
|
36 | -| Drilling Hole | 0.3mm - 6.30mm | - | |
|
37 | -| Drilling Hole Tolerances | 0.08mm | - | |
|
38 | -| Drilling Hole position tolerance | 0.09mm | - | |
|
39 | -| Pour hypotenuse | 30~60 ° | - | |
|
40 | -| Color | red, blue, green, white, yellow, black | default green\|- | |
|
41 | -| Soldering Pads Plating | HASL, ROSH (lead-free), ENIG | | |
|
42 | - |
|
43 | - |
|
44 | -#### Half-Hole/Impedance |
|
45 | -- Half-Hole + $20, if you need this please contact first or write note in order. |
|
46 | -- Impedance + $60 |
|
47 | - |
|
48 | -### What do not support |
|
49 | -* Four layers boards |
|
50 | -* Blind holes (not through holes). |
|
51 | - |
|
52 | - |
|
53 | - |
|
54 | - |
|
55 | -### Extra PCB Technics |
|
56 | - |
|
57 | -| Type | Description | Category | |
|
58 | -| ---------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------- | |
|
59 | -| Lead free ROHS | free for samples, extra cost for batch production | Soldering Pads Plate Technic | |
|
60 | -| ENIG | Gold immersion on pads, better look, better soldering, etc | Soldering Pads Plate Technic | |
|
61 | -| Faster PCB in 30 Hours | PCB Manufacturing will be finished in one and half day, not including shipping and handing time. Cost is 42 USD. Can not with ENIG service. | Express PCB | |
|
62 | -| Faster PCB in 53 Hours | PCB Manufacturing will be finished in two and half day, not including shipping and handing time. Cost is 21 USD. | Express PCB | |
|
63 | -| 2oz copper thickness | Get better heat dissipation for your board, example like A4988 board. | - | |
|
64 | -| Board thickness | Free from 0.6 till 1.6 mm, extra cost need for 0.4 and 2.0 mm thickness. (available thickness 0.4 0.6 0.8 1.0 1.2 1.6 2.0) | - | |
|
65 | - |
|
66 | - |
|
67 | -### Order Check List |
|
68 | - |
|
69 | -- layer: 1, 2, 4, 6, 8 |
|
70 | -- Output Type: Single, Continious(As file), Countinious (By our engineer) |
|
71 | -- Size: ? x ? mm |
|
72 | -- Quantity: ? pcs |
|
73 | -- Technic Edge (If single, or penalized by us) : ? mm, up/bottom, left/right, all, none |
|
74 | -- Penalize Rules (If penalized by us): ? x ? pcs |
|
75 | -- Thickness: 0.6, 0.8, 1.0, 1.2, 1.6, 2.0 (+100), 2.5 (N/A now) |
|
76 | -- Copper Thickness: 1oz, 2oz |
|
77 | -- Min. Trace Width/Spacing: 6/6 mil, 5/5 mil (+15), 4/4 mil (+65), 3/3 mil (N/A now) |
|
78 | -- Min. Drill: 0.3 mm, 0.25 mm (+30), 0.2 mm (+30), |
|
79 | -- Stop Mask Color: Green, Blue, Red, Yellow, Black, Near-Black, White |
|
80 | -- Character Color: White, Black |
|
81 | -- Stop-mask Cover: Vias covered, Vias not covered, If gerber files defined then follow gerber! |
|
82 | -- Solder Pads Plate: Lead, Lead Free (+30), Gold Plated (+100) |
|
83 | -- Test Numbers: 0, |
|
84 | -- Test Method: Sample Free, |
|
85 | -- Half-hole: None Default, Yes |
|
86 | -- Impedence: None Default, Yes |
|
87 | - |
|
88 | - |
|
89 | - |
|
90 | - |
|
91 | -### FAQ |
|
92 | -##### Stop Mask on the Vias? |
|
93 | -Yes, stop mask will cover the vias, but not the pads, please be aware on this point. |
|
94 | -##### What is dimension requirement of Drilling? |
|
95 | -- Drilling as not padding diameter range from 0.3 mm to infinity |
|
96 | -- Drilling as pads diameter range from 0.3 mm to 6mm |
|
97 | -- Drill shape doesn't not support rectangular, most of other shape are no problem. |
|
98 | -##### What is the price for different board thickness? |
|
99 | -For 0.8 - 1.6 mm thickness board, the price is default, without this arrange there will be an extra charge. |
|
100 | -##### What is the price for board over size 10*10 CM |
|
101 | -Please contact us to get a quote. |
|
102 | -##### What is lead time of this service |
|
103 | -For 5*5 cm and 10*10 cm sample PCBs, the lead time is 4-6 days that not including Sunday. For more than 50pcs 10*10 cm batch or similar to that, we will have 2-3 days extra for production. |
|
104 | - |
|
105 | - |
|
106 | - |
|
107 | -## ref |
|
108 | - |
|
109 | -- [[PCB-penalization-dat]] |
|
110 | -- [[PCB-common-error-dat]] |
|
111 | -- [[PCB-batch-production-dat]] |
|
112 | -- [[gerber-tutorial-dat]] |
|
113 | - |
service-dat/fab-PCB-dat/PCB-fab-dat/PCB-standards-dat/PCB-standards-dat.md
... | ... | @@ -0,0 +1,18 @@ |
1 | + |
|
2 | +# PCB-standards-dat |
|
3 | + |
|
4 | +- 8 mil = 0.2 mm |
|
5 | +- 10 mil = 0.25 mm (common used) |
|
6 | +- 12 mil = 0.3048 mm |
|
7 | +- 14 mil = 0.3556 mm |
|
8 | + |
|
9 | +| category | Standards | 0.2 mm | 10 mil | Note. CN | |
|
10 | +| --------- | ---------------------- | -------------- | ------ | -------- | |
|
11 | +| clearance | Wire -> Wire, Pad, Via | 0.2 mm | | | |
|
12 | +| clearance | Wire -> edge | 0.2 mm | | | |
|
13 | +| Size | Signal Width | 0.2 mm | | | |
|
14 | +| Size | Minimum Drill | 0.25 mm | | | |
|
15 | +| Miscs. | roundness | 0.15 mm @ 100% | | | |
|
16 | +| Miscs. | Mask | 0.1mm @ 100% | | | |
|
17 | +| Misc. | Min. Diameter | | | | |
|
18 | +| Misc. | Annular Ring | | | | |
|
... | ... | \ No newline at end of file |
service-dat/fab-PCB-dat/PCB-fab-dat/gerber-tutorial-dat.md
... | ... | @@ -1,6 +0,0 @@ |
1 | - |
|
2 | -# gerber tutorial dat |
|
3 | - |
|
4 | -* [http://dl.electrodragon.com/k/index.php?share/file&user=1&sid=wsIZnGKW 1. Eagle penalize and export gerber file] |
|
5 | -* [http://dl.electrodragon.com/k/index.php?share/file&user=1&sid=eKTRh7b3 2. detailed panelized tutorial] |
|
6 | - |
service-dat/fab-PCB-dat/PCB-service-dat.md
... | ... | @@ -0,0 +1,6 @@ |
1 | + |
|
2 | +# PCB batch production dat |
|
3 | + |
|
4 | +- [[PCB-fab-dat]] |
|
5 | + |
|
6 | +- [[PCBA-fab-dat]] |
|
... | ... | \ No newline at end of file |
service-dat/fab-PCB-dat/PCB-standards-dat/PCB-standards-dat.md
... | ... | @@ -1,18 +0,0 @@ |
1 | - |
|
2 | -# PCB-standards-dat |
|
3 | - |
|
4 | -- 8 mil = 0.2 mm |
|
5 | -- 10 mil = 0.25 mm (common used) |
|
6 | -- 12 mil = 0.3048 mm |
|
7 | -- 14 mil = 0.3556 mm |
|
8 | - |
|
9 | -| category | Standards | 0.2 mm | 10 mil | Note. CN | |
|
10 | -| --------- | ---------------------- | -------------- | ------ | -------- | |
|
11 | -| clearance | Wire -> Wire, Pad, Via | 0.2 mm | | | |
|
12 | -| clearance | Wire -> edge | 0.2 mm | | | |
|
13 | -| Size | Signal Width | 0.2 mm | | | |
|
14 | -| Size | Minimum Drill | 0.25 mm | | | |
|
15 | -| Miscs. | roundness | 0.15 mm @ 100% | | | |
|
16 | -| Miscs. | Mask | 0.1mm @ 100% | | | |
|
17 | -| Misc. | Min. Diameter | | | | |
|
18 | -| Misc. | Annular Ring | | | | |
|
... | ... | \ No newline at end of file |
service-dat/fab-PCB-dat/PCBA-fab-dat/2024-07-31-17-26-21.png
... | ... | Binary files /dev/null and b/service-dat/fab-PCB-dat/PCBA-fab-dat/2024-07-31-17-26-21.png differ |
service-dat/fab-PCB-dat/PCBA-fab-dat/PCBA-dat.md
... | ... | @@ -0,0 +1,18 @@ |
1 | + |
|
2 | +# PCBA-dat |
|
3 | + |
|
4 | + |
|
5 | + |
|
6 | + |
|
7 | +## PCBA |
|
8 | + |
|
9 | +- include extra assembly, files |
|
10 | + |
|
11 | +![](2024-07-31-17-26-21.png) |
|
12 | + |
|
13 | + |
|
14 | +## PCBA Design |
|
15 | + |
|
16 | +- [[PCB-service-dat]] |
|
17 | + |
|
18 | +- [[penalization-dat]] - [[EDA-dat]] |
|
... | ... | \ No newline at end of file |
service-dat/fab-PCBA-dat/PCBA-dat.md
... | ... | @@ -1,9 +0,0 @@ |
1 | - |
|
2 | -# PCBA-dat |
|
3 | - |
|
4 | - |
|
5 | -## PCBA Design |
|
6 | - |
|
7 | -- [[PCB-service-dat]] |
|
8 | - |
|
9 | -- [[penalization-dat]] - [[EDA-dat]] |
|
... | ... | \ No newline at end of file |
service-dat/fab-PCBA-dat/penalization-dat/PCB-penalization-dat/56-08-14-18-07-2023.png
... | ... | Binary files a/service-dat/fab-PCBA-dat/penalization-dat/PCB-penalization-dat/56-08-14-18-07-2023.png and /dev/null differ |
service-dat/fab-PCBA-dat/penalization-dat/PCB-penalization-dat/PCB-penalization-dat.md
... | ... | @@ -1,13 +0,0 @@ |
1 | -# Penalization |
|
2 | - |
|
3 | - |
|
4 | - |
|
5 | -## methods |
|
6 | - |
|
7 | - |
|
8 | - |
|
9 | -#### Castellated holes |
|
10 | - |
|
11 | -Castellated holes, please make sure your board are designed correctly: Place holes, add V-cuts, etc |
|
12 | - |
|
13 | -![](56-08-14-18-07-2023.png) |
|
... | ... | \ No newline at end of file |
service-dat/fab-PCBA-dat/penalization-dat/penalization-dat.md
... | ... | @@ -1,6 +0,0 @@ |
1 | - |
|
2 | -# penalization-dat |
|
3 | - |
|
4 | -- [[stamp-holes-dat]] |
|
5 | - |
|
6 | -- [[拼板]] |
|
... | ... | \ No newline at end of file |