RE: [flexcoders] Re: AxisRenderer Error #1009: Cannot access a property or method of a null object reference
My application grew too large to pull a snippet out of as well. I began to put a sample application together but while doing so found where my error stemmed from. I got the error when the numeric data points on the chart were of values greater than 6 digits. What fixed it for me was setting the canDropLabels property of AxisRenderer to false. It appears that the values were too large so the AxisRenderer was dropping those labels, and when it tried to calculate the vertical gutters to make room for the labels, the labels that were dropped were then null, causing a null object reference error. I hope this helps you as well. From: flexcoders@yahoogroups.com [mailto:flexcod...@yahoogroups.com] On Behalf Of EddieBerman Sent: Wednesday, July 22, 2009 11:47 AM To: flexcoders@yahoogroups.com Subject: [flexcoders] Re: AxisRenderer Error #1009: Cannot access a property or method of a null object reference I have no solution for you, but have come across this problem as well. If you have a simple app that demonstrates this error, you should create a new bug on the Adobe Bug Base and attach the code. My app is too huge at this point, and I haven't yet distilled it down to a submittable size. --- In flexcoders@yahoogroups.com mailto:flexcoders%40yahoogroups.com , Chad Callahan chad.calla...@... wrote: I am using a ColumnChart with a ColumnSet of type stacked. If I switch this ColumnSet.type property to 100% then it works just as expected, but when I use the stacked type, I get the following: TypeError: Error #1009: Cannot access a property or method of a null object reference. at mx.charts::AxisRenderer/calcVerticalGutters()[C:\work\flex\dmv_automatio n\projects\datavisualisation\src\mx\charts\AxisRenderer.as:2055] at mx.charts::AxisRenderer/calcRotationAndSpacing()[C:\work\flex\dmv_automa tion\projects\datavisualisation\src\mx\charts\AxisRenderer.as:1845] at mx.charts::AxisRenderer/adjustGutters()[C:\work\flex\dmv_automation\proj ects\datavisualisation\src\mx\charts\AxisRenderer.as:1534] at mx.charts::AxisRenderer/set gutters()[C:\work\flex\dmv_automation\projects\datavisualisation\src\mx\ charts\AxisRenderer.as:836] at mx.charts.chartClasses::CartesianChart/updateAxisLayout()[C:\work\flex\d mv_automation\projects\datavisualisation\src\mx\charts\chartClasses\Cart esianChart.as:2110] at mx.charts.chartClasses::CartesianChart/updateDisplayList()[C:\work\flex\ dmv_automation\projects\datavisualisation\src\mx\charts\chartClasses\Car tesianChart.as:1366] at mx.core::UIComponent/validateDisplayList() at mx.managers::LayoutManager/validateClient() at mx.core::UIComponent/validateNow() at com.deere.jdlink.view.dashboard.pod::UltimatePod/set data()[C:\Documents and Settings\chad.callahan\My Documents\clients\deere\jdlink\repository\trunk\development\flex\src\com \deere\jdlink\view\dashboard\pod\UltimatePod.mxml:109] at spark.components::DataGroup/updateRenderer() at spark.components::DataGroup/http://www.adobe.com/2006/flex/mx/internal:: http://www.adobe.com/2006/flex/mx/internal:: itemAdded() at spark.components::DataGroup/initializeDataProvider() at spark.components::DataGroup/commitProperties() at mx.core::UIComponent/validateProperties() at mx.managers::LayoutManager/validateProperties() at mx.managers::LayoutManager/doPhasedInstantiation() at mx.managers::LayoutManager/doPhasedInstantiationCallback() Which is thrown from AxisRenderer line 2055 private function calcVerticalGutters(width:Number, leftGutter:Number, rightGutter:Number, firstLabel:ARLabelData, lastLabel:ARLabelData, adjustable:Object):Object { var labelAlignOffset:Number = this.labelAlignOffset; var axisLength:Number = width - leftGutter - rightGutter; var LS:Number = firstLabel.height * labelAlignOffset; var RS:Number = firstLabel.height * (1 - labelAlignOffset); var P1:Number = firstLabel.position; var P2:Number = 1 - lastLabel.position; ---(line 255) The error is being thrown because lastLabel is null. Can anyone think of how lastLabel could possibly be null? Thanks, Chad
[flexcoders] AxisRenderer Error #1009: Cannot access a property or method of a null object reference
I am using a ColumnChart with a ColumnSet of type stacked. If I switch this ColumnSet.type property to 100% then it works just as expected, but when I use the stacked type, I get the following: TypeError: Error #1009: Cannot access a property or method of a null object reference. at mx.charts::AxisRenderer/calcVerticalGutters()[C:\work\flex\dmv_automatio n\projects\datavisualisation\src\mx\charts\AxisRenderer.as:2055] at mx.charts::AxisRenderer/calcRotationAndSpacing()[C:\work\flex\dmv_automa tion\projects\datavisualisation\src\mx\charts\AxisRenderer.as:1845] at mx.charts::AxisRenderer/adjustGutters()[C:\work\flex\dmv_automation\proj ects\datavisualisation\src\mx\charts\AxisRenderer.as:1534] at mx.charts::AxisRenderer/set gutters()[C:\work\flex\dmv_automation\projects\datavisualisation\src\mx\ charts\AxisRenderer.as:836] at mx.charts.chartClasses::CartesianChart/updateAxisLayout()[C:\work\flex\d mv_automation\projects\datavisualisation\src\mx\charts\chartClasses\Cart esianChart.as:2110] at mx.charts.chartClasses::CartesianChart/updateDisplayList()[C:\work\flex\ dmv_automation\projects\datavisualisation\src\mx\charts\chartClasses\Car tesianChart.as:1366] at mx.core::UIComponent/validateDisplayList() at mx.managers::LayoutManager/validateClient() at mx.core::UIComponent/validateNow() at com.deere.jdlink.view.dashboard.pod::UltimatePod/set data()[C:\Documents and Settings\chad.callahan\My Documents\clients\deere\jdlink\repository\trunk\development\flex\src\com \deere\jdlink\view\dashboard\pod\UltimatePod.mxml:109] at spark.components::DataGroup/updateRenderer() at spark.components::DataGroup/http://www.adobe.com/2006/flex/mx/internal:: itemAdded() at spark.components::DataGroup/initializeDataProvider() at spark.components::DataGroup/commitProperties() at mx.core::UIComponent/validateProperties() at mx.managers::LayoutManager/validateProperties() at mx.managers::LayoutManager/doPhasedInstantiation() at mx.managers::LayoutManager/doPhasedInstantiationCallback() Which is thrown from AxisRenderer line 2055 private function calcVerticalGutters(width:Number, leftGutter:Number, rightGutter:Number, firstLabel:ARLabelData, lastLabel:ARLabelData, adjustable:Object):Object { var labelAlignOffset:Number = this.labelAlignOffset; var axisLength:Number = width - leftGutter - rightGutter; var LS:Number = firstLabel.height * labelAlignOffset; var RS:Number = firstLabel.height * (1 - labelAlignOffset); var P1:Number = firstLabel.position; var P2:Number = 1 - lastLabel.position; ---(line 255) The error is being thrown because lastLabel is null. Can anyone think of how lastLabel could possibly be null? Thanks, Chad
[flexcoders] Chart Axis Location
Hello, I am using a LineChart that has labels for the horizontal axis, but no labels for the vertical axis. I would like the labels to be displayed over top of the chart, rather than below or above of the chart. Does anyone have any good ideas on how to accomplish this? The point of this is to hide the extra space that is put around the chart to renderer the axis labels. I want my chart to take up 100% of the space it is allotted and place the axis labels on top of the chart. Thank you, Chad
RE: [flexcoders] Chart Axis Location
I'm not using titles for the chart, so those don't matter. Let's say that I have the LineChart in a Canvas and i want the chart to fill 100% of that canvas so that I don't see anything on any sides of the chart (no buffer for axis labels and such). So yes, I want the tick marks and labels to be over top of the chart (overlay). Ultimately, I'm trying to build this: http://screencast.com/t/3vz1MULH Thanks! From: flexcoders@yahoogroups.com [mailto:flexcod...@yahoogroups.com] On Behalf Of Richard Rodseth Sent: Wednesday, February 11, 2009 12:00 PM To: flexcoders@yahoogroups.com Subject: Re: [flexcoders] Chart Axis Location Do you mean that you want the title for the left vertical axis, for example, to be above the axis rather than sideways alongside it? Or do you mean that you want the horizontal axis, along with its tick marks and tick mark labels to be above the chart? The latter is easy, the former might be easiest down outside of the chart (i.e. by putting the chart on a canvas, with the vertical axis titles pinned to the left or right. On Wed, Feb 11, 2009 at 9:22 AM, Chad Callahan chad.calla...@t8design.com mailto:chad.calla...@t8design.com wrote: Hello, I am using a LineChart that has labels for the horizontal axis, but no labels for the vertical axis. I would like the labels to be displayed over top of the chart, rather than below or above of the chart. Does anyone have any good ideas on how to accomplish this? The point of this is to hide the extra space that is put around the chart to renderer the axis labels. I want my chart to take up 100% of the space it is allotted and place the axis labels on top of the chart. Thank you, Chad
RE: [flexcoders] Chart Axis Location
And this is what I have so far http://screencast.com/t/UlS2yx1y From: flexcoders@yahoogroups.com [mailto:flexcod...@yahoogroups.com] On Behalf Of Chad Callahan Sent: Wednesday, February 11, 2009 1:51 PM To: flexcoders@yahoogroups.com Subject: RE: [flexcoders] Chart Axis Location I'm not using titles for the chart, so those don't matter. Let's say that I have the LineChart in a Canvas and i want the chart to fill 100% of that canvas so that I don't see anything on any sides of the chart (no buffer for axis labels and such). So yes, I want the tick marks and labels to be over top of the chart (overlay). Ultimately, I'm trying to build this: http://screencast.com/t/3vz1MULH http://screencast.com/t/3vz1MULH Thanks! From: flexcoders@yahoogroups.com [mailto:flexcod...@yahoogroups.com] On Behalf Of Richard Rodseth Sent: Wednesday, February 11, 2009 12:00 PM To: flexcoders@yahoogroups.com Subject: Re: [flexcoders] Chart Axis Location Do you mean that you want the title for the left vertical axis, for example, to be above the axis rather than sideways alongside it? Or do you mean that you want the horizontal axis, along with its tick marks and tick mark labels to be above the chart? The latter is easy, the former might be easiest down outside of the chart (i.e. by putting the chart on a canvas, with the vertical axis titles pinned to the left or right. On Wed, Feb 11, 2009 at 9:22 AM, Chad Callahan chad.calla...@t8design.com mailto:chad.calla...@t8design.com wrote: Hello, I am using a LineChart that has labels for the horizontal axis, but no labels for the vertical axis. I would like the labels to be displayed over top of the chart, rather than below or above of the chart. Does anyone have any good ideas on how to accomplish this? The point of this is to hide the extra space that is put around the chart to renderer the axis labels. I want my chart to take up 100% of the space it is allotted and place the axis labels on top of the chart. Thank you, Chad
[flexcoders] CartesianChart axes location
I am wanting the axes for my charts to render in front of the chart rather than on top of, bottom of, left of or right of. Is there any way of doing this? Thanks
RE: [flexcoders] Re: LineSeries dataFunction to return Array instead of a String
This is very close to what I am trying to accomplish, except that February is showing up twice. Also, the data point from the first February entry is showing up in the column for the second February entry (both February data points are showing up in the second February column). If this would only show one of the February columns with all of the February data, it would be perfect! I've been trying to mold this into doing just that, but still can't get there. Do you know how to make it only show the February column once? Thanks a lot! From: flexcoders@yahoogroups.com [mailto:flexcod...@yahoogroups.com] On Behalf Of Amy Sent: Tuesday, January 06, 2009 9:20 PM To: flexcoders@yahoogroups.com Subject: [flexcoders] Re: LineSeries dataFunction to return Array instead of a String --- In flexcoders@yahoogroups.com mailto:flexcoders%40yahoogroups.com , Chad Callahan chad.calla...@... wrote: The specifications for the LineSeries dataFunction states that the function is to return an Object. From what I gather, it assumes that the Object is one single data point. However, my data is grouped a little differently. I would like to be able to graph my data to look like this (this is not a screenshot of an actual Flex chart, just something drawn in illustrator): http://screencast.com/t/culVkHdhG http://screencast.com/t/culVkHdhG My data is in the form of (hopefully this notation is readable - I'm just conveying nested arrays and objects): [{month:String, numbers:[{date:Date, number:Number}]}] This is the only way that I can think of to sort my data in order to get the desired affect in the above provided image link. The 'number' property is the property that I want to create the LineSeries. However, since the 'number' property is inside of the 'numbers' Array - I can't figure out how to get this to work because I cannot get the LineSeries to look at nested properties. Any examples or suggestions? http://flexdiary.blogspot.com/2008/08/charting-example.html http://flexdiary.blogspot.com/2008/08/charting-example.html Pay special attention to the dataFunction code. HTH; Amy
[flexcoders] LineSeries dataFunction to return Array instead of a String
The specifications for the LineSeries dataFunction states that the function is to return an Object. From what I gather, it assumes that the Object is one single data point. However, my data is grouped a little differently. I would like to be able to graph my data to look like this (this is not a screenshot of an actual Flex chart, just something drawn in illustrator): http://screencast.com/t/culVkHdhG My data is in the form of (hopefully this notation is readable - I'm just conveying nested arrays and objects): [{month:String, numbers:[{date:Date, number:Number}]}] This is the only way that I can think of to sort my data in order to get the desired affect in the above provided image link. The 'number' property is the property that I want to create the LineSeries. However, since the 'number' property is inside of the 'numbers' Array - I can't figure out how to get this to work because I cannot get the LineSeries to look at nested properties. Any examples or suggestions? Thank you, Chad
[flexcoders] Repeater Children?
I have a Repeater component with it's data provider set to an array. Within the Repeater there is a button. My MXML class extends a code-behind class. I need to be able to loop on the buttons from within the code-behind class. I gave the Button mxml tag an id of buttons. When I declare buttons in my code-behind class as a Button type, I get no compiler errors. But, when the component renders I get a run-time error saying cannot convert [] to Button. SO, I tried declaring it as an array, but then I get a compiler error saying that it is a Button, not an Array. Giving up on declaring a type for buttons, I declared it as *. This fixes the previous two errors, but brings up more errors during executing. Is there a preferred way to loop on items from within a Repeater? I tried using Repeater.numChildren as a number to loop on but it always ends up being 0 even if the Repeater has Buttons showing up. CHAD CALLAHAN PROGRAMMER T8DESIGN.COM | P 319.266.7574 - x195 | 877.T8IDEAS | F 888.290.4675 This e-mail, including attachments, is covered by the Electronic Communications Privacy Act, 18 U.S.C. 2510-2521, is confidential, and may be legally privileged. If you are not the intended recipient, you are hereby notified that any retention, dissemination, distribution, or copying of this communication is strictly prohibited. Please reply to the sender that you have received the message in error, and then please delete it. Thank you. image001.jpg
[flexcoders] DateField Bug
When selecting the date that the DateField object is already set to, the DateField text display becomes empty. Does selecting the same date as is already selected cause the new selected date to become null? Is there a property I can set to disable this feature? CHAD CALLAHAN PROGRAMMER T8DESIGN.COM | P 319.266.7574 - x195 | 877.T8IDEAS | F 888.290.4675 This e-mail, including attachments, is covered by the Electronic Communications Privacy Act, 18 U.S.C. 2510-2521, is confidential, and may be legally privileged. If you are not the intended recipient, you are hereby notified that any retention, dissemination, distribution, or copying of this communication is strictly prohibited. Please reply to the sender that you have received the message in error, and then please delete it. Thank you. attachment: image001.jpg
[flexcoders] SWFLoader query string?
When programming in AS2 for Flash, I was always able to have an AS2 swf load into it another AS2 swf and pass that swf variables using query string as such: swfToLoad.swf?var1=1var2=2 When the swfToLoad ran, it automatically had the var1 and var2 variables declared and assigned the same values that were added onto the query string. I now need to use the same idea but have Flex load an AS2 swf and pass the swf a query string. mx:SWFLoader source=swfToLoad.swf?var1=1var2=2/ However, when the swfToLoad (which is a flash 8 as2 swf) loads, those var1 and var2 variables trace out as undefined. I've also tried using the SWFLoader's load command rather than source, but the same problem. I've also tried using an mx:Image instead of SWFLoader, same problem. Is there a way to pass variables into the swf OTHER than using a local connection? (I say other than using a local connection because that is the whole purpose of me doing this. I'm trying to pass a random connection id from Flex into the Flash swf so they use the same (random) connection id) CHAD CALLAHAN PROGRAMMER T8DESIGN.COM | P 319.266.7574 - x195 | 877.T8IDEAS | F 888.290.4675 This e-mail, including attachments, is covered by the Electronic Communications Privacy Act, 18 U.S.C. 2510-2521, is confidential, and may be legally privileged. If you are not the intended recipient, you are hereby notified that any retention, dissemination, distribution, or copying of this communication is strictly prohibited. Please reply to the sender that you have received the message in error, and then please delete it. Thank you. attachment: image001.jpg
[flexcoders] DataGrid Scroll Size
I have a DataGrid that is 400 px in height but many of the rows in the DataGrid are taller than 400 px. When viewing a tall row, I scroll the DataGrid down to see the rest of the row but it skips to the next row instead of scrolling through it. Is there a way to make the DataGrid scroll according to the height of the DataGrid rather than the height of its rows? CHAD CALLAHAN PROGRAMMER T8DESIGN.COM | P 319.266.7574 - x195 | 877.T8IDEAS | F 888.290.4675 This e-mail, including attachments, is covered by the Electronic Communications Privacy Act, 18 U.S.C. 2510-2521, is confidential, and may be legally privileged. If you are not the intended recipient, you are hereby notified that any retention, dissemination, distribution, or copying of this communication is strictly prohibited. Please reply to the sender that you have received the message in error, and then please delete it. Thank you. __._,_.___ -- Flexcoders Mailing List FAQ: http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt Search Archives: http://www.mail-archive.com/flexcoders%40yahoogroups.com SPONSORED LINKS Software development tool Software development Software development services Home design software Software development company Your email settings: Individual Email|Traditional Change settings via the Web (Yahoo! ID required) Change settings via email: Switch delivery to Daily Digest | Switch to Fully Featured Visit Your Group | Yahoo! Groups Terms of Use | Unsubscribe __,_._,___
[flexcoders] DataGrid Scroll Size
I have a DataGrid that is 400 px in height but many of the rows in the DataGrid are taller than 400 px. When viewing a tall row, I scroll the DataGrid down to see the rest of the row but it skips to the next row instead of scrolling through it. Is there a way to make the DataGrid scroll according to the height of the DataGrid rather than the height of its rows? CHAD CALLAHAN PROGRAMMER T8DESIGN.COM | P 319.266.7574 - x195 | 877.T8IDEAS | F 888.290.4675 This e-mail, including attachments, is covered by the Electronic Communications Privacy Act, 18 U.S.C. 2510-2521, is confidential, and may be legally privileged. If you are not the intended recipient, you are hereby notified that any retention, dissemination, distribution, or copying of this communication is strictly prohibited. Please reply to the sender that you have received the message in error, and then please delete it. Thank you. __._,_.___ -- Flexcoders Mailing List FAQ: http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt Search Archives: http://www.mail-archive.com/flexcoders%40yahoogroups.com SPONSORED LINKS Software development tool Software development Software development services Home design software Software development company Your email settings: Individual Email|Traditional Change settings via the Web (Yahoo! ID required) Change settings via email: Switch delivery to Daily Digest | Switch to Fully Featured Visit Your Group | Yahoo! Groups Terms of Use | Unsubscribe __,_._,___
[flexcoders] DataGrid CheckBox itemRenderer select all
I have a DataGrid and the first columns item renderer is mx.controls.CheckBox. I would like to be able to have a select all button that sets all of the CheckBox selected = true. I also need to be able to check which CheckBoxs are selected. Any suggestions? CHAD CALLAHAN PROGRAMMER T8DESIGN.COM | P 319.266.7574 - x195 | 877.T8IDEAS | F 888.290.4675 This e-mail, including attachments, is covered by the Electronic Communications Privacy Act, 18 U.S.C. 2510-2521, is confidential, and may be legally privileged. If you are not the intended recipient, you are hereby notified that any retention, dissemination, distribution, or copying of this communication is strictly prohibited. Please reply to the sender that you have received the message in error, and then please delete it. Thank you. __._,_.___ -- Flexcoders Mailing List FAQ: http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt Search Archives: http://www.mail-archive.com/flexcoders%40yahoogroups.com SPONSORED LINKS Software development tool Software development Software development services Home design software Software development company Your email settings: Individual Email|Traditional Change settings via the Web (Yahoo! ID required) Change settings via email: Switch delivery to Daily Digest | Switch to Fully Featured Visit Your Group | Yahoo! Groups Terms of Use | Unsubscribe __,_._,___
[flexcoders] mxml escape character??
I need to include the { and } characters inside of an mxml tags argument value but mxml reads the { and } as bindable. Is there a way to escape the { and } characters within the quotes? CHAD CALLAHAN PROGRAMMER T8DESIGN.COM | P 319.266.7574 - x195 | 877.T8IDEAS | F 888.290.4675 This e-mail, including attachments, is covered by the Electronic Communications Privacy Act, 18 U.S.C. 2510-2521, is confidential, and may be legally privileged. If you are not the intended recipient, you are hereby notified that any retention, dissemination, distribution, or copying of this communication is strictly prohibited. Please reply to the sender that you have received the message in error, and then please delete it. Thank you. __._,_.___ -- Flexcoders Mailing List FAQ: http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt Search Archives: http://www.mail-archive.com/flexcoders%40yahoogroups.com SPONSORED LINKS Software development tool Software development Software development services Home design software Software development company Your email settings: Individual Email|Traditional Change settings via the Web (Yahoo! ID required) Change settings via email: Switch delivery to Daily Digest | Switch to Fully Featured Visit Your Group | Yahoo! Groups Terms of Use | Unsubscribe __,_._,___
[flexcoders] drawing api
I need to make a custom class that draws shapes but I cant seem to get the drawing api to work at all. In AS2 it was very simple, just using a beginFill and lineTos and wala. I see there are a lot of container classes (Sprite, DisplayObject, etc). How do I go about say just drawing a circle on my app? CHAD CALLAHAN PROGRAMMER T8DESIGN.COM | P 319.266.7574 - x195 | 877.T8IDEAS | F 888.290.4675 This e-mail, including attachments, is covered by the Electronic Communications Privacy Act, 18 U.S.C. 2510-2521, is confidential, and may be legally privileged. If you are not the intended recipient, you are hereby notified that any retention, dissemination, distribution, or copying of this communication is strictly prohibited. Please reply to the sender that you have received the message in error, and then please delete it. Thank you. __._,_.___ -- Flexcoders Mailing List FAQ: http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt Search Archives: http://www.mail-archive.com/flexcoders%40yahoogroups.com SPONSORED LINKS Software development tool Software development Software development services Home design software Software development company YAHOO! GROUPS LINKS Visit your group "flexcoders" on the web. To unsubscribe from this group, send an email to:[EMAIL PROTECTED] Your use of Yahoo! Groups is subject to the Yahoo! Terms of Service. __,_._,___
[flexcoders] Blitz XRay
I was looking at http://osflash.org/xray for the XRay connector for Flex2 but couldnt find any downloads or links to it. If anyone knows where to download the connector for Flex2, please email me a link. Thanks CHAD CALLAHAN PROGRAMMER T8DESIGN.COM | P 319.266.7574 - x195 | 877.T8IDEAS | F 888.290.4675 This e-mail, including attachments, is covered by the Electronic Communications Privacy Act, 18 U.S.C. 2510-2521, is confidential, and may be legally privileged. If you are not the intended recipient, you are hereby notified that any retention, dissemination, distribution, or copying of this communication is strictly prohibited. Please reply to the sender that you have received the message in error, and then please delete it. Thank you. __._,_.___ -- Flexcoders Mailing List FAQ: http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt Search Archives: http://www.mail-archive.com/flexcoders%40yahoogroups.com SPONSORED LINKS Software development tool Software development Software development services Home design software Software development company YAHOO! GROUPS LINKS Visit your group "flexcoders" on the web. To unsubscribe from this group, send an email to:[EMAIL PROTECTED] Your use of Yahoo! Groups is subject to the Yahoo! Terms of Service. __,_._,___