8/6/2024 1:53:21 PM - Gapped up today hitting a new 52-week high with a volume-driven gain. Reported earnings +9% on +5% sales revenues for the Jun '24 quarter and 3 of the 4 latest quarterly comparisons were above the +25% minimum earnings guideline (C criteria).

8/5/2024 12:58:14 PM - Undercut its 50 DMA line ($71.58) earlier with today's 6th consecutive volume-driven loss. Reported earnings +29% on +12% sales revenues for the Mar '24 quarter and 3 of ther 4 latest quasrterly comparisons were above the +25% minimum earnings guideline (C criteria).

2/26/2020 12:50:29 PM - Gapped down today violating its 50 DMA line ($79). Reported earnings +29% on +10% sales revenues for the Dec '19 quarter continuing its strong earnings track record. After dropped from the Featured Stocks list on 8/14/19 it went through a deep consolidation below its 200 DMA line then rebounded impressively.

8/14/2019 6:03:30 PM - It will be dropped from the Featured Stocks list tonight after sinking further below its 50 DMA line ($76.34). A rebound above the 50 DMA line is needed for its outlook to improve. Reported earnings +32% on +29% sales revenues for the Jun '19 quarter continuing its strong earnings track record.

8/13/2019 6:31:33 PM - G - Still sputtering below its 50 DMA line ($76.50), and a rebound above it is needed for its outlook to improve Reported earnings +32% on +29% sales revenues for the Jun '19 quarter continuing its strong earnings track record.

8/7/2019 12:36:46 PM - G - Color code is changed to green after it gapped down today slumping well below its 50 DMA line ($76.70) with today's big volume-driven loss raising concerns. Reported earnings +32% on +29% sales revenues for the Jun '19 quarter continuing its strong earnings track record.

8/6/2019 8:56:30 PM - Y - Rebounded above its 50 DMA line ($76.76) with today's solid gain on slightly higher volume. Volume-driven gains above the pivot point are needed to trigger a new (or add-on) technical buy signal. Reported earnings +32% on +29% sales revenues for the Jun '19 quarter continuing its strong earnings track record.

8/1/2019 5:49:23 PM - Y - Volume totals have been cooling while still consolidating above its 50 DMA line ($76.69). Volume-driven gains above the pivot point are needed to trigger a new (or add-on) technical buy signal. Due to report earnings news on 8/06/19.

7/26/2019 5:41:58 PM - Y - Volume was light behind 3 consecutive gains as it rebounded above its 50 DMA line ($76.72). Color code is changed to yellow with new pivot point cited based on its 6/18/19 high plus 10 cents. Volume-driven gains above the pivot point are needed to trigger a new (or add-on) technical buy signal. See the latest FSU analysis for more details and a new annotated graph.

7/24/2019 4:01:53 PM - G - Gain today lacked volume conviction as it rebounded near its 50 DMA line ($76.73). Faces near-term resistance up to the $81 level. Fundamentals remain strong.

7/22/2019 1:37:42 PM - G - Gains lacked volume conviction after damaging losses and it is sputtering below its 50 DMA line ($76.79). Faces near-term resistance up to the $81 level. Fundamentals remain strong.

7/15/2019 4:51:28 PM -
G - Quietly consolidating near its 50 DMA line ($76.69). Faces near-term resistance up to the $81 level after encountering distributional pressure in recent weeks. Fundamentals remain strong.


7/8/2019 4:25:07 PM -
G - Its 50 DMA line has acted as resistance, but a rebound above the 50 DMA line ($76.58) is needed for its outlook to improve. Fundamentals remain strong.


7/1/2019 1:12:39 PM - G - Its 50 DMA line may act as resistance while a rebound above the 50 DMA line ($76.41) is needed for its outlook to improve. Fundamentals remain strong.

6/28/2019 5:53:04 PM -
G - Churned heavy volume today. Fundamentals remain strong. A rebound above the 50 DMA line ($76.38) is needed for its outlook to improve.


6/25/2019 1:08:07 PM -
G - Today's 4th consecutive volume-driven loss is adding to a streak of damaging losses that violated its 50 DMA line ($76.43) triggering a technical sell signal. Fundamentals remain strong. A rebound above the 50 DMA line is needed for its outlook to improve.


6/24/2019 12:54:46 PM -
G - Slumping further with today's 3rd consecutive volume-driven loss. Violated its 50 DMA line ($76.43) triggering a technical sell signal on the prior session. Early lows today undercut the prior low ($73.73 on 5/23/19) previously noted as the next important near-term support to watch. Fundamentals remain strong. See the latest FSU analysis for more details and an annotated graph.


6/21/2019 6:06:11 PM - G - Violated its 50 DMA line ($76.37) today with another volume-driven loss triggering a technical sell signal. The prior low ($73.73 on 5/23/19) defines the next important near-term support to watch. Fundamentals remain strong. See the latest FSU analysis for more details and a new annotated graph.

6/18/2019 6:11:15 PM - G - Touched a new high today but ended the session lower following 4 consecutive gains marked by below average volume. It did not form a sound base yet found support above its 50 DMA line ($75.92) and prior low during the recent consolidation. Violations would raise concerns and trigger technical sell signals. Fundamentals remain strong.

6/12/2019 5:31:39 PM - G - Extended from any sound base. Found support above its 50 DMA line ($75.17) and prior low during the recent consolidation. Violations would raise concerns and trigger technical sell signals. Fundamentals remain strong.

6/10/2019 5:26:43 PM - G - Extended from any sound base. Found support above its 50 DMA line ($74.83) and prior low during the recent consolidation. Violations would raise concerns and trigger technical sell signals. Fundamentals remain strong.

6/4/2019 6:23:50 PM - G - Extended from any sound base, consolidating above its 50 DMA line ($73.96) and prior low which define near-term support levels to watch. Violations would raise concerns and trigger technical sell signals. Fundamentals remain strong.

5/30/2019 5:49:55 PM - G - Still extended from any sound base. Its 50 DMA line ($73.39) and prior low define near-term support levels to watch. Violations would raise concerns and trigger technical sell signals. Fundamentals remain strong.

5/23/2019 5:59:05 PM -
G - Pulled back today for a 5th consecutive loss after getting very extended from any sound base. Its 50 DMA line ($72.80) and prior low define near-term support. Reported earnings +30% on +23% sales revenues for its first quarter ended March 31, 2019. See the latest FSU analysis for more details and a new annotated graph.


5/23/2019 4:42:27 PM -
G - Pulled back today for a 5th consecutive loss after getting very extended from any sound base. Its 50 DMA line ($72.80) and prior low define near-term support. Reported earnings +30% on +23% sales revenues for its first quarter ended March 31, 2019.


5/20/2019 7:29:54 PM - G - Pulled back for a 2nd consecutive loss after getting very extended from any sound base. Its 50 DMA line ($72.24) and prior low define near-term support. Reported earnings +30% on +23% sales revenues for its first quarter ended March 31, 2019.

5/14/2019 5:07:34 PM - G - Posted a gain today with below average volume for its second best close. It remains very extended from any sound base. Found prompt support at its 50 DMA line ($71) when a big volume-driven loss came after reporting earnings +30% on +23% sales revenues for its first quarter ended March 31, 2019.

5/8/2019 6:28:34 PM - G - Posted a third consecutive gain with near average volume for a new best-ever close. It remains very extended from any sound base. Found prompt support at its 50 DMA line ($69.59) when a big volume-driven loss came after reporting earnings +30% on +23% sales revenues for its first quarter ended March 31, 2019.

5/3/2019 1:13:36 PM - G - Pulled back and tested support at its 50 DMA line ($68.55) today with a volume-driven loss after reporting earnings +30% on +23% sales revenues for its first quarter ended March 31, 2019. Volume and volatility often increase near earnings news. It remains very extended from any sound base.

5/1/2019 7:10:11 PM - G - Due to report results for its first quarter ended March 31, 2019 after the market closes on Thursday, May 2, 2019. Volume and volatility often increase near earnings news. Hovering near its all-time high with today's 3rd consecutive small loss on lighter than average volume. Very extended from any sound base. Its 50 DMA line (67.92) defines near-term support to watch on pullbacks.

5/1/2019 7:07:51 PM - G - Hovering near its all-time high with today's 3rd consecutive small loss on lighter than average volume. Very extended from any sound base. Its 50 DMA line (67.92) defines near-term support to watch on pullbacks. Fundamentals remain strong.

4/24/2019 5:50:26 PM - G - Hit yet another new all-time high with today's volume-driven gain. Very extended from any sound base. Its 50 DMA line (66.21) defines near-term support to watch on pullbacks. Fundamentals remain strong.

4/18/2019 11:02:36 AM - G - Holding its ground near its all-time high, very extended from any sound base. Its 50 DMA line (65.22) defines near-term support above prior highs in the $59-60 area. Fundamentals remain strong.

4/11/2019 1:40:09 PM - G - Holding its ground near its all-time high, very extended from any sound base. Its 50 DMA line (63.74) defines near-term support above prior highs in the $59-60 area. Fundamentals remain strong.

4/5/2019 5:07:29 PM - G - Hit another new all-time high today, getting very extended from any sound base. Its 50 DMA line (62.70) defines near-term support above prior highs in the $59-60 area. Fundamentals remain strong. See the latest FSU analysis for more details and a new annotated graph.

4/4/2019 1:03:53 PM - G - Perched at its all-time high today after 6 consecutive gains, very extended from any sound base. Its 50 DMA line (62.42) defines near-term support above prior highs in the $59-60 area. Fundamentals remain strong.

4/2/2019 5:58:52 PM - G - Hit another new all-time high with today's 5th consecutive gain, getting more extended from any sound base. Its 50 DMA line (61.90) and prior highs define near-term support in the $59-60 area. Fundamentals remain strong.

3/26/2019 3:52:16 PM - G - Still holding its ground stubbornly near its all-time high with volume totals generally cooling after an impressive streak of gains. Its 50 DMA line ($60.81) and prior highs define near-term support in the $59-60 area. Showed bullish after after it recently reported earnings +42% on +30% sales revenues for the Dec '18 quarter.

3/20/2019 6:13:54 PM - G - Perched near its all-time high with volume totals cooling after a streak of gains. Its 50 DMA line and prior highs define near-term support in the $59-60 area. Showed bullish after after it recently reported earnings +42% on +30% sales revenues for the Dec '18 quarter.

3/13/2019 7:09:12 PM - G - Posted a 12th consecutive gain today with ever-decreasing volume while hitting another new all-time high. Rallying after testing support at its 50 DMA line ($58.77). Reported earnings +42% on +30% sales revenues for the Dec '18 quarter.

3/6/2019 6:09:35 PM - G - Posted a 7th consecutive gain today with above average volume hitting another new all-time high. Rallying after testing support at its 50 DMA line ($57.37) last week. Reported earnings +42% on +30% sales revenues for the Dec '18 quarter.

3/1/2019 6:11:39 PM - G - Posted a 4th consecutive gain today with above average volume, rising further above its "max buy" level. Found support near its 50 DMA line ($56.78) and recent low. Reported earnings +42% on +30% sales revenues for the Dec '18 quarter. Volume and volatility often increase near earnings news. See the latest FSU analysis for additional details and an annotated graph.

2/27/2019 5:59:44 PM - G - Color code is changed to green after a gain above its "max buy" level as it met distributional pressure after hitting another new all-time high. Found support near its 50 DMA line ($56.52) and recent low. Reported earnings +42% on +30% sales revenues for the Dec '18 quarter. Volume and volatility often increase near earnings news. See the latest FSU analysis for additional details and a new annotated graph.

2/27/2019 1:33:57 PM - Y - Off the session's early high after a big gap up today hitting another new all-time high. Endured distributional pressure this week but found support near its 50 DMA line ($56.52) and recent low. Reported earnings +42% on +30% sales revenues for the Dec '18 quarter. Volume and volatility often increase near earnings news.

2/25/2019 1:10:26 PM - Y - Color code is changed to yellow after pulling back below its "max buy" level. There was a "negative reversal" on the prior session after hitting a new all-time high. Its 50 DMA line ($56.41) and recent lows define important near-term support to watch on pullbacks. Due to report earnings news after the market closes on Tuesday, February 26, 2019. Volume and volatility often increase near earnings news.

2/22/2019 12:50:41 PM - G - Gapped up today but erased most of its early gain. Its 50 DMA line ($56.35) and recent lows define important near-term support to watch on pullbacks. Due to report earnings news after the market closes on Tuesday, February 26, 2019. Volume and volatility often increase near earnings news.

2/19/2019 12:48:48 PM - G - Color code is changed to green while quietly trading above its "max buy" level. Its 50 DMA line ($56.12) and recent lows define important near-term support to watch on pullbacks.

2/11/2019 5:18:54 PM - Y - Color code is changed to yellow while quietly consolidating just below its "max buy" level. Its 50 DMA line ($55.85) defines important near-term support to watch above the recent low ($48).

2/5/2019 12:30:22 PM - G - Color code is changed to green after rising above its "max buy" level with above average volume today, hitting a new all-time high. Its 50 DMA line ($55.53) defines important near-term support to watch above the recent low ($48).

2/4/2019 5:32:16 PM - Y - Churned higher above average volume today and above average volume on prior sessions without making meaningful price progress, action indicative of distributional pressure. Still consolidating below its "max buy" level and holding its ground in a tight range near its all-time high. Its 50 DMA line ($55.36) defines important near-term support to watch above the recent low ($48).

1/30/2019 8:21:44 PM - Y - Still consolidating below its "max buy" level and holding its ground in a tight range near its all-time high. Its 50 DMA line ($55.04) defines important near-term support to watch above the recent low ($48).

1/25/2019 5:09:15 PM - Y - Consolidating below its "max buy" level and holding its ground in a tight range near its all-time high. Its 50 DMA line ($54.69) defines important near-term support to watch above the recent low ($48). See the latest FSU analysis for more details and a new annotated graph.

1/25/2019 12:40:07 PM - Y - Color code is changed to yellow while quietly consolidating below its "max buy" level and holding its ground in a tight range near its all-time high. Its 50 DMA line ($54.69) defines important near-term support to watch above the recent low ($48).

1/22/2019 6:07:59 PM - G - Ended near its "max buy" level today, recently holding its ground in a tight range near its all-time high. Its 50 DMA line ($54.57) defines important near-term support to watch above the recent low ($48).

1/17/2019 5:03:49 PM - G - Posted a quiet gain back above its "max buy" level today and its color code is changed to green. Its 50 DMA line ($54.13) defines important near-term support to watch above the recent low ($48).

1/14/2019 5:02:38 PM - Y - Pulled back below its "max buy" level today and its color code is changed to yellow. Its 50 DMA line ($53.57) defines important near-term support to watch above the recent low ($48).

1/11/2019 5:13:03 PM - G - Posted a 6th consecutive gain for a best-ever close and its color code is changed to green after rising above its "max buy" level. Recent gains lacked great volume conviction. Its 50 DMA line ($53.38) defines important near-term support to watch above the recent low ($48).

1/8/2019 5:07:54 PM - Y - Posted a 3rd consecutive gain with above average volume today and finished at a best-ever close. Its 50 DMA line ($52.64) defines important near-term support to watch above the recent low ($48). Little resistance remains due to overhead supply up to the $58.50 level.

1/4/2019 6:29:04 PM - Y - Posted a solid gain with above average volume. Its 50 DMA line ($52.23) and recent low define important near-term support to watch. Little resistance remains due to overhead supply up to the $58.50 level. See the latest FSU analysis for more details and a new annotated graph.

1/4/2019 1:04:23 PM - Y - Consolidating above its 50 DMA line ($52.23) after finding prompt support last week. It faces little resistance due to overhead supply up to the $58.50 level. The recent low ($48.00) and its 200 DMA line ($47.06) define the important near-term support.

1/2/2019 7:48:34 PM - Y - Consolidating above its 50 DMA line ($52). It faces little resistance due to overhead supply up to the $58.50 level. The recent low ($48.00) and its 200 DMA line ($46.90) define the next important support. More damaging losses would raise concerns and trigger technical sell signals.

12/28/2018 4:57:18 PM - Y - Pulled back today with lighter volume yet remains above its 50 DMA line ($51.80). It faces resistance due to overhead supply up to the $58.50 level. Found support near the recent low ($48.02 on 11/20/18) and above its 200 DMA line ($46.75) which defines the next important support. More damaging losses would raise concerns and trigger technical sell signals.

12/27/2018 5:23:42 PM - Y - Rebounded further above its 50 DMA line ($51.74) with today's gain on near average volume and its color code is changed to yellow. It faces little resistance due to overhead supply up to the $58.50 level. Found support near the recent low ($48.02 on 11/20/18) and above its 200 DMA line ($46.68) which defines the next important support. More damaging losses would raise concerns and trigger technical sell signals.

12/26/2018 4:54:14 PM - G - Rebounded above its 50 DMA line ($51.61) with today's gain on average volume. Faces resistance due to overhead supply up to the $58.50 level. Found support near the recent low ($48.02 on 11/20/18) and above its 200 DMA line ($46.61) which defines the next important support. More damaging losses would raise concerns and trigger technical sell signals.

12/24/2018 11:18:59 AM - G - Slumped further below its 50 DMA line ($51.52) with today's early loss testing the recent low ($48.02 on 11/20/18). Its 200 DMA line ($46.56) defines the next important support where more damaging losses would raise concerns and trigger technical sell signals.

12/21/2018 5:08:13 PM - G - Color code is changed to green after slumping to a close below its 50 DMA line ($51.43) with today's volume-driven loss. The recent low ($48.02 on 11/20/18) and 200 DMA line define the next important support where more damaging losses would raise concerns and trigger technical sell signals.

12/20/2018 6:30:05 PM - Y - Slumped near its 50 DMA line ($51.34) defining important near-term support to watch above the recent low ($48.02 on 11/20/18). More damaging losses would raise concerns and trigger a technical sell signal.

12/18/2018 5:27:18 PM - Y - Still perched near its all-time high. Its 50 DMA line and recent low ($48.02 on 11/20/18) define important near-term support to watch on pullbacks.

12/14/2018 5:18:37 PM - Y - Remains perched near its all-time high with volume totals cooling. Its 50 DMA line and recent low ($48.02 on 11/20/18) define important near-term support to watch on pullbacks. See the latest FSU analysis for more details and a new annotated graph.

12/12/2018 5:31:15 PM - Y - Still sputtering following a "negative reversal" on 12/04/18 after it touched a new all-time high. Its 50 DMA line and recent low ($48.02 on 11/20/18) define important near-term support to watch on pullbacks.

12/7/2018 1:10:10 PM - Y - Pulling back further today following a "negative reversal" on 12/04/18 after it touched a new all-time high. Its 50 DMA line and recent low ($48.02 on 11/20/18) define important near-term support to watch on pullbacks.

12/4/2018 5:27:41 PM - Y - There was a "negative reversal" today after it touched a new all-time high. Its 50 DMA line and recent low ($48.02 on 11/20/18) define important near-term support to watch on pullbacks.

11/29/2018 6:12:37 PM - Y - Remains perched at its all-time high. Its 50 DMA line and recent low ($48.02 on 11/20/18) define important near-term support to watch on pullbacks. See the latest FSU analysis for more details and a new annotated graph,

11/28/2018 5:27:20 PM - Y - Posted a big gain today with near average volume for a best ever close. Its 50 DMA line and recent low ($48.02 on 11/20/18) define important near-term support to watch on pullbacks.

11/26/2018 7:15:51 PM - Y - Posted another gain today with below average volume. Its 50 DMA line ($50.15) and recent low ($48.02 on 11/20/18) define important near-term support to watch on pullbacks. Following a recent breakout it slumped back into the prior base with a damaging loss on 11/12/18 raising concerns.

11/19/2018 5:20:41 PM - Y - Suffered a big loss on higher (near average) volume today. Its 50 DMA line ($50.01) defines important support. Following a recent breakout it slumped back into the prior base with a damaging loss on 11/12/18 raising concerns.

11/15/2018 6:08:49 PM - Y - Posted a 3rd consecutive gain today. Following a recent breakout it slumped back into the prior base with a damaging loss on 11/12/18 raising concerns. Its 50 DMA line ($49.95) defines important support.

11/12/2018 12:53:13 PM - Y - Gapped down today and a big loss has it abruptly retreating below prior highs in the $53-55 area, raising concerns. Testing its 50 DMA line ($49.79) which defines important support.

11/9/2018 6:01:58 PM - Y - Pulled back today with lighter volume following 3 consecutive volume-driven gains. Prior highs in the $53-55 area and its 50 DMA line define important near term support. See the latest FSU analysis for more details and an annotated graph.

11/7/2018 5:30:28 PM - Y - Finished strong after highlighted in yellow with pivot point cited based on its 9/26/18 high plus 10 cents in the earlier mid-day report. Reported earnings +47% on +40% sales revenues for the Sep '18 quarter, marking a 3rd consecutive quarterly earnings comparison above the +25% minimum guideline (C criteria). Recent comparisons showed impressive sales revenues acceleration. Annual earnings (A criteria) history included a small downturn in FY '15 but has been strong since. See the latest FSU analysis for more details and a new annotated graph.

11/7/2018 1:27:02 PM - Y - Color code is changed to yellow with pivot point cited based on its 9/26/18 high plus 10 cents. Gapped up today hitting a new all-time high. A gain and close above the pivot point backed by at least +40% above average volume may trigger a technical buy signal. Recently sputtered below its 50 DMA line ($49.64). Reported earnings +47% on +40% sales revenues for the Sep '18 quarter, marking a 3rd consecutive quarterly earnings comparison above the +25% minimum guideline (C criteria). Recent comparisons showed impressive sales revenues acceleration. Annual earnings (A criteria) history included a small downturn in FY '15 but has been strong since. Since its Aug 2015 IPO at $14.06 it completed Secondary Offerings on 6/22/16, 9/26/16, 3/10/17 and 5/08/17.

10/3/2018 12:44:24 PM - Stalled after hitting a new all-time high last week, and undercut its 50 DMA line ($50.53) intra-day with today's 3rd consecutive loss. Earnings +55% on +31% sales revenues for the Jun '18 quarter marked a 2nd consecutive quarterly earnings comparison above the +25% minimum guideline (C criteria). Annual earnings (A criteria) history is limited and included a downturn in FY '15, not a great match with the fact-based investment system's fundamental guidelines. Since its Aug 2015 IPO at $14.06 it completed Secondary Offerings on 6/22/16, 9/26/16, 3/10/17 and 5/08/17.

9/26/2018 12:46:17 PM - Hitting new all-time highs with today's 2nd consecutive volume-driven gain. Earnings +55% on +31% sales revenues for the Jun '18 quarter marked a 2nd consecutive quarterly earnings comparison above the +25% minimum guideline (C criteria). Annual earnings (A criteria) history is limited and included a downturn in FY '15, not a great match with the fact-based investment system's fundamental guidelines. Since its Aug 2015 IPO at $14.06 it completed Secondary Offerings on 6/22/16, 9/26/16, 3/10/17 and 5/08/17.

9/25/2018 1:04:47 PM - Challenging its all-time high with today's big volume-driven gain. Earnings +55% on +31% sales revenues for the Jun '18 quarter marked a 2nd consecutive quarterly earnings comparison above the +25% minimum guideline (C criteria). Annual earnings (A criteria) history is limited and included a downturn in FY '15, not a great match with the fact-based investment system's fundamental guidelines. Since its Aug 2015 IPO at $14.06 it completed Secondary Offerings on 6/22/16, 9/26/16, 3/10/17 and 5/08/17.

8/14/2018 2:15:47 PM - Perched near its all-time high after volume-driven gains. Noted in prior mid-day reports with caution - "Reported earnings +55% on +31% sales revenues for the Jun '18 quarter, its 2nd quarterly earnings comparison above the +25% minimum guideline (C criteria). Annual earnings (A criteria) history is limited and not a match with the fact-based investment system's fundamental guidelines. Since its Aug 2015 IPO at $14.06 it completed Secondary Offerings on 6/22/16, 9/26/16, 3/10/17 and 5/08/17."

8/13/2018 3:15:51 PM - Gapped down today. Aruptly retreating after hitting a new all-time high on the prior session when noted in the mid-day report with caution - "Reported earnings +55% on +31% sales revenues for the Jun '18 quarter, its 2nd quarterly earnings comparison above the +25% minimum guideline (C criteria). Annual earnings (A criteria) history is limited and not a match with the fact-based investment system's fundamental guidelines. Since its Aug 2015 IPO at $14.06 it completed Secondary Offerings on 6/22/16, 9/26/16, 3/10/17 and 5/08/17."

8/10/2018 1:12:28 PM - Gapped up today hitting a new all-time high. Reported earnings +55% on +31% sales revenues for the Jun '18 quarter, its 2nd quarterly earnings comparison above the +25% minimum guideline (C criteria). Annual earnings (A criteria) history is limited and not a match with the fact-based investment system's fundamental guidelines. Since its Aug 2015 IPO at $14.06 it completed Secondary Offerings on 6/22/16, 9/26/16, 3/10/17 and 5/08/17.

6/25/2018 12:46:59 PM - Retreating from its all-time high hit last week. Noted with caution in prior mid-day reports - "Reported earnings +42% on +33% sales revenues for the Mar '18 quarter, but prior quarterly earnings comparisons were not strong and steady above the +25% minimum guideline (C criteria). Annual earnings (A criteria) history is limited and not a match with the fact-based investment system's fundamental guidelines. Since its Aug 2015 IPO at $14.06 it completed Secondary Offerings on 6/22/16, 9/26/16, 3/10/17 and 5/08/17."

5/10/2018 1:00:03 PM - Abruptly retreated from its all-time high but found prompt support near its 50 DMA line. Reported earnings +42% on +33% sales revenues for the Mar '18 quarter, but prior quarterly earnings comparisons were not strong and steady above the +25% minimum guideline (C criteria). Noted with caution in prior mid-day reports - "Annual earnings (A criteria) history is limited and not a match with the fact-based investment system's fundamental guidelines. Since its Aug 2015 IPO at $14.06 it completed Secondary Offerings on 6/22/16, 9/26/16, 3/10/17 and 5/08/17."

5/9/2018 1:22:48 PM - Abruptly retreating from its all-time high and violating its 50 DMA line with a big volume-driven loss today. Reported earnings +42% on +33% sales revenues for the Mar '18 quarter, but prior quarterly earnings comparisons were not strong and steady above the +25% minimum guideline (C criteria). Last noted with caution in the 2/26/18 mid-day report - "Annual earnings (A criteria) history is limited and not a match with the fact-based investment system's fundamental guidelines. Since its Aug 2015 IPO at $14.06 it completed Secondary Offerings on 6/22/16, 9/26/16, 3/10/17 and 5/08/17."

2/26/2018 12:40:42 PM - Gapped up on the prior session and today it is hitting another new all-time high with a 4th volume-driven gain in the span of 5 sessions. Reported earnings +20% on +15% sales revenues for the Dec '17 quarter, the 2nd quarterly earnings comparison below the +25% minimum guideline (C criteria). Annual earnings (A criteria) history is limited and not a match with the fact-based investment system's fundamental guidelines. Since its Aug 2015 IPO at $14.06 it completed Secondary Offerings on 6/22/16, 9/26/16, 3/10/17 and 5/08/17.

2/23/2018 12:13:02 PM - Gapped up today hitting a new all-time high with a gain backed by great volume conviction. Reported earnings +20% on +15% sales revenues for the Dec '17 quarter, the 2nd quarterly earnings comparison below the +25% minimum guideline (C criteria). Annual earnings (A criteria) history is limited and not a match with the fact-based investment system's fundamental guidelines. Since its Aug 2015 IPO at $14.06 it completed Secondary Offerings on 6/22/16, 9/26/16, 3/10/17 and 5/08/17.

2/6/2018 12:59:01 PM - Violated its 50 DMA line on the prior session and undercut the prior low ($31.78 on 1/16/18) with early weakness today on higher volume. Recently wedged into new all-time high territory with gains lacking great volume conviction. Prior mid-day reports noted - "Reported earnings +19% on +12% sales revenues for the Sep '17 quarter. The 4 prior quarterly earnings comparisons were above the +25% minimum guideline (C criteria). Annual earnings (A criteria) history is limited and not a match with the fact-based investment system's fundamental guidelines. Since its Aug 2015 IPO at $14.06 it completed Secondary Offerings on 6/22/16, 9/26/16, 3/10/17 and 5/08/17."

1/2/2018 1:18:48 PM - Pulling back on higher volume today. Recently wedged into new all-time high territory with gains lacking great volume conviction. The 11/28/17 mid-day report noted - "Reported earnings +19% on +12% sales revenues for the Sep '17 quarter. The 4 prior quarterly earnings comparisons were above the +25% minimum guideline (C criteria). Annual earnings (A criteria) history is limited and not a match with the fact-based investment system's fundamental guidelines. Since its Aug 2015 IPO at $14.06 it completed Secondary Offerings on 6/22/16, 9/26/16, 3/10/17 and 5/08/17."

11/28/2017 12:46:40 PM - After its noted gap up on 11/08/17 it made gradual progress into new all-time high territory with gains lacking great volume conviction. Reported earnings +19% on +12% sales revenues for the Sep '17 quarter. The 4 prior quarterly earnings comparisons were above the +25% minimum guideline (C criteria). Annual earnings (A criteria) history is limited and not a match with the fact-based investment system's fundamental guidelines. Since its Aug 2015 IPO at $14.06 it completed Secondary Offerings on 6/22/16, 9/26/16, 3/10/17 and 5/08/17.

11/8/2017 12:49:57 PM - Gapped up today hitting a new all-time high. Reported earnings +19% on +12% sales revenues for the Sep '17 quarter. The 4 prior quarterly earnings comparisons were above the +25% minimum guideline (C criteria). Last noted in the 9/21/17 mid-day report - "Annual earnings (A criteria) history is limited and not a match with the fact-based investment system's fundamental guidelines. Since its Aug 2015 IPO at $14.06 it completed Secondary Offerings on 6/22/16, 9/26/16, 3/10/17 and 5/08/17."

9/21/2017 12:57:59 PM - Perched at its all-time high. The 4 latest quarterly earnings comparisons through Jun '17 were above the +25% minimum guideline (C criteria). Annual earnings (A criteria) history is limited and not a match with the fact-based investment system's fundamental guidelines. Since its Aug 2015 IPO at $14.06 it completed Secondary Offerings on 6/22/16, 9/26/16, 3/10/17 and 5/08/17.

6/28/2017 12:41:13 PM - Perched near its all-time high following a streak of volume-driven gains. The 3 latest quarterly earnings comparisons through Mar '17 were above the +25% minimum guideline (C criteria). Prior quarterly and annual earnings (A criteria) history is not a match with the fact-based investment system's fundamental guidelines.

10/27/2016 12:59:02 PM - Rebounding above its 50 DMA line to challenge prior highs with today's big volume-driven gain. Quarterly earnings increases through Sep '16 have not been above the +25% minimum guideline (C criteria).

8/12/2016 12:56:33 PM - Hitting a new high today.. Quarterly earnings increases have not been above the +25% minimum guideline (C criteria).

6/21/2016 12:26:02 PM - Gapped down today. Quarterly earnings increases have not been above the +25% minimum guideline (C criteria).