2005garnetGT Posted October 15, 2007 Author Share Posted October 15, 2007 I was working on it until 3am the night before they left, we ruled out every common cause of hot-start problems. weirdest thing was that it idled at -10in/hg instead of -20, but there were no leaks, we checked 3 times Link to comment Share on other sites More sharing options...
bugblatterbeast Posted October 15, 2007 Share Posted October 15, 2007 what cams were you running? with 272s in and out we idle at 10-14 inHg (at 1200 rpm) Link to comment Share on other sites More sharing options...
2005garnetGT Posted October 15, 2007 Author Share Posted October 15, 2007 do 272s lope at all? I suspected that it had cams but with no detectable lope I reconsidered. the head was rebuilt, I suspect the balance shaft belt went and took the timing belt with it, thats why it had ARP headstuds, 3 angle valve job, and a whole list of other crap Link to comment Share on other sites More sharing options...
bugblatterbeast Posted October 15, 2007 Share Posted October 15, 2007 they are a bit lumpy. Link to comment Share on other sites More sharing options...
BlackHole Posted October 15, 2007 Share Posted October 15, 2007 I was just getting ready to write a response to bugblatterbeast about different strategies that I use to control boost, but apparently you don't think it's worthwhile. Well, I'd certainly be very interested as I will freely admit I don't understand boost control on Subies. I'm still learning - it's very different from the DSM days where I'd just run a ball-and-spring boost controller and be done with it. Kyle "BlackHole" Link to comment Share on other sites More sharing options...
rc0032 Posted October 15, 2007 Share Posted October 15, 2007 no, I steal their old-ass documents. yes, I go to drexel. That explains a lot Phily sucks :lol: reminder to read later Link to comment Share on other sites More sharing options...
ultimakf7 Posted October 15, 2007 Share Posted October 15, 2007 one of the closed loop poles shifted to the RHP because of the lack of mass in the system when on the dyno (best guess right now). I now use different boost control strategies for road and dyno use...... yea... one of the disparities between road and dyno tuning is that there isn't a "real" continuous load on the vehicle (for dynojets). Once you overcome the initial inertia (transient loading).. the amount of force it takes to spin the drum is quite a bit smaller than being on the road. Link to comment Share on other sites More sharing options...
ultimakf7 Posted October 15, 2007 Share Posted October 15, 2007 That explains a lot Phily sucks :lol: reminder to read later don't hate... Link to comment Share on other sites More sharing options...
ultimakf7 Posted October 15, 2007 Share Posted October 15, 2007 You might be able to use classic PID tuning algorithms such as "Ziegler-Nichols", "Lambda Tuning", or "Cohen-Coon" methods to quickly determine good and stable values for the proportional, integral and derivative tuning constants. You would need to have an accurate representation of the car's dynamics.. however many variables that is.... and the complexity quickly rises as you add variables to the model. This is coming from a control theory point of view. Not to say that you can't approximate a model which the car behaves. Link to comment Share on other sites More sharing options...
rc0032 Posted October 15, 2007 Share Posted October 15, 2007 don't hate... I was raised in buck I can hate all I want Link to comment Share on other sites More sharing options...
2005garnetGT Posted October 15, 2007 Author Share Posted October 15, 2007 That explains a lot Phily sucks :lol: reminder to read later hence why I yeungling which reminds me, I need more Link to comment Share on other sites More sharing options...
bugblatterbeast Posted October 17, 2007 Share Posted October 17, 2007 I originally started with Nichols method for dialing in the PID. Then I modified it a bit to make it more suitable for road tuning. This is what I came up with. Hopefully I've removed most of the formality of the method and converted it into something readily useable without losing the technical correctness of the method. Bugblatterbeast’s Subaru Boost Control Tuning Guide v1.0 This document is to be used only as a guide and not as a definitive reference. It has been cobbled together from information found on various forums, first hand tuning experience and standard tuning principals found in any modern control text. As such, this document may contain errors. If you spot one, please PM me and I’ll make corrections. Also, use this guide with caution as careless tuning can easily nuke an engine. You are ultimately responsible for making sure your tune is safe. Tuning Steps: 1) establish reasonable boost targets 2) establish open loop performance of turbocharger/engine combination 3) generate WGDC low table 4) tune turbo dynamics proportional gain table 5) tune turbo dynamics integral gain table 6) generate WGDC high table Establishing boost targets This portion of the tune is a pre-requisite to any road work. The desired boost vs rpm vs throttle table needs to be populated before the car is driven. Do not simply populate the entire table with your peak boost value. Various regions of the table use different strategies to get the desired result. At low throttle openings the boost target should be set just above atmospheric pressure. Setting unachievable boost targets here will result in the control system accumulating large values in the integrator. This will cause problems with boost control during tip-in if one is cruising at light throttle (at an engine speed above the boost threshold). At moderate throttle openings, the boost target should be raised at lower RPMs (above the boost threshold) and taper down to atmospheric pressure towards redline. This is done to keep the car from being jumpy. At full throttle, the boost targets should be set slightly above achievable boost in the spool up region. As the RPMs approach the area where peak boost is expected/desired, the targets should taper to the peak boost target. As the RPMs climb, the boost target should eventually taper. The start of the taper should correspond with the point where the turbo/engine combination begins to lose VE (either the cams or the turbo will choke things off). Do not set the part throttle boost targets too high. Boost is measured after the throttle body. Attempting to generate too much boost with a closed throttle will result in a very hot intercooler, high exhaust back pressure and possibly compressor surge. Try to avoid over-running the turbo. Turbine pressure ratios come up quite quickly when the turbo is spun too fast in an attempt to make more power. Remember that the exhaust backpressure usually comes up faster than boost on a road car. The car may be faster with less boost if the decreased charge temperatures and backpressure allow more favourable AFRs and timing. If in doubt, log flow in addition to boost. Establishing Open Loop Performance The boost control system uses open loop guesses for the WGDC in addition to feedback when controlling boost. If the initial guesses for WGDC are more accurate, less feedback is needed to control boost. This is generally desirable as the overall response of the control system will be quicker and more accurate if corrections through feedback are not needed. First, set the car up for safe pulls. This usually involves running conservative AFRs and timing. Also, keep the boost cut value just above the desired targets. The following steps should establish a reasonable estimate of the OL boost performance. 1) zero the proportional control table 2) zero the integral control table 3) set WGDC low to 0 4) set WGDC high to 0 5) take a pull, logging relative pressure, RPM and WGDC 6) increment WGDC high and low by 10 7) goto step 3 After the first pull, examine the relative pressure data. If you are tuning conservatively, adjust the WG actuator pre-load till the mechanical boost is between 9-12 psi. This is a precautionary measure taken to allow the stock fail-safe system to drop the boost pressure (to the level the high det maps were adjusted for) should something go wrong. Keep in mind that the system becomes increasingly difficult to stabilize when the difference between the mechanical boost level and target boost level grows. Using a 3 port BCS helps when the difference is large. Once boost vs WGDC levels have been established for boost values up to the boost target, linear interpolation can be used to generate WGDC values for the points the WGDC low table corresponding to the points the boost target table. During spool up, much higher WGDC level can be used to help quicken the spool. Generating the WGDC Low Table The previous task will provide rough values for the WGDC low table. This step establishes a finer setting for the WGDC low table. Set the WGDC high table values ~10% higher than those in the WGDC low tables. Next, set up logging for TPS, RPM, relative pressure, turbo dynamics and WGDC. Take pulls holding the throttle at various levels corresponding to the X values of the WGDC low table. Where the car is under boosting, add to WGDC low table. Where the car is over boosting subtract from the WGDC low table. The goal is to have the car under-boost slightly or just reach the boost target. Tuning Proportional Gain This table is called Turbo Dynamics Fine Gain in Cobb’s software. Enginuity and ECUTEK call this table Proportional Gain. This table adds WGDC in proportion the boost error. I suggest starting with half the stock values and scaling up till slight overshoot is observed in the boost response. The values should then be scaled back so the boost response is slightly slower than the no overshoot setting. The slow response will be corrected later. In some cases, the end values of the table can be scaled up for faster boost response. Care must be taken to avoid instabilities while doing this. By observing the TD numbers during the boost transient, one can determine when the last couple entries in the table are active. If the end values are artificially raised to generate a non-linear proportional response, it is important to ensure that the middle section of the table is active when the peak boost target is approached. At this stage in the tuning the boost response may be slightly soft and there will be residual boost error (the integral term is still zero). Do not attempt to reduce the residual error by increasing the proportional gain. The system will become unstable before the error is driven to zero. Tuning Integral Gain The integral gain control is split into two tables. Cobb’s software labels these Coarse Gain High and Coarse Gain Low. The boost error is used to reference these tables and the values are fed to an integrator that in turn adds to the final WGDC value. Till this stage in the tune, these tables have been populated with zeros. Again, start with half the stock value and increase slowly. Observe the residual boost tracking error. If you are running high boost, drive the residual error as close to zero as possible without overshoot during the spool-up transient. If you are running lower boost and can tolerate some spiking, faster boost response can be obtained by increasing the values. Try not to exceed 5% overshoot as the resulting undershoot shortly after is uncomfortable and hampers performance. Generating the WGDC high table The WGDC high table is the saturation point for the WGDC output. Above the spool up region this table should be set a bit above the normal operating WGDC. This is a safety measure. The spool up region can have values for the WGDC high table substantially above the WGDC low table. This allows better spool-up response on hot days and low gears. Happy tuning. Thanks go out to mickeyd2005 and LBGT. Link to comment Share on other sites More sharing options...
rao Posted October 17, 2007 Share Posted October 17, 2007 Very nice Rob IF YOU CARE ABOUT YOUR CAR YOU SHOULD NEVER DRIVE IT Link to comment Share on other sites More sharing options...
ultimakf7 Posted October 17, 2007 Share Posted October 17, 2007 Good read... maybe this should become a sticky? Link to comment Share on other sites More sharing options...
LittleBlueGT Posted October 17, 2007 Share Posted October 17, 2007 Don't thank me just yet, I am still learning. I have read a few guides (and makes sense to me) to tune Integral before Proportional. (after you have the WGDC initial or low set) This is my reasoning: Integral is used to hold steady state boost. If there was no proportional then the integral should slowly allow the motor to reach boost targets. The integral gains (coarse gains) should be set appropriately to acheive target boost in second gear through top gear with minimal overshoot. FWIW I am now hitting target boost in 1st gear at around 5700 rpm! (around 22 psi). Now boost response will not be very good, and spool up will suffer til you get proportional dialed in. Proportional should then be adjusted to get proper boost response, and maximize spool, again with minimal overshoot. I hope that made sense. At any rate to adjust boost properly one NEEDS to use a logger that logs both TD values. COBB's does not right now. Enginuity's logger does. It is only by seeing what values the ECU is using in Integral and Proportional that one can manipulate it for the desired broad range boost consistency. There are other things that can be added, but not by me, at least not yet. There are little tricks and ideas that hopefully in time can be explained and better yet shown by example to help us all. Full tune of 68HTA, KSTech 73 MAF, Racer X FMIC and ID1000s................by the DataLog Mafia!!! Link to comment Share on other sites More sharing options...
bugblatterbeast Posted October 17, 2007 Share Posted October 17, 2007 I think you are referring to a modified version of the Zeigler Nichols (the one where you let the system go unstable... I might be thinking of the wrong one, it has been 10 years since I've looked at the control texts) method for tuning PID systems. It is a valid method too but one needs to use it with caution. You will get results faster using your method but a base map is needed as instabilities are easily introduced when integral gain is tuned before proportional. The inability to log TD integral is the reason I recommend tuning proportional first. When proportional is dialed in to the cusp of instability and backed out, it is usually set about right. Once the P term is dialed in the I term is pretty easy to adjust by feel and through indirect logging. With access to the TD integral logs I'd probably change the sequence. I'm guessing (haven't run the simulations yet) that you could probably stabilize the system with just the I term if you wanted Link to comment Share on other sites More sharing options...
SeeeeeYa Posted October 17, 2007 Share Posted October 17, 2007 I originally started with Nichols method for dialing in the PID. Then I modified it a bit to make it more suitable for road tuning. This is what I came up with. Hopefully I've removed most of the formality of the method and converted it into something readily useable without losing the technical correctness of the method. Bugblatterbeast’s Subaru Boost Control Tuning Guide v1.0 This document is to be used only as a guide and not as a definitive reference. It has been cobbled together from information found on various forums, first hand tuning experience and standard tuning principals found in any modern control text. As such, this document may contain errors. If you spot one, please PM me and I’ll make corrections. Also, use this guide with caution as careless tuning can easily nuke an engine. You are ultimately responsible for making sure your tune is safe. Tuning Steps: 1) establish reasonable boost targets 2) establish open loop performance of turbocharger/engine combination 3) generate WGDC low table 4) tune turbo dynamics proportional gain table 5) tune turbo dynamics integral gain table 6) generate WGDC high table Establishing boost targets This portion of the tune is a pre-requisite to any road work. The desired boost vs rpm vs throttle table needs to be populated before the car is driven. Do not simply populate the entire table with your peak boost value. Various regions of the table use different strategies to get the desired result. At low throttle openings the boost target should be set just above atmospheric pressure. Setting unachievable boost targets here will result in the control system accumulating large values in the integrator. This will cause problems with boost control during tip-in if one is cruising at light throttle (at an engine speed above the boost threshold). At moderate throttle openings, the boost target should be raised at lower RPMs (above the boost threshold) and taper down to atmospheric pressure towards redline. This is done to keep the car from being jumpy. At full throttle, the boost targets should be set slightly above achievable boost in the spool up region. As the RPMs approach the area where peak boost is expected/desired, the targets should taper to the peak boost target. As the RPMs climb, the boost target should eventually taper. The start of the taper should correspond with the point where the turbo/engine combination begins to lose VE (either the cams or the turbo will choke things off). Do not set the part throttle boost targets too high. Boost is measured after the throttle body. Attempting to generate too much boost with a closed throttle will result in a very hot intercooler, high exhaust back pressure and possibly compressor surge. Try to avoid over-running the turbo. Turbine pressure ratios come up quite quickly when the turbo is spun too fast in an attempt to make more power. Remember that the exhaust backpressure usually comes up faster than boost on a road car. The car may be faster with less boost if the decreased charge temperatures and backpressure allow more favourable AFRs and timing. If in doubt, log flow in addition to boost. Establishing Open Loop Performance The boost control system uses open loop guesses for the WGDC in addition to feedback when controlling boost. If the initial guesses for WGDC are more accurate, less feedback is needed to control boost. This is generally desirable as the overall response of the control system will be quicker and more accurate if corrections through feedback are not needed. First, set the car up for safe pulls. This usually involves running conservative AFRs and timing. Also, keep the boost cut value just above the desired targets. The following steps should establish a reasonable estimate of the OL boost performance. 1) zero the proportional control table 2) zero the integral control table 3) set WGDC low to 0 4) set WGDC high to 0 5) take a pull, logging relative pressure, RPM and WGDC 6) increment WGDC high and low by 10 7) goto step 3 After the first pull, examine the relative pressure data. If you are tuning conservatively, adjust the WG actuator pre-load till the mechanical boost is between 9-12 psi. This is a precautionary measure taken to allow the stock fail-safe system to drop the boost pressure (to the level the high det maps were adjusted for) should something go wrong. Keep in mind that the system becomes increasingly difficult to stabilize when the difference between the mechanical boost level and target boost level grows. Using a 3 port BCS helps when the difference is large. Once boost vs WGDC levels have been established for boost values up to the boost target, linear interpolation can be used to generate WGDC values for the points the WGDC low table corresponding to the points the boost target table. During spool up, much higher WGDC level can be used to help quicken the spool. Generating the WGDC Low Table The previous task will provide rough values for the WGDC low table. This step establishes a finer setting for the WGDC low table. Set the WGDC high table values ~10% higher than those in the WGDC low tables. Next, set up logging for TPS, RPM, relative pressure, turbo dynamics and WGDC. Take pulls holding the throttle at various levels corresponding to the X values of the WGDC low table. Where the car is under boosting, add to WGDC low table. Where the car is over boosting subtract from the WGDC low table. The goal is to have the car under-boost slightly or just reach the boost target. Tuning Proportional Gain This table is called Turbo Dynamics Fine Gain in Cobb’s software. Enginuity and ECUTEK call this table Proportional Gain. This table adds WGDC in proportion the boost error. I suggest starting with half the stock values and scaling up till slight overshoot is observed in the boost response. The values should then be scaled back so the boost response is slightly slower than the no overshoot setting. The slow response will be corrected later. In some cases, the end values of the table can be scaled up for faster boost response. Care must be taken to avoid instabilities while doing this. By observing the TD numbers during the boost transient, one can determine when the last couple entries in the table are active. If the end values are artificially raised to generate a non-linear proportional response, it is important to ensure that the middle section of the table is active when the peak boost target is approached. At this stage in the tuning the boost response may be slightly soft and there will be residual boost error (the integral term is still zero). Do not attempt to reduce the residual error by increasing the proportional gain. The system will become unstable before the error is driven to zero. Tuning Integral Gain The integral gain control is split into two tables. Cobb’s software labels these Coarse Gain High and Coarse Gain Low. The boost error is used to reference these tables and the values are fed to an integrator that in turn adds to the final WGDC value. Till this stage in the tune, these tables have been populated with zeros. Again, start with half the stock value and increase slowly. Observe the residual boost tracking error. If you are running high boost, drive the residual error as close to zero as possible without overshoot during the spool-up transient. If you are running lower boost and can tolerate some spiking, faster boost response can be obtained by increasing the values. Try not to exceed 5% overshoot as the resulting undershoot shortly after is uncomfortable and hampers performance. Generating the WGDC high table The WGDC high table is the saturation point for the WGDC output. Above the spool up region this table should be set a bit above the normal operating WGDC. This is a safety measure. The spool up region can have values for the WGDC high table substantially above the WGDC low table. This allows better spool-up response on hot days and low gears. Happy tuning. Thanks go out to mickeyd2005 and LBGT. bbb, I can't thank you enough for this. You too, mickeyd2005 and LBGT. If we had a separate forum for tuning this would be a stickey at the top. Correllating ST terms with enginuity and PID is what I've been searching for unsuccessfully. I was told in the past there wasn't enough interest for a separate forum on tuning..... perhaps there is now? Link to comment Share on other sites More sharing options...
Underdog Posted October 17, 2007 Share Posted October 17, 2007 Good stuff here... I'll have to dig up my control systems text and get myself up to speed. I'd love to be self-tuned at some point! The Crimson Dynamo Link to comment Share on other sites More sharing options...
LittleBlueGT Posted October 17, 2007 Share Posted October 17, 2007 I think you are referring to a modified version of the Zeigler Nichols (the one where you let the system go unstable... I might be thinking of the wrong one, it has been 10 years since I've looked at the control texts) method for tuning PID systems. It is a valid method too but one needs to use it with caution. You will get results faster using your method but a base map is needed as instabilities are easily introduced when integral gain is tuned before proportional. The inability to log TD integral is the reason I recommend tuning proportional first. When proportional is dialed in to the cusp of instability and backed out, it is usually set about right. Once the P term is dialed in the I term is pretty easy to adjust by feel and through indirect logging. With access to the TD integral logs I'd probably change the sequence. I'm guessing (haven't run the simulations yet) that you could probably stabilize the system with just the I term if you wanted That is the thing. DON'T use COBB ST to log for boost control. It just isn't complete. COBB's software also will not log above about 37 psi absolute. Full tune of 68HTA, KSTech 73 MAF, Racer X FMIC and ID1000s................by the DataLog Mafia!!! Link to comment Share on other sites More sharing options...
Legend Posted October 18, 2007 Share Posted October 18, 2007 I originally started with Nichols method for dialing in the PID. <snipped> Thanks a lot for this. I have mickey to thank for my turbo control and this helps further elucidate the process and rationale. My '05 LGT My '07 Supercharged Shelby Link to comment Share on other sites More sharing options...
ultimakf7 Posted October 18, 2007 Share Posted October 18, 2007 heh.. there seems to be a fairly decent amount of engineers on these boards... or at least members who know engineering fundamentals. Link to comment Share on other sites More sharing options...
bugblatterbeast Posted October 18, 2007 Share Posted October 18, 2007 That is the thing. DON'T use COBB ST to log for boost control. It just isn't complete. COBB's software also will not log above about 37 psi absolute. I'll have to look into that. Getting a log of the integral value would make tuning so much easier. Maybe we should contact Cobb and suggest the addition of the logging option for the next release of ST. I'm sure they are open to suggestions. Link to comment Share on other sites More sharing options...
mickeyd2005 Posted October 18, 2007 Share Posted October 18, 2007 The TD integral is the most important component of boost control. The proportional can be fairly far off and still have little impact. It takes a very small change to the integral to make a difference. I noticed that most people tune their boost using one gear (usually 3rd gear) and they control boost using the max wgdc table. That may be very easy to do, but it is not a good idea. It will restrict boost in the lower gears. The max wgdc table DOES NOT protect against overboosting in the higher gears because the engine will overboost before being clipped by the max wgdc table. I did notice that if you use a CONSTANT 10% between max wgdc and initial wgdc table that it will protect against overboosting. It was always a mystery to me how this worked, but once you log TD integral you will understand. Also, capping the WGDC by using max wgdc table takes TD out of the picture. You could put random numbers into the TD tables and it would still work because the WGDC would be clipped. Also, try to not overboost. If negative boost error is sustained, it will wind down the integral and prevent hitting target boost later. In a boost vs rpm plot of each gear, I divide the graph into two regions. One region is rpm > peak boost and the other is rpm < peak boost. In the high rpm region, the turbodynamics will behave similar to mos theoretical PID models. In the low rpm region, PID won't work normally because too much time is spent spooling the turbo. Different strategies have to be used. Here is an example of a boost response with all 5 gears. The tune is not complete but it shows how it works and how it doesn't. http://i141.photobucket.com/albums/r69/mickeyd2005/boost.jpg 5th gear - I purposefully capped boost in this gear. I had to lower boost between 2400 and 3000 rpm because my AEM intake was resonating. I notice this resonance in Legend's SPT intake in 4th gear but it shows up at a higher boost level on the AEM. Larger turbos won't have this problem. I'm going to buy a new stock filter and put my stock air box plus resonator back on and see if that helps. 4th gear - This turned out fairly nice. Boost comes up to a plateau and stays there. Very little oscillations. You need to flatten the stock TD integral slope at about 0.1 psi boost error to smooth out the oscillations in 4th gear. 3rd gear - I'm very conservative so I undershot this. You can see that I missed target boost by about 1/2 psi. 2nd gear - Same problem. I didn't wind up TD integral enough so that when TD proportional cut out, I lost too much WGDC. Notice the dip in boost at 3600 rpm. Overall, 2nd gear boost is still much better than conventional stage 2 tunes. 1st gear - There is actually a time delay in TD in 1st gear. Don't know what the triggers are. However, it doesn't really matter because we're probably traction limited here. Note that I would have hit target boost if I had started the WOT log at 1500 rpm instead of 2400 rpm. 4th gear transient - In this datalog, I started at a higher rpm and hit WOT. This is similar to driving on the freeway and accelerating to pass someone. Notice that boost climbs straight up and hits target boost and then flattens out. This is the kind of response to look for. The target boost is 17.11 psi and the fuel cut is set to 17.99 psi. Haven't hit fuel cut yet. Here are some of the different strategies that I can think of - Traditional - easy, lower performance in lower gears and transient. MBC - easy, if you have a flat boost curve like on a 20G or larger turbo, this is an option. The downside is that you have to manually adjust boost at higher altitudes. WGDC init + TD integral max - easy but time consuming. If you have real time tuning capability, this might be the ticket for you. I had trouble with using this on a large turbo though because I didn't set up the times properly. I also tuned BigHonu and Legend's boost this way but since it was done by email, I guessed at the transition points based upon several logs. Not the best but fairly good. TD integral lockup - tricky but can be done. WGDC compensation by gear - easy to tune, but somone has to modify the rom. Hybrid method - I'm working on this. Link to comment Share on other sites More sharing options...
LittleBlueGT Posted October 19, 2007 Share Posted October 19, 2007 I knew you would be posting up soon enough. All we need now is some practical experience, most people like me can understand something much better from seeing it in action and example then just talking about it. I hope this starts a new chapter in boost control, cause the technology has been at our fingertips the whole time, just need the knowledge. Thanks MickeyD! Full tune of 68HTA, KSTech 73 MAF, Racer X FMIC and ID1000s................by the DataLog Mafia!!! Link to comment Share on other sites More sharing options...
SeeeeeYa Posted October 19, 2007 Share Posted October 19, 2007 I knew you would be posting up soon enough. All we need now is some practical experience, most people like me can understand something much better from seeing it in action and example then just talking about it. I hope this starts a new chapter in boost control, cause the technology has been at our fingertips the whole time, just need the knowledge. Thanks MickeyD! BIG second on that. Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.