tag:blogger.com,1999:blog-53614859726420614222024-02-21T02:12:00.129-08:00Clear ThoughtsA clear path to living and investing simply
Warren Cohenhttp://www.blogger.com/profile/11472872083753089542noreply@blogger.comBlogger55125tag:blogger.com,1999:blog-5361485972642061422.post-4125763098099497062017-01-09T12:35:00.005-08:002017-01-09T12:35:59.393-08:00I WasThinkingAs we move more and more into a cashless society, it dawned
on me how much more effort we need to spend to make sure our transactions are
correct and safe. There are many benefits to being cashless; I hate carrying
change around in my pocket. I also don’t worry as much about losing money or
leaving my wallet in a cab. Being cashless forces me to check my banking and
credit cards balances more often too. One upside to checking my balances is
that it is easier to monitor and budget my spending habits. Most bank and
credit cards have tools to help you track your spending.<br />
<br />
<div class="MsoNormal">
<o:p></o:p></div>
<div class="MsoNormal">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg4WPX4Vw3tUGanBbfKwJ9LYcW9RAAaVCZNsGR7tMmVQO2n_3XypbsF5Al4ZVa1ApVkZ2H4dKes4A-BnxQyvijVV3RsvK1jPSOBzo8qWguCP984QuPTIUaupxLDHuPkxmnbvp4o2gKoR1g/s1600/cashless.png" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img border="0" height="139" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg4WPX4Vw3tUGanBbfKwJ9LYcW9RAAaVCZNsGR7tMmVQO2n_3XypbsF5Al4ZVa1ApVkZ2H4dKes4A-BnxQyvijVV3RsvK1jPSOBzo8qWguCP984QuPTIUaupxLDHuPkxmnbvp4o2gKoR1g/s200/cashless.png" width="200" /></a>Clients ask all the time, “How can I teach my children
better spending habits?” For starters they should be logging into the banking
app and making sure all of their debits and credits are correct. Money is
moving back and forth between Venmo and debit cards so quickly, they better be
checking their balances. Let them know that if something isn’t right, they
should contact their bank immediately. Same holds true for credit cards. <o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
Recently I read two great articles that I want to share. You
may have read about France’s new law allowing workers to disconnect from the
internet when not working. Say what you want about the French, but this makes a
lot of sense in a world that doesn’t let us take a deep breath and pause.<o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<a href="http://nyti.ms/2j2pBKx">http://nyti.ms/2j2pBKx</a><o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
Charles F. Feeney is a very wealthy man, and you probably
have never heard of him. He has spent years giving away most of his money
(billions) anonymously and without fanfare. <o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<a href="http://nyti.ms/2ikQrK0">http://nyti.ms/2ikQrK0</a><o:p></o:p></div>
<br />
<div class="MsoNormal">
If you haven’t seen the documentary <i>Supermensch: The Legend of Shep Gordon</i> on Netflix, watch it
immediately. Shep’s story, of a life committed to paying it forward, is truly
legendary.<o:p></o:p></div>
Warren Cohenhttp://www.blogger.com/profile/11472872083753089542noreply@blogger.com1tag:blogger.com,1999:blog-5361485972642061422.post-54770809333853171862016-11-15T08:46:00.002-08:002016-11-15T08:46:32.167-08:00Taking Care of Our Elders<div class="p1">
<span class="s1">Recently at my brokers/dealers national conference, I attended a seminar on protecting seniors from financial fraud. The elderly are victims of thousands of schemes each year, with billions of dollars being stolen from them.</span></div>
<div class="p1">
<span class="s1">The seminar started off with a gut-wrenching story from our general counsel, whose parents were scammed out of $4,500 from a late-night caller pretending to be a bond bailsman telling them that their grandson had been in an accident and to release him from custody they needed to wire money immediately. The caller even went on to tell this elderly couple not to call the boy’s parents because he didn’t want them to know. As crazy as this may sound, schemes like this, which prey on the elderly, are taking place every day. </span></div>
<div class="p1">
<span class="s1">As we age or watch our parents and grandparents age, the threat of financial exploitation grows exponentially; at the same time, aging increases the possibility of cognitive decline.</span></div>
<div class="p1">
<span class="s1">AARP published a very good piece that addresses some red flags to watch out for. If you, a friend, or a trusted caregiver recognizes these signs, please proceed with heightened awareness and take action or seek help.</span></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgAbutX1iu5qq4oRWnPCKauZMon6rGmVi8HPt_ZRmQG4sxUvK3ULb_fFVSJFMY7b_Pk-lkHfRp57bh1MAnf_IkqP14t33g9XxpOV24TjWFoml4yD_2-mJ3HfQR9Glvn3p-XEQNBiIcULCw/s1600/Poppy+Bananna.jpeg" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgAbutX1iu5qq4oRWnPCKauZMon6rGmVi8HPt_ZRmQG4sxUvK3ULb_fFVSJFMY7b_Pk-lkHfRp57bh1MAnf_IkqP14t33g9XxpOV24TjWFoml4yD_2-mJ3HfQR9Glvn3p-XEQNBiIcULCw/s320/Poppy+Bananna.jpeg" width="240" /></a></div>
<div class="p2">
<span class="s1"><b></b></span><br /></div>
<div class="p1">
<span class="s1"><b>Social Red Flags</b></span></div>
<div class="p1">
</div>
<ul>
<li>Your loved one or friend informs you they have a new, particularly close friend or “sweetheart” and /or they move away from existing relationships toward new associates.</li>
<li>The person is being isolated by family or a caregiver as a result of life changes.<span style="-webkit-text-stroke-width: initial;"> </span></li>
<li>He or she appears or sounds like they are being “coached” by another individual.</li>
<li>The person has an overly trusting personality or a temperament susceptible to manipulation.</li>
</ul>
<br />
<div class="p2">
<span class="s1"><b></b></span><br /></div>
<div class="p1">
<span class="s1"><b>Physical Red Flags</b></span></div>
<div class="p1">
</div>
<ul>
<li>Your friend or loved one indicates that items are missing from their home.</li>
<li>He or she demonstrates a lack of responsiveness or inability to follow through with a decision.</li>
<li>He or she repeatedly calls seeking the same information.</li>
<li>He or she requests frequent password/username resets.</li>
<li>He or she has a disheveled appearance or poor hygiene.</li>
</ul>
<br />
<div class="p2">
<span class="s1"></span><br /></div>
<div class="p1">
<span class="s1"><b>Behavioral Red Flags</b></span></div>
<div class="p1">
</div>
<ol>
<li>Your friend or loved one has become fearful, distrustful, and withdrawn.</li>
<li>He or she has memory lapses and confusion over accounts.</li>
<li>The person exhibits changes in their normal routine.</li>
<li>He or she has mood swings.</li>
</ol>
<br />
<div class="p2">
<span class="s1"></span></div>
<div class="p1">
<span class="s1"><b>Proceed with caution, there may be abuse.</b></span></div>
<div class="p1">
</div>
<ul>
<li>Does this person have a family member or others who are financially dependent on him or her who are taking an excessive interest in their finances?</li>
<li>Is the person reluctant to discuss personal financial matters that were previously a matter of standard practice?</li>
<li>Has your friend or loved one been denied access to their account statements or funds by someone?</li>
<li>Has he or she had an unexpected address change on their accounts?</li>
<li>Are there atypical or unexplained withdrawals, wire transfers, debit transactions, or other changes in this person’s financial habits?</li>
<li>Has your friend or loved one abruptly changed their will, trust, power of attorney, or beneficiaries of their accounts?</li>
</ul>
<br />
<style type="text/css">
p.p1 {margin: 0.0px 0.0px 10.0px 0.0px; font: 11.0px 'Trebuchet MS'; -webkit-text-stroke: #000000}
p.p2 {margin: 0.0px 0.0px 10.0px 0.0px; font: 11.0px 'Trebuchet MS'; -webkit-text-stroke: #000000; min-height: 12.0px}
span.s1 {font-kerning: none}
</style>
<br />
<div class="p1">
<span class="s1">Having an open and fluid dialogue with your parents and/or grandparents about their finances will help you stay informed and hopefully pick up on things out of the norm. Keep a copy of their will, trusts, and power of attorney. Discuss with them scams that are going on, whether it is the lottery or a call from the IRS. The IRS does not call you. <b>The best suggestion is for them to hang up on these calls and call you immediately.</b></span></div>
Warren Cohenhttp://www.blogger.com/profile/11472872083753089542noreply@blogger.com0tag:blogger.com,1999:blog-5361485972642061422.post-61262129215895659942016-06-02T12:10:00.001-07:002016-06-02T12:10:22.849-07:00Summer Brew<div class="MsoNormal">
Well, Memorial Day has come and gone, meaning that summer is
officially here. The U.S. stock market has inched up very modestly year to date,
while interest rates on U.S. bonds have crept modestly lower. After January’s
stock market sell-off, global markets have stabilized. And the U.S. Federal
Reserve has signaled it will probably raise rates later this year. What’s an
investor to do? Yawn, head to the beach, the mountains, the golf course, and
enjoy the best of summer and its libations.<o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
While warmer weather usually cries out for rosé
wine, I have found myself gravitating toward fruit-infused beer. Yes, fruit-infused
beer! Don’t get me wrong—I have been enjoying a nice dry rosé
from California, Vin Gris de Cigare from Bonny Doon Vineyard, but to really quench
your thirst, try one of these beers.<o:p></o:p></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi1aLkyBPMAs1wt0Fx8YsjTcP-HJfmK0nlzrjdi-WPnDlffHso8kUy2PXzfnm1v8LrmQuSyQe_bmh144qp3xypzsxACgvK3ubya7qKbfHxL6kSjWimVGG4KqG-KeJ7L-QUwsqbxGU5_S8g/s1600/Beach-Scene.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi1aLkyBPMAs1wt0Fx8YsjTcP-HJfmK0nlzrjdi-WPnDlffHso8kUy2PXzfnm1v8LrmQuSyQe_bmh144qp3xypzsxACgvK3ubya7qKbfHxL6kSjWimVGG4KqG-KeJ7L-QUwsqbxGU5_S8g/s320/Beach-Scene.jpg" width="320" /></a></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
Many moons ago, Blue Moon, the not-so-crafty craft beer,
owned by Coors Brewing, introduced us to Belgian-style wheat beer. Wheat beers
can be brewed with herbs, spices, and fruit and tend to be lighter in alcohol
content. Blue Moon gained popularity because it was served on tap with a slice
of orange. The beer is brewed with Valencia oranges, and the orange slice on
top really opens up the flavor and makes it easy to drink.<o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
This past weekend I did a lot of yard work, the type of backbreaking
labor where you build up quite a thirst. A heavy beer like an IPA or ale won’t suffice
when you are looking to put out the fire in your throat. You want something
that is cold, bubbly, alcoholic, and a little bit fruity. My favorite of all
the fruit beers is <b>Shiner Ruby Redbird</b>. Brewed by Shiner Brewery in Texas, this
beer combines the tartness of ruby red grapefruit and a kick of ginger, perfect
for a hot day or hot night sitting around the fire pit. This beer is easy to
quaff, and the alcoholic content is a low 4%. I also really enjoyed IPA
<b>Citradelic</b> from New Belgium Brewery in Colorado. This IPA is brewed with
tangerine peels that cut down on the bitterness of the hops. While you can
taste the tangerine, it is not sweet or overpowering.<o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
Two other fruit beers that I have also enjoyed are
<b>Grapefruit Sculpin</b> from Ballast Point Brewing in California and <b>Magic Hat #9</b>
from Magic Hat Brewing in Vermont. While hard (alcoholic) cider is not beer, I
have been enjoying them as well recently. Prior to my life as an investment
advisor, I imported wine and hard cider from France. I must have been ahead of
my time because 17 years ago no one was interested in alcoholic cider; today it
is one of the fastest-growing beverages in the country. My favorite, <b>Nine Pin
Cider</b>, comes from Albany, NY. All of the apples are sourced from the Albany
region and Hudson Valley. Nine Pin Cider Works’s signature cider, also
available in cans, is well balanced between sweet and tart while still being
dry. Cider is the perfect beverage with smoked ribs or grilled sausage. If you
come across any other fruit beers or hard ciders you enjoy this summer, please
pass along. I am always up to try something new!<o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<br />
<div class="MsoNormal">
Enjoy the summer, relax, and have some fun. With the presidential
elections on the horizon this fall, it looks like we could be in for nasty
weather!<o:p></o:p></div>
Warren Cohenhttp://www.blogger.com/profile/11472872083753089542noreply@blogger.com0tag:blogger.com,1999:blog-5361485972642061422.post-91341953943454065332016-05-19T09:51:00.000-07:002016-05-19T09:51:15.212-07:00Lacing Them Up Again<br />
<div class="MsoNormal" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;">
<img alt="Willis Reed: Phil Jackson is" src="http://a.espncdn.com/combiner/i?img=%2Fphoto%2F2014%2F0905%2Fnba_a_reed11_1296x1296.jpg" height="200" width="200" /></div>
<br />
<div class="MsoNormal">
When I first started writing a blog several years ago,
fellow bloggers warned me about burnout. As someone who has the attention span
of a hummingbird, I am guilty of being susceptible to burnout. I felt
repetitive in my message, and so blogging was moved to the back burner. <o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
Well, I’m back and giving it the old college try once again.
The fans have asked for more, so I am lacing up the Chuck Taylors and making my
way back to the court à la Willis Reed.<o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
My financial message has been clear from the get-go: keep it
simple, ignore what Wall Street and the financial talking heads are saying,
keep your costs down, diversify, save as much as you can, and live your life.
That message ain’t changing!<o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
I recently went to see the new George Clooney movie <i>Money Monster</i> and thought it was pretty
good. Is Clooney ever not good? The movie was a little bit dated, post
financial crisis, but still relevant. It's about an angry
investor who shows up on the set of a financial news show and takes it over.
I am still amazed when I go into a bar or restaurant and they have CNBC on in
the back ground. I can’t remember the last time I heard someone say, “Did you
hear what stock Cramer was talking about last night?” In that respect the world
of investing has changed.<o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
When I think back to my days at Smith Barney and Bear
Stearns, it was a different era. Thousand-dollar suits, suspenders, Gucci
loafers, and slicked-back hair. The message of an advisor wasn’t important.
What was important was: can you sell, and what stock are you pitching today? At
the Smith Barney training program we didn’t discuss retirement planning, social
security, and tax strategies. It was, “Pitch me a stock, and convince me to buy
Lucent in 60 seconds.” What a disservice to all of us.<o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
There are still many dishonest salespeople out there who
disguise themselves as advisors, but for the most part this industry has
changed for the better. It is a rare occurrence when a client calls up to buy
an individual stock. Technology has made investing better and easier. We can
build diversified portfolios using ETF’s and index funds and rebalance with one
click on the computer.<o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
My concern after seeing <i>Money
Monster</i> was that the general public would be concerned that the stock
market was still rigged or fixed. It is, but for those who don’t trade often or
pay no attention to the Cramers of the world, it doesn’t matter. The market
gives you what the market gives, and as long as you still have faith in
capitalism and free markets, you can safely assume that companies will be doing
all they can to grow their earnings and move the price of their stock upward.<o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
</div>
<div class="MsoNormal">
Hard to believe that Memorial Day is upon us. If you live
here in the Northeast, it still feels like winter. Like the stock market, the
weather can be unpredictable, but I sure hope it starts to warm up quickly!<o:p></o:p></div>
Warren Cohenhttp://www.blogger.com/profile/11472872083753089542noreply@blogger.com0tag:blogger.com,1999:blog-5361485972642061422.post-46104909564089039342016-03-18T07:12:00.000-07:002016-03-18T07:12:26.868-07:00On Being A Better Client<div class="MsoNormal">
The relationship between investment advisor and client has
changed tremendously since I rejoined the business in 1999. Back in the day, we
were called “stockbrokers” or “financial consultants.” Today it’s “wealth
manager” or “wealth advisor.” While sometimes I have a problem with the term <i>wealth manager</i>—it sounds so highbrow—this
is in fact the direction the business has moved. Gone are the days of
recommending stocks and bonds. The bigger picture today is about planning and
advice, truly understanding your clients’ goals, dreams, and fears about money.
Conversations revolve around questions like “How much will I be able to draw
down on each year when I retire?” and “How much do I need to save for college?”
Clients want to know what kind of insurance they need instead of whether it’s better
to own stock in Coke versus Pepsi.<o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
A few weeks ago I wanted to review my will—I couldn’t
remember whom I had appointed as executor. I also couldn’t remember where I had
filed a copy! After tearing about my file cabinet, I remembered that I had
downloaded a copy of our will onto the online vault with Commonwealth, where I
keep my investment accounts. After a few clicks, I was able to read a digital
copy and have my question answered. <o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
This got me thinking . . . what if all of my clients did
this? What if I urged them to take advantage of the tools that are available
when working with an advisor? How can you truly work with a wealth advisor if you
don’t have your whole financial picture? Would you go to the doctor for a checkup
and not tell the doctor that your chest hurts when you breathe or your hip is
constantly sore?<o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
If I were a client of a wealth advisor, these are the things
I would want to know and do.<o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoListParagraphCxSpFirst" style="mso-list: l0 level1 lfo1; text-indent: -.25in;">
<!--[if !supportLists]-->1.<span style="font-size: 7pt; font-stretch: normal;">
</span><!--[endif]-->Store all important documents—wills, trust,
insurance policies—in the company’s electronic vault. Then, when I need them, I
know where they are and can read them easily. (Make sure you understand the
company’s data security policy.)<o:p></o:p></div>
<div class="MsoListParagraphCxSpMiddle" style="mso-list: l0 level1 lfo1; text-indent: -.25in;">
<!--[if !supportLists]-->2.<span style="font-size: 7pt; font-stretch: normal;">
</span><!--[endif]-->Make sure my advisor knows about my life
insurance policies—the face value, carrier, and policy number.<o:p></o:p></div>
<div class="MsoListParagraphCxSpMiddle" style="mso-list: l0 level1 lfo1; text-indent: -.25in;">
<!--[if !supportLists]-->3.<span style="font-size: 7pt; font-stretch: normal;">
</span><!--[endif]-->Store a copy of my power of attorney and health
care proxy. (If you don’t have them, get them.)<o:p></o:p></div>
<div class="MsoListParagraphCxSpMiddle" style="mso-list: l0 level1 lfo1; text-indent: -.25in;">
<!--[if !supportLists]-->4.<span style="font-size: 7pt; font-stretch: normal;">
</span><!--[endif]-->Share my life plan or goals. What am I saving
and investing for—to retire early, arrange to leave money to charity, because I
am concerned about how my kids will live? <o:p></o:p></div>
<div class="MsoListParagraphCxSpMiddle" style="mso-list: l0 level1 lfo1; text-indent: -.25in;">
<!--[if !supportLists]-->5.<span style="font-size: 7pt; font-stretch: normal;">
</span><!--[endif]-->How much am I paying for services, and how am I
paying? In some cases advisory fees are tax-deductible.<o:p></o:p></div>
<div class="MsoListParagraphCxSpMiddle" style="mso-list: l0 level1 lfo1; text-indent: -.25in;">
<!--[if !supportLists]-->6.<span style="font-size: 7pt; font-stretch: normal;">
</span><!--[endif]-->Run a retirement income projection to see how
much money I can live on after I stop working. <o:p></o:p></div>
<div class="MsoListParagraphCxSpMiddle" style="mso-list: l0 level1 lfo1; text-indent: -.25in;">
<!--[if !supportLists]-->7.<span style="font-size: 7pt; font-stretch: normal;">
</span><!--[endif]-->Embrace technology by signing up for electronic
delivery for all statements, confirmations, tax documents, and prospectuses.
Aggregate all outside accounts, such as my 401(k), so I can see my financial
picture in one place.<o:p></o:p></div>
<div class="MsoListParagraphCxSpLast" style="mso-list: l0 level1 lfo1; text-indent: -.25in;">
<!--[if !supportLists]-->8.<span style="font-size: 7pt; font-stretch: normal;">
</span><!--[endif]-->Introduce my older children to my advisor. They
can learn about savings and setting up retirement accounts and discuss how much
to defer into their 401(k) at work. (If they have children, consult with your
advisor about a 529 plan.)<o:p></o:p></div>
<div class="MsoListParagraphCxSpLast" style="mso-list: l0 level1 lfo1; text-indent: -.25in;">
<br /></div>
<br />
<div class="MsoNormal">
Today’s advisor is more than an investment manager. It’s worth
taking advantage of both the technology and, more important, the human touch in
your relationship.<o:p></o:p></div>
Warren Cohenhttp://www.blogger.com/profile/11472872083753089542noreply@blogger.com0tag:blogger.com,1999:blog-5361485972642061422.post-37974486910496907192016-01-22T12:40:00.001-08:002016-01-22T12:40:40.703-08:00Making Lemonade from Lemons<div class="MsoNormal">
January has not been very kind to global stock market
investors. As of January 20, 2016, the S&P 500 is off nearly 10% for the
year. By the same token, many had thought that U.S. bond yields would rise, but
the yield on 10-year U.S. Treasury Bonds is lower than at the beginning of the
year, less than 2%! Not a pretty picture. Which leads us to the question, <b>what should I do?<o:p></o:p></b></div>
<div class="MsoNormal">
<b><br /></b></div>
<div class="MsoNormal">
Volatile markets lead us to look in the mirror and examine
our asset allocation, our investments, and our tolerance for short-term pain. We can choose to do nothing, which may be the best thing to
do, or take advantage of this sell-off and do something.</div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<o:p></o:p></div>
<div class="MsoNormal">
<b>A few thoughts about what you can do:</b></div>
<div class="separator" style="clear: both; text-align: center;">
<b><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhteZc5eTQvBwtxzLoIV5iLnWbrHAsqQxifBGDsbEYYLsLGpwA59mrB1m6olyfKBcOh6b5v_7nXJnJHbGdzHa7mdUdZQnf0xjFtI93Qz271D5M96N3oO6V1qGB1EE8HKbYjhur30TWI8JE/s1600/lemons.jpg" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img border="0" height="193" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhteZc5eTQvBwtxzLoIV5iLnWbrHAsqQxifBGDsbEYYLsLGpwA59mrB1m6olyfKBcOh6b5v_7nXJnJHbGdzHa7mdUdZQnf0xjFtI93Qz271D5M96N3oO6V1qGB1EE8HKbYjhur30TWI8JE/s320/lemons.jpg" width="320" /></a></b></div>
<o:p></o:p><br />
<div class="MsoNormal">
<br /></div>
<div class="MsoListParagraphCxSpFirst" style="mso-list: l0 level1 lfo1; text-indent: -.25in;">
</div>
<ul>
<li><span style="text-indent: -0.25in;">1.</span><span style="font-size: 7pt; font-stretch: normal; text-indent: -0.25in;">
</span><span style="text-indent: -0.25in;">Review your asset allocation plan. Are you
comfortable with your stock, bond, and cash allocation? How do you know what is
the right asset allocation for you? Legendary investor and founder of Vanguard,
John Bogle, says you should allocate the percentage of your portfolio to bonds that
matches your age. For example, if you are 50, you should have 50% of your
portfolio in bonds. With interest rates as low as they are and many Americans
living much longer these days, I don’t think that is the best answer. Your
money will have to last longer, and historically, stocks over time offer the
best returns for growth, however they also come with risk</span></li>
<li><span style="text-indent: -0.25in;">2.</span><span style="font-size: 7pt; font-stretch: normal; text-indent: -0.25in;">
</span><span style="text-indent: -0.25in;">If your allocation is not right or doesn’t fit
your appetite for risk, REBALANCE. If your bond allocation has grown too large,
consider selling some and reinvesting the proceeds in stocks. We have had a
nice bounce from the stock market lows of 2008–9. Maybe consider selling some
stocks and deploying that money in cash or bonds?</span></li>
<li><span style="text-indent: -0.25in;">3.</span><span style="font-size: 7pt; font-stretch: normal; text-indent: -0.25in;">
</span><span style="text-indent: -0.25in;">With the stock market being lower, make your IRA
contribution sooner. Instead of waiting until April or later in the year,
invest your contribution now.</span></li>
<li><span style="text-indent: -0.25in;">4.</span><span style="font-size: 7pt; font-stretch: normal; text-indent: -0.25in;">
</span><span style="text-indent: -0.25in;">If you have cash sitting on the sidelines,
consider investing some now and bringing down the costs on some of your investments.
The market rewards those with patience and a long-term perspective.</span></li>
<li><span style="text-indent: -0.25in;">5.</span><span style="font-size: 7pt; font-stretch: normal; text-indent: -0.25in;">
</span><span style="text-indent: -0.25in;">Sell some of your losers and take the tax loss
now versus waiting until later in the year. Capital losses can come in handy to
offset capital gains.</span></li>
<li><span style="text-indent: -0.25in;">6.</span><span style="font-size: 7pt; font-stretch: normal; text-indent: -0.25in;">
</span><span style="text-indent: -0.25in;">My biggest and best suggestion is to tune out
the noise. Newspapers and television channels have to sell advertising. The
best way to keep you glued to the TV is to scare you. The stock market doesn’t
go up every year—it’s not a given. Over time it goes up more than it goes down,
and those who ride out volatility are paid for that.</span></li>
</ul>
<o:p></o:p><br />
<div class="MsoListParagraphCxSpMiddle" style="mso-list: l0 level1 lfo1; text-indent: -.25in;">
<o:p></o:p></div>
<div class="MsoListParagraphCxSpMiddle" style="mso-list: l0 level1 lfo1; text-indent: -.25in;">
<o:p></o:p></div>
<div class="MsoListParagraphCxSpMiddle" style="mso-list: l0 level1 lfo1; text-indent: -.25in;">
<o:p></o:p></div>
<div class="MsoListParagraphCxSpMiddle" style="mso-list: l0 level1 lfo1; text-indent: -.25in;">
<o:p></o:p></div>
<div class="MsoListParagraphCxSpLast" style="mso-list: l0 level1 lfo1; text-indent: -.25in;">
<o:p></o:p></div>
<div class="MsoNormal">
It is easy to panic and make rash, impulsive decisions. Better
to empower yourself: consider the suggestions here and remember the wise words of
Aristotle:<i> </i><b><i><span style="color: #181818; line-height: 115%; mso-bidi-font-size: 10.5pt;">“Patience
is bitter, but its fruit is sweet.”</span></i><span style="color: #181818; line-height: 115%; mso-bidi-font-size: 10.5pt;"> </span></b><o:p></o:p></div>
Warren Cohenhttp://www.blogger.com/profile/11472872083753089542noreply@blogger.com0tag:blogger.com,1999:blog-5361485972642061422.post-65064708290778238262015-11-19T08:50:00.001-08:002015-11-19T08:50:24.390-08:00Vive la France!<br /><div class="MsoNormal">
Time to kick it into overdrive—it’s “the holidays.” A lot
has been going, and I apologize for the lapse in postings. My bad!<o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
The horrible events in Paris last Friday have certainly
upset me, as I’m sure they have disturbed all of us. As a New Yorker, memories
of 9/11 flash before my eyes. Those were difficult days. I was so appreciative
of the emails and calls from people checking in to see if my family, friends,
and other loved ones were safe. It was comforting to know, and feel, how connected
we were to each other. For the weeks and months that followed, there was a
special bond among New Yorkers. We helped each other; we were kind and giving.
We were not going to be defeated and let the evil of cowards change our lives
and upset our sense of freedom.<o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgtFTW1JdpGHjlEIsQQEQGmdKcOBdzV9hKMAEwFZTPMPkJIDThYPU0TVFHikry97NmAc2so5SACk0WSCFJ5w6D7w67A9J5fNiidjy-0xB7EX8KepM1Y5VIIrGexU9ddE8umSyNnQXTiByQ/s1600/Cohen+France.JPG" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img border="0" height="197" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgtFTW1JdpGHjlEIsQQEQGmdKcOBdzV9hKMAEwFZTPMPkJIDThYPU0TVFHikry97NmAc2so5SACk0WSCFJ5w6D7w67A9J5fNiidjy-0xB7EX8KepM1Y5VIIrGexU9ddE8umSyNnQXTiByQ/s200/Cohen+France.JPG" width="200" /></a></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
I don’t know anyone who lives in Paris, but as soon as I got
to work on Monday, I went into the office of French colleagues who import and
distribute tea from France. I asked if their family and friends were safe.
Thankfully, everyone was accounted for. They were hurting, but I could tell
that checking in with them had brought some comfort.<o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
Before I was an investment advisor, I imported wine, mostly
from France. It was wonderful to travel there a few times a year. The wine that
I imported was from the Jura region, which borders Switzerland. The company
that owned the property was based in Alsace, but I would travel to Paris and
Bordeaux and throughout the Burgundy region. <o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
I never ate and drank so well in my life. The French are
passionate about their food and wine, and I took it all in. Lunches always
lasted at least an hour, usually accompanied by a bottle of wine. Dinners ended
with an amazing array of cheeses that still permeate the inside of my nose.<o:p></o:p></div>
<div class="MsoNormal">
Americans like to joke about the French, as the French like
to joke about Americans. At the end of the day they are weak generalizations
that don’t capture the essence about what we, as people and as cultures, are
about. Paris is my favorite city in the world. Even this jaded New Yorker can
say that Paris is the city that truly never sleeps. Paris is as beautiful as it
is energetic and passionate.<o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
It is a sad state of affairs that the world finds itself in,
but I am strengthened by, and feel connected with, our brothers and sisters in
Paris. In the long run good will triumph over evil, and we will never surrender
to terrorists, whose only goal is to provoke fear and angst in us.<o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
This is a terrible transition, but maybe that’s fitting: in support
of the greatest wines in the world, I offer up the following French suggestions
to accompany your Thanksgiving turkey.<o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<b>Whites: <o:p></o:p></b></div>
<div class="MsoNormal">
From the Alsace region both the <b>Hugel et Fils</b> Riesling Classic and Pinot Gris Classic. Both are
flavorful with fruit but not sugary sweet. The Pinot Gris will be drier, but
both are a perfect pair for your bird and sides.<o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<b>Red:<o:p></o:p></b></div>
<div class="MsoNormal">
While many wine lovers prefer pinot noir with their turkey,
I am stepping it up a bit and recommending a Côte du Rhône. I have been drinking the <b>Clos du Mont Olivet</b> Côtes
du Rhône
Vielles Vignes of late. It is packed with jammy flavors with a bouquet of mint
and fresh earth. (I hate wine descriptions but went with it.) <o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
Please enjoy your holiday with friends and family and appreciate
how lucky we are. All the best for a wonderful, safe, and happy holiday season.<o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<br /></div>
<br />
<div class="MsoNormal">
<o:p></o:p></div>
Warren Cohenhttp://www.blogger.com/profile/11472872083753089542noreply@blogger.com0tag:blogger.com,1999:blog-5361485972642061422.post-26420767427153698862015-10-29T11:51:00.000-07:002015-10-29T11:51:26.621-07:00To Give and Not Accumulate<div class="MsoNormal" style="background: white; margin: 0in 0in 0.0001pt 0.5in;">
<i><span style="font-family: "Georgia","serif"; font-size: 10.0pt; mso-bidi-font-family: "Times New Roman"; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: "Times New Roman";">I resolved to stop accumulating and begin
the infinitely more serious<o:p></o:p></span></i></div>
<div class="MsoNormal" style="background: white; margin: 0in 0in 0.0001pt 0.5in;">
<i><span style="font-family: "Georgia","serif"; font-size: 10.0pt; mso-bidi-font-family: "Times New Roman"; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: "Times New Roman";">and difficult task of wise distribution</span></i><span style="color: #3a2f26; font-family: "Georgia","serif"; font-size: 12.0pt; mso-bidi-font-family: "Times New Roman"; mso-fareast-font-family: "Times New Roman";">.<o:p></o:p></span></div>
<div class="MsoNormal" style="background: white; margin: 0in 0in 0.0001pt 3in; text-indent: 0.5in;">
<span style="color: #3a2f26; font-family: "Georgia","serif"; font-size: 12.0pt; mso-bidi-font-family: "Times New Roman"; mso-fareast-font-family: "Times New Roman";">—</span><span style="font-family: "Georgia","serif"; font-size: 10.0pt; mso-bidi-font-family: "Times New Roman"; mso-bidi-font-size: 12.0pt; mso-bidi-font-weight: bold; mso-fareast-font-family: "Times New Roman";">Andrew
Carnegie<o:p></o:p></span></div>
<div class="MsoNormal" style="background: white; margin: 0in 0in 0.0001pt 3in; text-indent: 0.5in;">
<br /></div>
<div class="MsoNormal" style="background: white; margin: 0in 0in 0.0001pt 3in; text-indent: 0.5in;">
<br /></div>
<div class="MsoNormal" style="background: white; line-height: 21.0pt; margin-bottom: 15.75pt;">
<span style="font-family: "Georgia","serif"; mso-bidi-font-family: "Times New Roman"; mso-bidi-font-size: 12.0pt; mso-bidi-font-weight: bold; mso-fareast-font-family: "Times New Roman";">As we move closer to year’s end, my thoughts as a
financial advisor tend to drift toward taxes and how I can save clients money
on their tax bills come next April. There are two significant ways to save on
taxes. The first is to sell the securities that are negative in your portfolio
and realize the loss. The second is to make charitable contributions for a tax
deduction. There are several factors that dictate how much you can deduct in a
given year, but I am not going to get into those specifics here.<o:p></o:p></span></div>
<div class="MsoNormal" style="background: white; line-height: 21.0pt; margin-bottom: 15.75pt;">
<span style="font-family: "Georgia","serif"; mso-bidi-font-family: "Times New Roman"; mso-bidi-font-size: 12.0pt; mso-bidi-font-weight: bold; mso-fareast-font-family: "Times New Roman";">What I would like to discuss is giving and
charitable consciousness. Chances are if you are reading this blog, you are in
a better place than many others. You have a warm place to sleep, food in your
refrigerator, and clean clothes to wear. Hopefully, there are not gunshots being
fired nearby, and you are free to practice your faith, politics, or sexual preference
as you wish.<o:p></o:p></span></div>
<div class="MsoNormal" style="background: white; line-height: 21.0pt; margin-bottom: 15.75pt;">
<span style="font-family: "Georgia","serif"; mso-bidi-font-family: "Times New Roman"; mso-bidi-font-size: 12.0pt; mso-bidi-font-weight: bold; mso-fareast-font-family: "Times New Roman";">This presidential election will probably be the
ugliest and meanest one in U.S. history. Buckle in, or tune out now! Our
country is divided between those who want to protect the wealth and privilege
of a few and those who believe in a fair and decent country in which everyone
has the chance to be happy and successful. Let’s all take the high road here
and agree that if we all succeed, we are stronger as a nation.<o:p></o:p></span></div>
<div class="MsoNormal" style="background: white; line-height: 21.0pt; margin-bottom: 15.75pt;">
<span style="font-family: "Georgia","serif"; mso-bidi-font-family: "Times New Roman"; mso-bidi-font-size: 12.0pt; mso-bidi-font-weight: bold; mso-fareast-font-family: "Times New Roman";">Money can be great. It’s fun to buy new clothes, eat
a great meal, or take a fantastic vacation. Money can buy freedom, but it
doesn’t buy happiness. <o:p></o:p></span></div>
<div class="MsoNormal" style="background: white; line-height: 21.0pt; margin-bottom: 15.75pt;">
<span style="font-family: "Georgia","serif"; mso-bidi-font-family: "Times New Roman"; mso-bidi-font-size: 12.0pt; mso-bidi-font-weight: bold; mso-fareast-font-family: "Times New Roman";">So, as we head into the holiday season and begin
assembling lists of gifts for Christmas or Chanukah, let’s check that list
twice. While giving is great and watching a smile erupt on a child’s face is
priceless, why not consider checking your privilege this year and pledge to
stop accumulating more stuff. <o:p></o:p></span></div>
<br />
<div class="MsoNormal" style="background: white; line-height: 21.0pt; margin-bottom: 15.75pt;">
<span style="font-family: "Georgia","serif"; mso-bidi-font-family: "Times New Roman"; mso-bidi-font-size: 12.0pt; mso-bidi-font-weight: bold; mso-fareast-font-family: "Times New Roman";">Personally, doing this won’t be easy, but I am going
to try. Whatever the net savings, what we would have bought versus what we did
buy, I will give to charity. Are you with me? <o:p></o:p></span></div>
Warren Cohenhttp://www.blogger.com/profile/11472872083753089542noreply@blogger.com0tag:blogger.com,1999:blog-5361485972642061422.post-59209166976997938932015-10-26T07:39:00.000-07:002015-10-26T07:39:46.314-07:00401(k) for the Youth<div class="MsoNormal">
This week I had the pleasure of doing a 401(k) educational
meeting for a client. Once a year I like to meet with the company’s employees,
go through the plan, discuss the funds, and answer questions about savings and
retirement.<o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEje_dW-QJ9ppmykApULT7TzweqM9QJ-XLlib0ubSKe7_x47W4DwnKbzKBdwWX9dnSKQ2AlF3X56KXNY0tZcLZpk1X06Du7HifHHrJfyTT3luiodFQijt8E7M-ifV3ikLCgwXfYObLYpXE0/s1600/401k.JPG" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img border="0" height="176" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEje_dW-QJ9ppmykApULT7TzweqM9QJ-XLlib0ubSKe7_x47W4DwnKbzKBdwWX9dnSKQ2AlF3X56KXNY0tZcLZpk1X06Du7HifHHrJfyTT3luiodFQijt8E7M-ifV3ikLCgwXfYObLYpXE0/s320/401k.JPG" width="320" /></a></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
If you read my blog with any regularity, you know the idea
or the concept of retirement is a pet peeve of mine. The media markets retirement as if it were Fantasy
Island. <i>Retirement</i> is just another
word for not working and how am I going to fund my life at that point. But it’s
not a game.<o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
The company that I visited has a lot of young and
enthusiastic employees. Most of them are enrolled in the 401(k) plan.
Unfortunately, not everyone is deferring a portion of income into the plan; <u>most
are not deferring enough.<o:p></o:p></u></div>
<div class="MsoNormal">
<u><br /></u></div>
<div class="MsoNormal">
Here is my list of to-dos for your 401(k) plan. <b>Parents,
feel free to share it with your working children.</b><o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoListParagraphCxSpFirst" style="mso-list: l0 level1 lfo1; text-indent: -.25in;">
<!--[if !supportLists]--><span style="font-family: Symbol; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol;">·<span style="font-family: 'Times New Roman'; font-size: 7pt; font-stretch: normal;">
</span></span><!--[endif]-->Participate, participate, and participate.<o:p></o:p></div>
<div class="MsoListParagraphCxSpFirst" style="mso-list: l0 level1 lfo1; text-indent: -.25in;">
<br /></div>
<div class="MsoListParagraphCxSpMiddle" style="mso-list: l0 level1 lfo1; text-indent: -.25in;">
<!--[if !supportLists]--><span style="font-family: Symbol; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol;">·<span style="font-family: 'Times New Roman'; font-size: 7pt; font-stretch: normal;">
</span></span><!--[endif]-->Try to defer at least 10% of your salary, with a
goal of reaching 15%.<o:p></o:p></div>
<div class="MsoListParagraphCxSpMiddle" style="mso-list: l0 level1 lfo1; text-indent: -.25in;">
<br /></div>
<div class="MsoListParagraphCxSpMiddle" style="mso-list: l0 level1 lfo1; text-indent: -.25in;">
<!--[if !supportLists]--><span style="font-family: Symbol; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol;">·<span style="font-family: 'Times New Roman'; font-size: 7pt; font-stretch: normal;">
</span></span><!--[endif]-->Defer enough to max out on a company match if it
is available. It’s FREE money!<o:p></o:p></div>
<div class="MsoListParagraphCxSpMiddle" style="mso-list: l0 level1 lfo1; text-indent: -.25in;">
<br /></div>
<div class="MsoListParagraphCxSpMiddle" style="mso-list: l0 level1 lfo1; text-indent: -.25in;">
<!--[if !supportLists]--><span style="font-family: Symbol; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol;">·<span style="font-family: 'Times New Roman'; font-size: 7pt; font-stretch: normal;">
</span></span><!--[endif]-->Sign up for auto-escalate so you are
automatically increasing the amount you are contributing to your savings. If
you get a raise, give yourself a raise in how much more you will save.<o:p></o:p></div>
<div class="MsoListParagraphCxSpMiddle" style="mso-list: l0 level1 lfo1; text-indent: -.25in;">
<br /></div>
<div class="MsoListParagraphCxSpMiddle" style="mso-list: l0 level1 lfo1; text-indent: -.25in;">
<!--[if !supportLists]--><span style="font-family: Symbol; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol;">·<span style="font-family: 'Times New Roman'; font-size: 7pt; font-stretch: normal;">
</span></span><!--[endif]-->If your plan doesn’t offer target date funds,
demand that it does.<o:p></o:p></div>
<div class="MsoListParagraphCxSpMiddle" style="mso-list: l0 level1 lfo1; text-indent: -.25in;">
<br /></div>
<div class="MsoListParagraphCxSpMiddle" style="mso-list: l0 level1 lfo1; text-indent: -.25in;">
<!--[if !supportLists]--><span style="font-family: Symbol; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol;">·<span style="font-family: 'Times New Roman'; font-size: 7pt; font-stretch: normal;">
</span></span><!--[endif]-->If your plan doesn’t offer low-cost index funds,
demand that it does.<o:p></o:p></div>
<div class="MsoListParagraphCxSpMiddle" style="mso-list: l0 level1 lfo1; text-indent: -.25in;">
<br /></div>
<div class="MsoListParagraphCxSpMiddle" style="mso-list: l0 level1 lfo1; text-indent: -.25in;">
<!--[if !supportLists]--><span style="font-family: Symbol; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol;">·<span style="font-family: 'Times New Roman'; font-size: 7pt; font-stretch: normal;">
</span></span><!--[endif]-->Diversify between stocks and bonds. If you are
young, you can defer more to stocks than bonds. If you are risk adverse, talk
to the advisor for your plan about an appropriate asset allocation.<o:p></o:p></div>
<div class="MsoListParagraphCxSpMiddle" style="mso-list: l0 level1 lfo1; text-indent: -.25in;">
<br /></div>
<div class="MsoListParagraphCxSpMiddle" style="mso-list: l0 level1 lfo1; text-indent: -.25in;">
<!--[if !supportLists]--><span style="font-family: Symbol; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol;">·<span style="font-family: 'Times New Roman'; font-size: 7pt; font-stretch: normal;">
</span></span><!--[endif]-->The world is a big place, and half of the
world’s companies are outside of the United States. Have some international
exposure to your portfolio.<o:p></o:p></div>
<div class="MsoListParagraphCxSpMiddle" style="mso-list: l0 level1 lfo1; text-indent: -.25in;">
<br /></div>
<div class="MsoListParagraphCxSpMiddle" style="mso-list: l0 level1 lfo1; text-indent: -.25in;">
<!--[if !supportLists]--><span style="font-family: Symbol; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol;">·<span style="font-family: 'Times New Roman'; font-size: 7pt; font-stretch: normal;">
</span></span><!--[endif]-->If you are concerned about how your money is
invested and what kind of companies you are invested in, ask your employer
about socially responsible funds.<o:p></o:p></div>
<div class="MsoListParagraphCxSpMiddle" style="mso-list: l0 level1 lfo1; text-indent: -.25in;">
<br /></div>
<div class="MsoListParagraphCxSpMiddle" style="mso-list: l0 level1 lfo1; text-indent: -.25in;">
<!--[if !supportLists]--><span style="font-family: Symbol; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol;">·<span style="font-family: 'Times New Roman'; font-size: 7pt; font-stretch: normal;">
</span></span><!--[endif]-->Your 401(k) is portable: if you leave your
company, you can roll your account into your new employer’s 401(k) or into an
IRA account. You can also leave it in your employers 401(k). I would discuss
with an advisor the benefit or drawback of doing so.<o:p></o:p></div>
<div class="MsoListParagraphCxSpMiddle" style="mso-list: l0 level1 lfo1; text-indent: -.25in;">
<br /></div>
<div class="MsoListParagraphCxSpMiddle" style="mso-list: l0 level1 lfo1; text-indent: -.25in;">
<!--[if !supportLists]--><span style="font-family: Symbol; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol;">·<span style="font-family: 'Times New Roman'; font-size: 7pt; font-stretch: normal;">
</span></span><!--[endif]-->If you are older than 50, you can put up to
$24,000 annually into your 401(k) account. <o:p></o:p></div>
<div class="MsoListParagraphCxSpMiddle" style="mso-list: l0 level1 lfo1; text-indent: -.25in;">
<br /></div>
<div class="MsoListParagraphCxSpMiddle" style="mso-list: l0 level1 lfo1; text-indent: -.25in;">
<!--[if !supportLists]--><span style="font-family: Symbol; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol;">·<span style="font-family: 'Times New Roman'; font-size: 7pt; font-stretch: normal;">
</span></span><!--[endif]-->It’s important to check your account balance at
least twice a year. Make sure you have your log-in credentials. <o:p></o:p></div>
<div class="MsoListParagraphCxSpMiddle" style="mso-list: l0 level1 lfo1; text-indent: -.25in;">
<br /></div>
<div class="MsoListParagraphCxSpMiddle" style="mso-list: l0 level1 lfo1; text-indent: -.25in;">
<!--[if !supportLists]--><span style="font-family: Symbol; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol;">·<span style="font-family: 'Times New Roman'; font-size: 7pt; font-stretch: normal;">
</span></span><!--[endif]-->Don’t look at your account every day; focus on
the long term, not the day to day.<o:p></o:p></div>
<div class="MsoListParagraphCxSpMiddle" style="mso-list: l0 level1 lfo1; text-indent: -.25in;">
<br /></div>
<div class="MsoListParagraphCxSpLast" style="mso-list: l0 level1 lfo1; text-indent: -.25in;">
<!--[if !supportLists]--><span style="font-family: Symbol; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol;">·<span style="font-family: 'Times New Roman'; font-size: 7pt; font-stretch: normal;">
</span></span><!--[endif]-->Pick a day to rebalance your account once a year;
your birthday is a good reminder.<o:p></o:p></div>
<br />
<div class="MsoNormal">
<br /></div>
Warren Cohenhttp://www.blogger.com/profile/11472872083753089542noreply@blogger.com0tag:blogger.com,1999:blog-5361485972642061422.post-90367840530771903432015-09-29T06:34:00.001-07:002015-09-29T06:35:16.254-07:00Guess Who's Back <div class="MsoNormal">
Volatility in the stock market is back. You could hang your
hat on a number of reasons why: the slowing Chinese economy, interest rates
potentially rising in the United States, Volkswagen lying about its emissions
testing, or an “overvalued” stock market. There will always—I repeat, always—be
risk in investing in the stock market. <o:p></o:p><br />
<br /></div>
<div class="MsoNormal">
Since 1970, the S&P 500 has returned about 10% a year on
an annualized basis. This doesn’t happen every day—if it did, everyone would
put their money in the S&P 500 index fund and go to the beach. Some years
the market is up 20% or 7%, and some years it’s down 10% or even worse, 30%.
That is the nature of the stock market. It goes up, and it goes down.
Fortunately, it has gone up in more years than it has gone down. We have had
some very bad markets over the last 15 years; there was the tech bubble in
2000, the financial crisis in 2008, the “flash crash” in 2010, and a war of
words that almost shut down the U.S. government in 2013. <o:p></o:p><br />
<br /></div>
<div class="MsoNormal">
Despite all of these events, the Russell 1000 index (the index
of the 1000 largest market cap stocks in the United States) as of September 23,
2015, is up 12.62% over the past 3 years, 14.07% over the last 5 years, and
7.22% over the last 10 years.*<o:p></o:p><br />
<br /></div>
<div class="MsoNormal">
There is no guarantee that these results will continue in
the future, but if you believe in capitalism and that companies will grow their
earnings and develop new products and that there is the next Google, Apple,
Facebook, GE, or even Chipotle out there, stocks may offer you, over time, some
of the best investment returns to help grow your money.<o:p></o:p><br />
<br /></div>
<div class="MsoNormal">
Remember, we invest to fund certain goals—retirement,
college, a wedding, or a trip to a place we have dreamed of visiting. Keep all
of this in perspective and, as I like to say all of the time, control what you
can control. You cannot control the stock market. You can control how much you
allocate to stocks, how much you need to save, how to cut down your expenses,
and even how often you look at your account balances.<o:p></o:p><br />
<br /></div>
<div class="MsoNormal">
This volatility will pass. It may be next month or next year
or in two years, but it will pass. Keep your eye and emotions on your goals and,
most importantly, on the things that matter most in your life.<o:p></o:p></div>
<div class="MsoNormal">
I am attaching an <a href="https://my.dimensional.com/csmedia/cms/advisor_community/2015/09/takingst/AC_Taking_Stock_US.pdf">article</a> on long-term investing that was
written by David Goetsch for Dimensional Funds, a fund company that I use in
many of the portfolios we manage.<o:p></o:p><br />
<br /></div>
<div class="MsoNormal">
I hope you enjoy the article. And remember: control what you
can control, and enjoy this beautiful fall weekend.<o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<br /></div>
<table border="0" cellpadding="0" class="MsoNormalTable" style="mso-cellspacing: 1.5pt; mso-yfti-tbllook: 1184; width: 620px;">
<tbody>
<tr>
<td style="padding: .75pt .75pt .75pt .75pt;"><div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="font-family: "Verdana","sans-serif"; font-size: 10.0pt; mso-bidi-font-family: "Times New Roman"; mso-bidi-font-size: 9.0pt; mso-fareast-font-family: "Times New Roman"; mso-no-proof: yes;"><!--[if gte vml 1]><v:shapetype id="_x0000_t75"
coordsize="21600,21600" o:spt="75" o:preferrelative="t" path="m@4@5l@4@11@9@11@9@5xe"
filled="f" stroked="f">
<v:stroke joinstyle="miter"/>
<v:formulas>
<v:f eqn="if lineDrawn pixelLineWidth 0"/>
<v:f eqn="sum @0 1 0"/>
<v:f eqn="sum 0 0 @1"/>
<v:f eqn="prod @2 1 2"/>
<v:f eqn="prod @3 21600 pixelWidth"/>
<v:f eqn="prod @3 21600 pixelHeight"/>
<v:f eqn="sum @0 0 1"/>
<v:f eqn="prod @6 1 2"/>
<v:f eqn="prod @7 21600 pixelWidth"/>
<v:f eqn="sum @8 21600 0"/>
<v:f eqn="prod @7 21600 pixelHeight"/>
<v:f eqn="sum @10 21600 0"/>
</v:formulas>
<v:path o:extrusionok="f" gradientshapeok="t" o:connecttype="rect"/>
<o:lock v:ext="edit" aspectratio="t"/>
</v:shapetype><v:shape id="Picture_x0020_1" o:spid="_x0000_i1025" type="#_x0000_t75"
alt="http://indexcalculator.russell.com/images/spacer.gif" style='width:7.5pt;
height:7.5pt;visibility:visible;mso-wrap-style:square'>
<v:imagedata src="file:///C:\Users\WARREN~1\AppData\Local\Temp\msohtmlclip1\01\clip_image001.gif"
o:title="spacer"/>
</v:shape><![endif]--><!--[if !vml]--><img alt="http://indexcalculator.russell.com/images/spacer.gif" height="10" src="file:///C:/Users/WARREN~1/AppData/Local/Temp/msohtmlclip1/01/clip_image002.png" v:shapes="Picture_x0020_1" width="10" /><!--[endif]--></span><span style="font-family: "Verdana","sans-serif"; font-size: 10.0pt; mso-bidi-font-family: "Times New Roman"; mso-bidi-font-size: 9.0pt; mso-fareast-font-family: "Times New Roman";"><o:p></o:p></span></div>
</td>
<td style="padding: .75pt .75pt .75pt .75pt;"><div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="font-size: 10.0pt; mso-bidi-font-family: Arial; mso-fareast-font-family: "Times New Roman";">*Source: Russell Investments 2015. Return and
value data utilized in this calculation tool comes from sources believed to
be reliable but is neither guaranteed nor warranted and is subject to
revision without notice. This tool is being provided for analysis purpose
only and should not be used to make investment decisions. Tool and data is to
be used at your own risk</span><span style="font-size: 10.0pt; mso-bidi-font-family: "Times New Roman"; mso-fareast-font-family: "Times New Roman";"><o:p></o:p></span></div>
</td>
</tr>
</tbody></table>
<br />
<div class="MsoNormal">
<br /></div>
Warren Cohenhttp://www.blogger.com/profile/11472872083753089542noreply@blogger.com0tag:blogger.com,1999:blog-5361485972642061422.post-11596295942045282472015-08-24T09:12:00.001-07:002015-08-24T10:12:13.544-07:00The Art Of Budgeting And Back To School<div class="MsoNormal">
Around the Cohen household one of our favorite movies is <i>Billy Madison</i>—not exactly heady stuff
but good for a few really good deep belly laughs. I bring this up only because
one of the many great songs in the movie is <a href="https://www.youtube.com/watch?v=fJSrjW9Wc4A">“Back to School,”</a> which I sing over
in my head as Labor Day approaches, the days get shorter, and the new school year
is right around the corner. <o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
As we get closer to school starting, parents who are sending
their children off to college for the first time ask, “Do you put your kid on a
budget at school?” The quick answer is yes. If you happen to be asking this
question for the first time as your child heads off to school, it could be a
tough transition for both of you. Setting up guidelines about spending or
establishing a weekly or monthly allowance early in a child’s life is an
excellent practice.<o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
As I often tell new parents when saving for college, save as
much as you can and then save some more. Start early teaching your child about
money, specifically how much things cost specific to how much income you or you
and your spouse make. If you don’t establish a context for the value of money,
it will be hard for a child to understand.<o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
When establishing a college budget with your child, I would
suggest the following.<o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoListParagraph" style="mso-list: l2 level1 lfo1; text-indent: -.25in;">
</div>
<ul>
</ul>
<span style="font-family: Symbol; text-indent: -0.25in;">·<span style="font-family: 'Times New Roman'; font-size: 7pt; font-stretch: normal;">
</span></span><span style="text-indent: -0.25in;">Let them know what costs you are covering:
tuition, books, rent, meal plan, health care costs, cell phone, etc. . . .</span><br />
<ul>
<br />
</ul>
<span style="font-family: Symbol; text-indent: -0.25in;">·<span style="font-family: 'Times New Roman'; font-size: 7pt; font-stretch: normal;">
</span></span><span style="text-indent: -0.25in;">Outside of those fixed costs, you will (or will
not) give an allowance on a weekly or monthly basis. It is easy to transfer
money from your personal account to your child’s personal account online. You
can, for example, set up automatic transfers with most banks, moving $100 from
your account to his or her account on the 1</span><sup style="text-indent: -0.25in;">st</sup><span style="text-indent: -0.25in;"> of each month.</span><br />
<ul>
<br />
</ul>
<span style="font-family: Symbol; text-indent: -0.25in;">·<span style="font-family: 'Times New Roman'; font-size: 7pt; font-stretch: normal;">
</span></span><b style="text-indent: -0.25in;">Don’t
dump and run!</b><span style="text-indent: -0.25in;"> Do not dump a lump sum of money in your child’s account at
the beginning of the semester. This will lead to frivolous spending during the
first month(s) of college. A good idea might be to ask your child to keep a
journal of his or her spending habits for the first month and then review it together
in order to get a better understanding of finances going forward.</span><br />
<ul>
<br />
</ul>
<span style="font-family: Symbol; text-indent: -0.25in;">·<span style="font-family: 'Times New Roman'; font-size: 7pt; font-stretch: normal;">
</span></span><span style="text-indent: -0.25in;">WORK is a four-letter word, but it’s not a bad
word. Yes, your child is in school to learn, but having a job teaches many
valuable lessons, including the value of financial freedom. It also teaches
real-life skills that will be important after graduation, like showing up on
time, working hard, and the value of earning a paycheck. This income can
supplement expenses you are covering, providing money to for a few good meals out
during the month, going to a concert, or buying a new pair of jeans.</span><br />
<ul>
</ul>
<!--[if !supportLists]--><o:p></o:p><br />
<div class="MsoListParagraph" style="mso-list: l3 level1 lfo2; text-indent: -.25in;">
<o:p></o:p><br /></div>
<div class="MsoListParagraph" style="mso-list: l0 level1 lfo3; text-indent: -.25in;">
<o:p></o:p><br /></div>
<div class="MsoListParagraph" style="mso-list: l1 level1 lfo4; text-indent: -.25in;">
<o:p></o:p><br /></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
Like most guidelines, these are really suggestions, and in
the real world life doesn’t happen as well as in a written blog post. I try to
adhere to these guidelines, but I’m human, and we humans stray. So, for the true
reveal, here is how things go in my life.<o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
I do establish with my children up front what costs I am
covering and what I am not covering. I do cover all of the basics mentioned,
plus airfare when they fly home, social dues for a sorority, and groceries for
their apartments. They pay out of their own pockets when they go out to a
restaurant, bar, or convenience store. My children do not have cars and are
responsible for their Uber fares (modern world problem). My children do have
credit cards for which I cover the bill, but when they purchase items that are
out of the terms of our agreement, I debit their checking accounts.<o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
I have begun to share with my children how much their
parents earn mostly because we have had to cosign on their leases. Anytime I
can share with my children how much something costs relative to what we earn,
it is a good lesson in curbing frivolous spending.<o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
Another lesson I try to implement with my children, as well
as with myself, is the concept of wants versus needs. When you are in a store,
pause before you buy something; ask yourself, “Is this a want or a need? Do I
really need another pair of running shoes? Do I need to buy 8 pieces of chicken
when we probably only need 4?”<o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
We never did the dump-and-run thing, and I never asked my children
to write down and record their spending habits. Truthfully, my children are
pretty good about watching their spending, so it has not been an issue.<o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
My son worked his junior and senior year in college at one
of the museums on campus, giving tours and working in the gift shop. My
daughters do a fair amount of babysitting and have worked during the summers to
earn money for the school year. A quick shout out to my daughter Laura, who had
a fantastic paid internship this summer and brought her lunch to work every
day, saving herself at least $50 a week. Best part is she banked a few thousand
dollars this summer, learned some great saving habits, and will be paying for
all of her spin classes herself.<o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<br />
<div class="MsoNormal">
As I write this, I have to admit we sound very privileged.
My kids have it really easy compared to most. Their sacrifices and what they
are paying for are minimal. Budgeting is hard work for grown-ups. It is harder
for young adults. If they are going to be successful in life, learning to live within
their means, understanding what things cost, having a realistic sense of expenses
versus income, and appreciating the value of working are life lessons they probably
won’t get in school but will serve them forever.<o:p></o:p></div>
Warren Cohenhttp://www.blogger.com/profile/11472872083753089542noreply@blogger.com1tag:blogger.com,1999:blog-5361485972642061422.post-66758292266516254742015-08-10T07:02:00.000-07:002015-08-10T07:02:19.379-07:00Learning To Let Go<div class="s2" style="margin-bottom: 0px; margin-top: 0px;">
<br /></div>
<div class="s2" style="margin-bottom: 0px; margin-top: 0px;">
<span style="-webkit-text-size-adjust: auto; background-color: rgba(255, 255, 255, 0);"><span class="s2">When you are a young parent, meaning a parent with young children, </span><span class="s2">there is no shortage of books </span><span class="s2">with tips </span><span class="s2">on </span><span class="s2">parenting. </span><span class="s3" style="font-style: italic;">How to Breastfeed, How to Get Your Child to Sleep, What to Feed Your Picky Eater</span><span class="s3" style="font-style: italic;">,</span><span class="s2"> etc.</span><span class="s2"> Friends, colleagues</span><span class="s2">,</span><span class="s2"> and parents are chock full of advice</span><span class="s2"> on what to do</span><span class="s2"> when your </span><span class="s2">child won’t nap</span><span class="s2">, what</span><span class="s2"> doctor is best</span><span class="s2">, or </span><span class="s2">which</span><span class="s2"> homeroom teacher is the nicest</span><span class="s2">. </span><span class="s2">Why is it</span><span class="s2">,</span><span class="s2"> though</span><span class="s2">,</span><span class="s2"> no one gives advic</span><span class="s2">e</span><span class="s2"> to parents as th</span><span class="s2">eir children</span><span class="s2"> grow up and get older?</span><span class="s2"></span></span></div>
<div class="s2" style="margin-bottom: 0px; margin-top: 0px;">
<span style="-webkit-text-size-adjust: auto; background-color: rgba(255, 255, 255, 0);"><span class="s2"><br /></span></span></div>
<div class="s2" style="margin-bottom: 0px; margin-top: 0px;">
<span style="-webkit-text-size-adjust: auto; background-color: rgba(255, 255, 255, 0);"><span class="s2">I can tell you this</span><span class="s2">:</span><span class="s2"> when you drop off your child at college for the first time and</span><span class="s2">, as it was for us,</span><span class="s2"> leave </span><span class="s2">him </span><span class="s2">alone in </span><span class="s2">his </span><span class="s2">dorm room, that is a really tough day. You have raised </span><span class="s2">him </span><span class="s2">under your roof</span><span class="s2">,</span><span class="s2"> and now </span><span class="s2">he’</span><span class="s2">s</span><span class="s2"> on </span><span class="s2">his </span><span class="s2">own. You leave </span><span class="s2">him </span><span class="s2">like </span><span class="s2">a </span><span class="s2">deer in the headlights</span><span class="s2">,</span><span class="s2"> and </span><span class="s2">you’</span><span class="s2">re </span><span class="s2">supposed to suck it up and walk away. </span></span></div>
<div class="s2" style="margin-bottom: 0px; margin-top: 0px;">
<span style="-webkit-text-size-adjust: auto; background-color: rgba(255, 255, 255, 0);"><span class="s2"><br /></span></span></div>
<div class="s2" style="margin-bottom: 0px; margin-top: 0px;">
<span style="-webkit-text-size-adjust: auto; background-color: rgba(255, 255, 255, 0);"><span class="s2">Tod</span><span class="s2">ay my oldest left for Chicago</span><span class="s2">,</span><a href="https://www.blogger.com/null" name="_GoBack"></a><span class="s2"> seek</span><span class="s2">ing</span><span class="s2"> his fame and fortune in the Windy City. </span><span class="s2">As you know from a previous post</span><span class="s2">,</span><span class="s2"> h</span><span class="s2">e graduated a few months ago and spent</span><span class="s2"> a good part of</span><span class="s2"> the summer living at home. It was like old times</span><span class="s2">—</span><span class="s2">weekends together, watching a movie or baseball game</span><span class="s2"> on television</span><span class="s2"> or just enjoying a beer by the barbeque. It </span><span class="s2">felt</span><span class="s2"> awkward </span><span class="s2">at times </span><span class="s2">leading up to today</span><span class="s2">,</span><span class="s2"> knowing that this</span><span class="s2"> chapter was about to end.</span></span></div>
<div class="s2" style="margin-bottom: 0px; margin-top: 0px;">
<span style="-webkit-text-size-adjust: auto; background-color: rgba(255, 255, 255, 0);"><span class="s2"><br /></span></span></div>
<div class="s2" style="margin-bottom: 0px; margin-top: 0px;">
<span style="-webkit-text-size-adjust: auto; background-color: rgba(255, 255, 255, 0);"><span class="s2">As I walked out of </span><span class="s2">our </span><span class="s2">apartment</span><span class="s2"> this morning</span><span class="s2">, I put on a happy face, gave </span><span class="s2">my son </span><span class="s2">a big hug</span><span class="s2">,</span><span class="s2"> and told him to text me when he landed. As I closed the front door and started to walk down the stairs, tears were rolling down my face. I was uncontrollably sobbing.</span></span></div>
<div class="s2" style="margin-bottom: 0px; margin-top: 0px;">
<span style="-webkit-text-size-adjust: auto; background-color: rgba(255, 255, 255, 0);"><span class="s2"><br /></span></span></div>
<div class="s2" style="margin-bottom: 0px; margin-top: 0px;">
<span style="-webkit-text-size-adjust: auto; background-color: rgba(255, 255, 255, 0);"><span class="s2">No one told me there would be days like this. Be warned, they happen</span><span class="s2">,</span><span class="s2"> and it’s hard. What </span><span class="s2">is getting </span><span class="s2">me through </span><span class="s2">it</span><span class="s2"> is the excitement I </span><span class="s2">feel </span><span class="s2">for him as he start</span><span class="s2">s</span><span class="s2"> a new chapter of</span><span class="s2"> his life. Your </span><span class="s2">twenties </span><span class="s2">are an amazing time</span><span class="s2">—</span><span class="s2">difficult but </span><span class="s2">also</span><span class="s2"> exciting. Yo</span><span class="s2">u</span><span class="s2">’</span><span class="s2">re</span><span class="s2"> figuring out who you</span><span class="s2"> are</span><span class="s2">, what you stand for, what you want to</span><span class="s2"> do, and how and where you want to plant your flag.</span></span></div>
<div class="s2" style="margin-bottom: 0px; margin-top: 0px;">
<span style="-webkit-text-size-adjust: auto; background-color: rgba(255, 255, 255, 0);"><span class="s2"><br /></span></span></div>
<div class="s2" style="margin-bottom: 0px; margin-top: 0px;">
<span style="-webkit-text-size-adjust: auto; background-color: rgba(255, 255, 255, 0);"><span class="s2"><a href="https://www.youtube.com/watch?v=s5BJXwNeKsQ">Letting go is the most difficult thing for a parent</a></span><span class="s2">—l</span><span class="s2">etting </span><span class="s2">children </span><span class="s2">go and figure stuff out</span><span class="s2"> on their own, experience both </span><span class="s2"></span><span class="s2">the pain and joy of life</span><span class="s2"> without you</span><span class="s2">. I am a control freak</span><span class="s2">;</span><span class="s2"> I like to help map out plans, create ideas and</span><span class="s2"> businesses</span><span class="s2">,</span><span class="s2"> but in this instance I can’t. I have to let go and hope that whatever advice or influence </span><span class="s2">I’ve given </span><span class="s2">(good or bad) will resonate </span><span class="s2">and </span><span class="s2">help shape </span><span class="s2">a strong and confident child, ready to take on the world on </span><span class="s2">his </span><span class="s2">own two </span><span class="s2">(immeasurably capable) </span><span class="s2">feet.</span></span></div>
<div class="s2" style="margin-bottom: 0px; margin-top: 0px;">
<span style="-webkit-text-size-adjust: auto; background-color: rgba(255, 255, 255, 0);"><span class="s2"><br /></span></span></div>
<div class="s2" style="margin-bottom: 0px; margin-top: 0px;">
<br /></div>
Warren Cohenhttp://www.blogger.com/profile/11472872083753089542noreply@blogger.com0tag:blogger.com,1999:blog-5361485972642061422.post-62934857018633123122015-07-15T08:02:00.000-07:002015-07-15T08:02:57.499-07:00Financial Planning versus Financial Preparedness<br /><div class="MsoNormal">
This past year I began incorporating financial planning into
my practice. For years I had been more of an investment manager and financial
advisor but never a planner. To clear up the jargon, an investment manager
evaluates and selects securities to construct a portfolio for clients. A
financial advisor gives advice on an array of investments and coaches clients
through good and bad markets. A financial planner helps individuals set objectives
and create a plan to achieve their goals. <o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
In day-to-day life I am not much of a planner. I kind of
like to fly by the seat of my pants. When my family travels to a new city, I
never map out where we are going or what we are going to visit. I prefer to
wander and see where we end up, which usually leads to a fight and the five of
us lost in some obscure part of town. Don’t believe me—ask my wife about our
trip to Montreal a few years ago.<o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
When it comes to college or “retirement” planning, you can’t
really afford to fly by the seat of your pants. You have to save, and you need
a plan to manage your assets accordingly. Hoping that you’ll have the funds to
pay for Junior’s first year at Michigan is not a good plan. Maybe your daughter
surprises you with news that she’s getting married. It can be extremely challenging
to fly blind.<o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
My problem with financial planning is the assumptions it
makes. We run numbers and scenarios through computer models, and they spit out
a plan. Fortunately or unfortunately, life is not like this. Markets don’t go
up 5% a year, interest rates go down, you lose your job, Junior decides he
wants to go to medical school after he gets his MBA, and the inheritance you
think you may receive doesn’t pan out. Mike Tyson said it best, “Everyone has a
plan until they get punched in the face.”<o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiS3v855iZor2Nup3b7b1I21DFSVi9e3QuibCfuZDMXUVy21l6CXjigGggJ64ml12GCfkgudP7zL_3eXXA2Q0sNUu7fT_F2TBfDQdBkPB_rnDWHe1is1Q4I1kAy45lrvZBI-Nf0lBECodo/s1600/Tyson.jpg" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img border="0" height="179" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiS3v855iZor2Nup3b7b1I21DFSVi9e3QuibCfuZDMXUVy21l6CXjigGggJ64ml12GCfkgudP7zL_3eXXA2Q0sNUu7fT_F2TBfDQdBkPB_rnDWHe1is1Q4I1kAy45lrvZBI-Nf0lBECodo/s320/Tyson.jpg" width="320" /></a></div>
<br />
<div class="MsoNormal">
Another wise person once said, “He who fails to plan, plans
to fail.” The statement easily applies to financial planning, but instead of calling
it that, can we call it “financial preparedness”? Planning assumes static
inputs with a predictable outcome, but things are never that neat and tidy. I
like my new phrase, <i>financial
preparedness.</i> Being prepared is being ready for what might occur down the
road, nimble enough to turn on a dime, but also honest enough to admit we never
know what’s around the corner.<o:p></o:p></div>
Warren Cohenhttp://www.blogger.com/profile/11472872083753089542noreply@blogger.com1tag:blogger.com,1999:blog-5361485972642061422.post-32173039145178008792015-07-10T06:23:00.000-07:002015-07-10T10:27:58.656-07:00Golden Road<br />
<div style="margin: 0in 0in 10pt;">
<span style="font-family: Calibri;">Away from the hamster wheel of noise about Greece and the
falling Chinese stock market, I find myself thinking about the Grateful Dead.
In case you were away or checked out, the Grateful Dead performed 3 shows last
weekend in Chicago commemorating the 50<sup><span style="font-size: x-small;">th</span></sup> anniversary of the band. I
was never a Dead Head and never even appreciated their music growing up. I
probably was anti-Dead, favoring the music of Rod Stewart, Elton John, and
Kiss. Dead Heads were “hippies,” and for some reason that had a bad connotation
for me. </span><br />
<span style="font-family: Calibri;"><br /></span>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgrMYHdF75CplhpFBwNSo3P7Q0K91VthLtbcb2oSxlNuTJrXgiMpJCWTfzAgkwk65xixK37K6QCJ1V4e1qawCqc6Z5S_IT5RprHtQxHT5XKyKJLQ3sFQC1sG7Vyxb6t74uhSYYdh2FQsuY/s1600/Dead_50th_iPad+Air%252C+iPad+mini+2_%25282048x2048%2529.jpg" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img border="0" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgrMYHdF75CplhpFBwNSo3P7Q0K91VthLtbcb2oSxlNuTJrXgiMpJCWTfzAgkwk65xixK37K6QCJ1V4e1qawCqc6Z5S_IT5RprHtQxHT5XKyKJLQ3sFQC1sG7Vyxb6t74uhSYYdh2FQsuY/s200/Dead_50th_iPad+Air%252C+iPad+mini+2_%25282048x2048%2529.jpg" width="200" /></a></div>
<span style="font-family: Calibri;">As I have grown older and wiser, I have a newfound
appreciation for hippies and what they stand for. Believe it or not, having the
hippie aura has actually made me a better advisor, and here are some of the
reasons why:</span></div>
<span style="font-family: Calibri, sans-serif;"></span>
<ul><span style="font-family: Calibri, sans-serif;">
<li>If you think the news and papers were overloaded with stories about Greece, you should have been in my seat. The amount of whitepapers and webinars that hit my inbox was staggering, every money manager espousing the same analysis. Every firm had the same reaction to the action. My inner hippie advised me to tune out and turn on to continuing to live my life the way I have been doing. A pebble on the road is not going to derail me from my own personal financial goals</li>
<ul>
</ul>
<li>When thinking about your financial goals, be a free thinker. Don’t worry about what your neighbor or office mate is doing. Live your life, reject the mainstream, and stay focused on what is important to you and your family.</li>
<li>Don’t trust the man, the man being conventional Wall Street “wisdom.” Wall Street is not interested in your well-being; Wall Street is interested in its own well-being and how much it can extract from your pocket. Proprietary products, hedge funds, and structured notes are chocked full of hidden costs and fees you would never know about even if you read the myriad of disclosure pages. Keep it organic and simple.</li>
<li>Caring about investing with companies that make a difference in the environment and workplace is a good thing. Being kind and generous always help. In your financial plan, think about philanthropy. There are great benefits not just in the feeling that giving produces but also possibly tax wise.</li>
<li>When it comes to financial planning, and I have written about this numerous times, the easiest way to ensure more successful outcomes in the future is to keep your overhead down. Of course it makes sense to save and invest, but if you spend less, be less of a consumer, the better your chances of achieving financial freedom.</li>
</span></ul>
<span style="font-family: Calibri, sans-serif;">
</span>
<ul>
</ul>
<br />
<div style="margin: 0in 0in 10pt;">
<span style="font-family: Calibri;">I’ll finish by quoting the poet Robert Frost, who I don’t
think was a hippie or financial advisor but thought independently:</span></div>
<br />
<div style="margin: 0in 0in 10pt;">
<span style="font-family: Calibri;">Two roads diverged in a wood, and I—</span></div>
<div style="margin: 0in 0in 10pt;">
<span style="font-family: Calibri;">I took the one less traveled by,</span><br />
<br />
<span style="font-family: Calibri;">And that has made all the difference.</span><br />
<span style="font-family: Calibri;"><br /></span>
<div class="separator" style="clear: both; text-align: center;">
<span style="font-family: Calibri;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgKIU2LqGbcXyb-WXUZB-w_zX6Y5OuUwx-BK__VUTNuagSJ1LwGS4Y1a7BNmPqxYSK_etS6Vus2HlZl1JinAOzTiLLIUzpgZaYkPuhndZZe0yU-9WdM-4HYogyxtWHzQfttX9Sv45L_7KA/s1600/path-in-the-woods-1329993069LfF.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="239" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgKIU2LqGbcXyb-WXUZB-w_zX6Y5OuUwx-BK__VUTNuagSJ1LwGS4Y1a7BNmPqxYSK_etS6Vus2HlZl1JinAOzTiLLIUzpgZaYkPuhndZZe0yU-9WdM-4HYogyxtWHzQfttX9Sv45L_7KA/s320/path-in-the-woods-1329993069LfF.jpg" width="320" /></a></span></div>
</div>
<br />
<div style="margin: 0in 0in 10pt;">
<br />
<span style="font-family: Calibri;"><br /></span>
<span style="font-family: Calibri;"><br /></span></div>
<br />
<div style="margin: 0in 0in 10pt;">
</div>
Warren Cohenhttp://www.blogger.com/profile/11472872083753089542noreply@blogger.com0tag:blogger.com,1999:blog-5361485972642061422.post-92143802865482755992015-06-30T13:36:00.000-07:002015-07-01T06:46:02.289-07:00Good Morning America<br />
<div style="margin: 0in 0in 10pt;">
<a href="https://www.youtube.com/watch?v=OfxoM6trtZE"><span style="color: blue; font-family: Calibri;">Good
morning America how are you, don’t you know I’m your native son . . .</span></a></div>
<br />
<div style="margin: 0in 0in 10pt;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh5bM5UvdcXxrq09FB6F6DqFkQXNdwLxqnn3SPqqZGJ5eFap4BMo0EvNzd4GyeKbyAfg8eka5BxL7prqmCShqmu-zE1UA8LTudqk0xX0p5GsDAHFYvya3MO_KKqATIEJZKW8TJK-dPbJsk/s1600/sunrise.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="112" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh5bM5UvdcXxrq09FB6F6DqFkQXNdwLxqnn3SPqqZGJ5eFap4BMo0EvNzd4GyeKbyAfg8eka5BxL7prqmCShqmu-zE1UA8LTudqk0xX0p5GsDAHFYvya3MO_KKqATIEJZKW8TJK-dPbJsk/s200/sunrise.png" width="200" /></a><span style="font-family: Calibri;">It’s the 4<sup><span style="font-size: x-small;">th</span></sup> of July weekend, the real start to
summer. Lazy days, grilling, vacations, catching up on the books you wanted to
read over the winter. Soak it up and enjoy. </span><span style="color: blue; font-family: Calibri;"><a href="https://www.youtube.com/watch?v=Z-HLxpWGCzc">These are the days to
remember . . .</a></span></div>
<br />
<div style="margin: 0in 0in 10pt;">
<span style="font-family: Calibri;">I wanted to get a quick post out before the long weekend in
celebration of summer and taking time off. According to a survey conducted by
Staples Advantage, the business-to-business division of the office supplier
Staples, 53% of American workers are burned-out and overworked. What is even
more disturbing, according to the same survey, 86% of workers are happy and
willing to work for a promotion within their organization despite being burned-out
and overworked!</span></div>
<div style="margin: 0in 0in 10pt;">
<span style="font-family: Calibri;">While I don’t dismiss the value of hard work and the importance
of putting food on the table for your family, there has to be a balance between
work and life and also greater emphasis on valuing what is truly important.</span></div>
<div style="margin: 0in 0in 10pt;">
<span style="font-family: Calibri;">We all probably have different values and thoughts on what
we want out of life. I won’t judge and say that one is better than another. But
I do know that if you can’t go to work and have fun and find purpose in what
you are doing every day, it’s time to rethink what you are doing with your
time.</span></div>
<div style="margin: 0in 0in 10pt;">
<span style="font-family: Calibri;">One of my mentors, Ari Weinzweig, has written and lectured
extensively about the “energy crisis” in the American workplace. If you are working
in an environment that does not provide a <span lang="EN" style="mso-ansi-language: EN;">financially sound, supportive, sustainable way to be, you either need to
foster change or find a workplace that does create positive energy. In order to
have the power to create positive outcomes, we must have a stake in the
outcomes.</span></span></div>
<div style="margin: 0in 0in 10pt;">
<span style="font-family: Calibri;"><span lang="EN" style="mso-ansi-language: EN;">This weekend tune
out what doesn’t thrill you, fire up the grill, crack open a few cold ones
(whatever your choice), and enjoy the time off with friends and family.
Recharge your battery and ponder your own energy crisis at work and how you are
going to fix it on Monday morning. (Need a little extra nudge getting to that
vacation state of mind? Check out the latest post at <i style="mso-bidi-font-style: normal;">Harvard Business Review’</i>s “Work-Life Balance” blog: </span><span style="mso-bidi-font-family: "Times New Roman"; mso-fareast-font-family: "Times New Roman";"><a href="https://hbr.org/2015/06/get-in-the-right-state-of-mind-for-vacation"><span style="color: blue;">https://hbr.org/2015/06/get-in-the-right-state-of-mind-for-vacation</span></a>.)</span></span></div>
<div style="margin: 0in 0in 10pt;">
<span lang="EN" style="mso-ansi-language: EN;"><span style="font-family: Calibri;">Have a safe and
enjoyable 4<sup><span style="font-size: x-small;">th</span></sup>! </span></span></div>
<br />
<div style="margin: 0in 0in 10pt;">
</div>
Warren Cohenhttp://www.blogger.com/profile/11472872083753089542noreply@blogger.com0tag:blogger.com,1999:blog-5361485972642061422.post-16075044557392211712015-06-25T09:55:00.000-07:002015-06-25T09:55:56.983-07:00Put Me In Coach<br />
<div style="margin: 0in 0in 10pt;">
<span style="font-family: Calibri;">Last weekend I was listening to an interview with the
famous golfer Gary Player on local sports talk radio. Player has a new book out,
but what caught my attention was that he said he never worked with a coach when
he was on the pro circuit. He went on to say that he doesn’t understand why
today’s pros have a swing coach, a strength coach, and a nutritionist all on
staff. Player feels that if a pro cannot fix his own swing or get in shape, he
or she isn’t a top professional.</span></div>
<div style="margin: 0in 0in 10pt;">
<span style="font-family: Calibri;"><span id="goog_1653839735"></span><span id="goog_1653839736"><br /></span></span></div>
<div style="margin: 0in 0in 10pt;">
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjE_-W1IIt7R4VXtKtkbXkgpRUt88Curk4EOYR27ggAEfPSrcakq9ZRXvETv0d0iKGzMtWc0k-meR-9NLXZmdjr3QBn_C7Wzfj1MynB6jfk6pkwttYwKHkyCU0b2q6hB9G0Vl_Kkx-vTZ4/s1600/gary-player_550.jpg" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img border="0" height="212" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjE_-W1IIt7R4VXtKtkbXkgpRUt88Curk4EOYR27ggAEfPSrcakq9ZRXvETv0d0iKGzMtWc0k-meR-9NLXZmdjr3QBn_C7Wzfj1MynB6jfk6pkwttYwKHkyCU0b2q6hB9G0Vl_Kkx-vTZ4/s320/gary-player_550.jpg" width="320" /></a></div>
</div>
<div style="margin: 0in 0in 10pt;">
<span style="font-family: Calibri;">I couldn’t disagree more. There are very few people who can
actually motivate themselves consistently to get better. On top of that, very
few of us have the discipline to push ourselves to make that change. To take
this even further, I have yet to meet someone who can objectively look at a
situation and remove his or her own bias in making a decision or undertaking change.
This is why we all need help and why we need coaching.</span></div>
<br />
<div style="margin: 0in 0in 10pt;">
<span style="font-family: Calibri;">Take working out or training. You can join a gym, but gyms
make their money betting you aren’t going to show up. You sign up after
Christmas or before the summer when you need to get back in shape. You go for a
week or two, but after that your credit card is billed every month and you are
lucky if you show up once a week. </span></div>
<br />
<div style="margin: 0in 0in 10pt;">
<span style="font-family: Calibri;">When do you actually show up on a regular basis? When you
have hired a trainer/coach. A trainer holds you accountable to show up and do
your work out. A trainer pushes you when you don’t want to do that extra burpee
or sprint the last 100 feet. Despite what Gary Player thinks, most great
athletes have a coach or multiple coaches to push them to be better!</span></div>
<br />
<div style="margin: 0in 0in 10pt;">
<span style="font-family: Calibri;">The same could be said for investing and financial planning.
Most of it is not rocket science. It’s common sense. The problem is that most
of us don’t have the time or discipline to do it. More importantly, we as human
beings can’t be objective in looking at our own financial lives. When was the
last time you and your partner had an honest conversation about money, values, or
retirement?<span style="mso-spacerun: yes;"> </span>It’s not the type of
conversation that we generally want to have. Americans spend more time planning
a one-week vacation each year than looking over their finances—scary! </span></div>
<br />
<div style="margin: 0in 0in 10pt;">
<span style="font-family: Calibri;">Last year Vanguard did a study outlining a financial
advisor’s value. The company concluded that a good advisor could add 3% net
value to returns, half of that coming from behavioral coaching. Investors by
nature don’t like to sit still and let their investments work for them. There
is a psychological need to move from one investment to another, chasing
yesterday’s winner, which inevitably will be tomorrow’s loser. A good
advisor/coach keeps his or her clients invested in a properly allocated
portfolio according to their individual risk tolerance. Sometimes there is greater
value in what you don’t do versus what you do. To quote financier George Soros,</span><strong><span style="font-family: "Calibri","sans-serif"; line-height: 115%; mso-ascii-theme-font: minor-latin; mso-bidi-font-family: "Times New Roman"; mso-bidi-font-size: 7.5pt; mso-bidi-theme-font: minor-bidi; mso-hansi-theme-font: minor-latin;"> “If investing is
entertaining, if you’re having fun, you’re probably not making any money.
Good investing is boring</span></strong><b style="mso-bidi-font-weight: normal;"><span style="line-height: 115%; mso-bidi-font-size: 7.5pt;"><span style="font-family: Calibri;">.”</span></span></b></div>
<br />
<div style="margin: 0in 0in 10pt;">
<span style="line-height: 115%; mso-bidi-font-size: 7.5pt;"><span style="font-family: Calibri;">We
are human beings, which is to say that in much of what we do, we could benefit
from a second opinion. If you want to see better results in your golf game,
health, or portfolio, it pays to work with a coach.</span></span></div>
Warren Cohenhttp://www.blogger.com/profile/11472872083753089542noreply@blogger.com0tag:blogger.com,1999:blog-5361485972642061422.post-68215173081935904052015-06-19T12:58:00.001-07:002015-06-19T12:58:45.874-07:00Your Value Proposition<br />
<div style="margin: 0in 0in 10pt;">
Some of us hit the wall at different times in life. There is
the proverbial wall that one hits during a running race or long bike ride,
where you just run out of gas and can’t take another step or push the pedal one
more time. Some of us hit the wall when we can’t take doing the same activity
or job any longer. I hit the wall hard while working at JPMorgan. Going into
work at 277 Park Avenue every morning zapped the life out of me, and I knew I
had to make a change. A few weeks ago a good friend and client hit the wall in
terms of how he wants his money invested. He no longer wants to invest in
companies that negatively impact our environment and/or are involved with the manufacturing
of guns or ammunition. A very noble and impactful decision. <span style="mso-spacerun: yes;"> </span></div>
<br />
<div style="margin: 0in 0in 10pt;">
A few years ago it might have been a tall order to fill
unless you had a multimillion-dollar portfolio and could hire several money
managers to assemble it. According to the Forum for Sustainable Investing,
nearly $7 trillion dollars are being invested today in responsible and
sustainable investment strategies. The same study also states that nearly $1
out of every $6 is being invested in sustainable or socially responsible securities.
Today there are several hundred investment options focused on environmental,
social, and corporate governance (ESG) strategies. <br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgjZm736eqxe-wp3v1OMBdF0ko57fs1rrwH6b_3OAiXHwTbv6TAWxK_Q5Nmp1-uWfH5B6OKuz-5jhrE2BtP_KpY8Xf85d-gO43myYnAd7vSRj7FKniQbgWqmzqtQxl0EyOAI9fKGb0AAfo/s1600/climate-control.jpg" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img border="0" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgjZm736eqxe-wp3v1OMBdF0ko57fs1rrwH6b_3OAiXHwTbv6TAWxK_Q5Nmp1-uWfH5B6OKuz-5jhrE2BtP_KpY8Xf85d-gO43myYnAd7vSRj7FKniQbgWqmzqtQxl0EyOAI9fKGb0AAfo/s200/climate-control.jpg" width="200" /></a></div>
<br /></div>
<br />
<div style="margin: 0in 0in 10pt;">
The question for investors for many years had been “What do
I have to give up in terms of performance to invest in ESG strategies?” There
was a time when these investments’ performance lagged, but over the last few
years, according to a Calvert Investments study, ESG strategies/securities/investments/portfolios
have slightly outperformed the general global stock market. The stronger
performance over the past few years may be attributable to energy stocks
severely underperforming the general market because of falling oil prices, or
could it be attributable to better security selection? Your guess is as good as
mine. It is my opinion that today one does not have to sacrifice performance to
invest in socially responsible, or “impact,” securities that are more aligned
with his or her personal values. </div>
<br />
<div style="margin: 0in 0in 10pt;">
While performance is certainly important and we want our
money to grow, investing in ESG strategies has other benefits. Your money can
have an impact on how companies act or invest. Your money can help bring about change!
Two weeks ago, for example, Norway’s $890 billion government pension fund elected
to divest itself from investments related to coal. The <i style="mso-bidi-font-style: normal;"><a href="http://www.nytimes.com/2015/06/06/science/norway-in-push-against-climate-change-will-divest-from-coal.html"><span style="color: blue;">New
York Times</span></a></i> said it was “<span lang="EN" style="mso-ansi-language: EN;">the
biggest institution yet to join a growing international movement to abandon at
least some fossil fuel stocks.” The issue of climate change will in the
foreseeable future have a very big impact on companies that use or produce
large amounts of fossil fuels and potentially on their stocks as well.</span></div>
<br />
<div style="margin: 0in 0in 10pt;">
<span lang="EN" style="mso-ansi-language: EN;">If you don’t
think that investing in strategies that align with socially responsible values
can cause changes in policy, you need not look further than the divestment
efforts in the 1980s that eventually led to the end of apartheid in South
Africa. Institutions and endowments can have a strong say in the way
governments and businesses operate.</span></div>
<br />
<div style="margin: 0in 0in 10pt;">
<span lang="EN" style="mso-ansi-language: EN;">I hit the wall in
terms of my own investment style 15 years ago. I realized that trying to outsmart
the stock market was a loser’s game. If you have never read Burton Malkiel’s
book, <i style="mso-bidi-font-style: normal;">A Random Walk Down Wall Street,</i>
read it now—it is a great starting point to understand the fruitless exercise
of picking stocks and trying to beat the market on a consistent basis. Whatever
your values are, don’t be afraid to express them in terms of how you want your
money invested. After all, it is your money.</span></div>
<br />
<div style="margin: 0in 0in 10pt;">
<i><span style="font-size: 10.5pt; line-height: 115%;">Investing
in the stock market involves gains and losses and may not be suitable for all
investors. The investment’s socially responsible focus may limit the investment
options available to the investment and may result in returns lower than those
from investments not subject to such investment considerations</span></i></div>
Warren Cohenhttp://www.blogger.com/profile/11472872083753089542noreply@blogger.com0tag:blogger.com,1999:blog-5361485972642061422.post-15834967509827957462015-05-21T11:52:00.000-07:002015-05-21T15:18:50.075-07:00The Joy of Playing Small Ball<br />
<div class="MsoNormal" style="margin: 0in 0in 10pt;">
<span style="font-family: Calibri;">I am not what you would call an avid baseball fan. I cheer
for the New York Mets and Detroit Tigers for sentimental reasons, not because I
love the game. I do miss the summer nights, driving around Michigan listening to Ernie
Harwell on the radio and enjoying the best ballpark hot dogs ever at the
original Tiger Stadium. Even though it was a dump, part of me misses Shea
Stadium where the Mets played until they moved to Citi Field a few years ago. </span></div>
<span style="font-family: Calibri;"></span><br />
<span style="font-family: Calibri;"><table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="float: left; margin-right: 1em; text-align: left;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjmS8cwx7DNvIh1NTjbqP-mySbJ00qpBGaPubfDMN4rQbmRxsYbelj7k_jHWzGbP5j_0Nhdy3vMvaXJ1PIXHnOIzXBqe7wLAqe_cTrRw4alfCIfcanDOadRp7Lr55Oe3v0SqW6EkANBZXI/s1600/Ernie_Harwell_-_WJROneOfAKind.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjmS8cwx7DNvIh1NTjbqP-mySbJ00qpBGaPubfDMN4rQbmRxsYbelj7k_jHWzGbP5j_0Nhdy3vMvaXJ1PIXHnOIzXBqe7wLAqe_cTrRw4alfCIfcanDOadRp7Lr55Oe3v0SqW6EkANBZXI/s200/Ernie_Harwell_-_WJROneOfAKind.jpg" width="200" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Talking baseball<br />
</td></tr>
</tbody></table>
</span><br />
<div class="MsoNormal" style="margin: 0in 0in 10pt;">
<span style="font-family: Calibri;">There is a term in baseball called “small ball” that I
appreciate. Small ball essentially is playing to manufacture runs. The idea is
to get runners on base, advance them and get them home to score. In small ball
you don’t rely on walks or home runs, it’s about taking control of the game,
getting runners in position to be successful.</span></div>
<div class="MsoNormal" style="margin: 0in 0in 10pt;">
<span style="font-family: Calibri;">When I speak with clients, most of them are overwhelmed with
all the stuff we have to do and remember. There are forms, login usernames and passwords,
emails upon emails, bills to pay, and investment accounts to review. It seems
that if you throw one more thing on the proverbial plate to do, you will
explode.</span></div>
<div class="MsoNormal" style="margin: 0in 0in 10pt;">
<span style="font-family: Calibri;">This is the time to play small ball. Take control of the
situation, simplify your activities and hand off what you can hand off. There
are only so many waking hours in the day and you don’t want to spend it on the
phone with a help desk in Manila.</span></div>
<div class="MsoNormal" style="margin: 0in 0in 10pt;">
<span style="font-family: Calibri;">I am not an organization expert but I find short cuts that
work for me. Start with unsubscribing from all of those email distribution
lists. That should cut the clutter in your inbox in half. Create folders and
rules so that certain emails go into folders that you can review at your
convenience. <span style="mso-spacerun: yes;"> </span>Set up bills to be paid
from auto debit. Put as many bills as possible to be paid on your credit card.
Warning: only do this if you are paying off your credit card bill each month.
You don’t want to ring up additional interest charges.</span></div>
<div class="MsoNormal" style="margin: 0in 0in 10pt;">
<span style="font-family: Calibri;">When it comes to investing, there are do-it-yourselfers and
delegators. If you have the time, expertise, and ability to remove yourself
from making emotionally charged decisions, by all means do it yourself. Most of
us don’t have the time, expertise, or temperament. A good advisor more than
pays for themselves by being tax efficient, harvesting tax losses each year,
rebalancing, and keeping you invested when markets get ugly. Fees may be less
if you do it yourself, but when you measure what your time and good advice is
worth, I think you’ll find delegating to an advisor is a smart choice.<span style="mso-spacerun: yes;"> </span></span></div>
<div class="MsoNormal" style="margin: 0in 0in 10pt;">
<span style="font-family: Calibri;">Returning to baseball for a moment, the sacrifice fly ball
is a great example of small ball. A sacrifice fly ball is when the batter will
hit the ball into the outfield to allow a runner to tag up and advance the base
he is on. The batter in essence is giving up his chance of getting a hit for
the sake of advancing the runner. Giving up something, or simplifying a process
for your greater good, is playing small ball.<span style="mso-spacerun: yes;">
</span>The next time you are feeling overwhelmed with all that you have to do, take
control of it, and play small ball. <o:p></o:p></span></div>
<br />Warren Cohenhttp://www.blogger.com/profile/11472872083753089542noreply@blogger.com0tag:blogger.com,1999:blog-5361485972642061422.post-26377462468903686992015-05-15T12:38:00.000-07:002015-05-15T12:38:23.746-07:00Lists
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgCcaESAMQBrTYTKtIWf0oZdfYML1aid38bkAufkLsEztUp00VNs3RaI_LJOiUCi9b2Q6XjgvV2s3IruMZYHLJVjx17O2DBjAZQVYh2oYCJrxy8F3FMj1C8Vz6Drgm5yiY3p-CE-DcbYoM/s1600/High+Fidelity.JPG" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgCcaESAMQBrTYTKtIWf0oZdfYML1aid38bkAufkLsEztUp00VNs3RaI_LJOiUCi9b2Q6XjgvV2s3IruMZYHLJVjx17O2DBjAZQVYh2oYCJrxy8F3FMj1C8Vz6Drgm5yiY3p-CE-DcbYoM/s320/High+Fidelity.JPG" width="214" /></a></div>
<div class="MsoNormal" style="margin: 0in 0in 10pt;">
<span style="font-family: Calibri;">One of my favorite movies is <i style="mso-bidi-font-style: normal;">High Fidelity</i> starring John Cusack.<span style="mso-spacerun: yes;">
</span>The movie is based on the book by Nick Hornby, which I am ashamed to
admit I never read. Cusack plays the owner of a record shop who is an obsessive
list maker. Lists are great to stay organized and keep track of things to do:
groceries, packing, or items that need to be accomplished at the office the
next morning. Lists are also a great way of ranking or prioritizing what is
most important to us.<o:p></o:p></span></div>
<br />
<div class="MsoNormal" style="margin: 0in 0in 10pt;">
<span style="font-family: Calibri;">I spend a lot of my time getting to know what is important
to clients and potential new clients. What makes then tick, what keeps them up
at night or, even, what is their favorite cocktail? It recently dawned on me to
ask my clients, how well do you know me? Below are a few lists of some of my
favorite things. Let me know what you think.<o:p></o:p></span></div>
<br />
<div class="MsoNormal" style="margin: 0in 0in 10pt;">
<b style="mso-bidi-font-weight: normal;"><span style="font-family: Calibri;">Favorite Movie</span></b></div>
<div class="MsoListParagraphCxSpFirst" style="margin: 0in 0in 0pt 0.5in; mso-list: l2 level1 lfo1; text-indent: -0.25in;">
<span style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"><span style="mso-list: Ignore;"><span style="font-family: Calibri;">1.</span><span style="font-size-adjust: none; font-stretch: normal; font: 7pt/normal "Times New Roman";">
</span></span></span><span style="font-family: Calibri;">Rocky <o:p></o:p></span></div>
<br />
<div class="MsoListParagraphCxSpMiddle" style="margin: 0in 0in 0pt 0.5in; mso-list: l2 level1 lfo1; text-indent: -0.25in;">
<span style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"><span style="mso-list: Ignore;"><span style="font-family: Calibri;">2.</span><span style="font-size-adjust: none; font-stretch: normal; font: 7pt/normal "Times New Roman";">
</span></span></span><span style="font-family: Calibri;">Dog Day Afternoon<o:p></o:p></span></div>
<br />
<div class="MsoListParagraphCxSpMiddle" style="margin: 0in 0in 0pt 0.5in; mso-list: l2 level1 lfo1; text-indent: -0.25in;">
<span style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"><span style="mso-list: Ignore;"><span style="font-family: Calibri;">3.</span><span style="font-size-adjust: none; font-stretch: normal; font: 7pt/normal "Times New Roman";">
</span></span></span><span style="font-family: Calibri;">American Beauty<o:p></o:p></span></div>
<br />
<div class="MsoListParagraphCxSpMiddle" style="margin: 0in 0in 0pt 0.5in; mso-list: l2 level1 lfo1; text-indent: -0.25in;">
<span style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"><span style="mso-list: Ignore;"><span style="font-family: Calibri;">4.</span><span style="font-size-adjust: none; font-stretch: normal; font: 7pt/normal "Times New Roman";">
</span></span></span><span style="font-family: Calibri;">Big Chill<o:p></o:p></span></div>
<br />
<div class="MsoListParagraphCxSpLast" style="margin: 0in 0in 10pt 0.5in; mso-list: l2 level1 lfo1; text-indent: -0.25in;">
<span style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"><span style="mso-list: Ignore;"><span style="font-family: Calibri;">5.</span><span style="font-size-adjust: none; font-stretch: normal; font: 7pt/normal "Times New Roman";">
</span></span></span><span style="font-family: Calibri;">Annie Hall<o:p></o:p></span></div>
<br />
<div class="MsoNormal" style="margin: 0in 0in 10pt;">
<b style="mso-bidi-font-weight: normal;"><span style="font-family: Calibri;">Favorite Song</span></b></div>
<div class="MsoListParagraphCxSpFirst" style="margin: 0in 0in 0pt 0.5in; mso-list: l10 level1 lfo2; text-indent: -0.25in;">
<span style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"><span style="mso-list: Ignore;"><span style="font-family: Calibri;">1.</span><span style="font-size-adjust: none; font-stretch: normal; font: 7pt/normal "Times New Roman";">
</span></span></span><span style="font-family: Calibri;">Can’t you hear me knocking<o:p></o:p></span></div>
<br />
<div class="MsoListParagraphCxSpMiddle" style="margin: 0in 0in 0pt 0.5in; mso-list: l10 level1 lfo2; text-indent: -0.25in;">
<span style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"><span style="mso-list: Ignore;"><span style="font-family: Calibri;">2.</span><span style="font-size-adjust: none; font-stretch: normal; font: 7pt/normal "Times New Roman";">
</span></span></span><span style="font-family: Calibri;">Roxanne<o:p></o:p></span></div>
<br />
<div class="MsoListParagraphCxSpMiddle" style="margin: 0in 0in 0pt 0.5in; mso-list: l10 level1 lfo2; text-indent: -0.25in;">
<span style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"><span style="mso-list: Ignore;"><span style="font-family: Calibri;">3.</span><span style="font-size-adjust: none; font-stretch: normal; font: 7pt/normal "Times New Roman";">
</span></span></span><span style="font-family: Calibri;">Smells Like Teen Spirit<o:p></o:p></span></div>
<br />
<div class="MsoListParagraphCxSpMiddle" style="margin: 0in 0in 0pt 0.5in; mso-list: l10 level1 lfo2; text-indent: -0.25in;">
<span style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"><span style="mso-list: Ignore;"><span style="font-family: Calibri;">4.</span><span style="font-size-adjust: none; font-stretch: normal; font: 7pt/normal "Times New Roman";">
</span></span></span><span style="font-family: Calibri;">Thunder Road<o:p></o:p></span></div>
<br />
<div class="MsoListParagraphCxSpLast" style="margin: 0in 0in 10pt 0.5in; mso-list: l10 level1 lfo2; text-indent: -0.25in;">
<span style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"><span style="mso-list: Ignore;"><span style="font-family: Calibri;">5.</span><span style="font-size-adjust: none; font-stretch: normal; font: 7pt/normal "Times New Roman";">
</span></span></span><span style="font-family: Calibri;">Levon<o:p></o:p></span></div>
<br />
<div class="MsoNormal" style="margin: 0in 0in 10pt;">
<b style="mso-bidi-font-weight: normal;"><span style="font-family: Calibri;">Favorite Band</span></b></div>
<div class="MsoListParagraphCxSpFirst" style="margin: 0in 0in 0pt 0.5in; mso-list: l3 level1 lfo3; text-indent: -0.25in;">
<span style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"><span style="mso-list: Ignore;"><span style="font-family: Calibri;">1.</span><span style="font-size-adjust: none; font-stretch: normal; font: 7pt/normal "Times New Roman";">
</span></span></span><span style="font-family: Calibri;">Rolling Stones<o:p></o:p></span></div>
<br />
<div class="MsoListParagraphCxSpMiddle" style="margin: 0in 0in 0pt 0.5in; mso-list: l3 level1 lfo3; text-indent: -0.25in;">
<span style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"><span style="mso-list: Ignore;"><span style="font-family: Calibri;">2.</span><span style="font-size-adjust: none; font-stretch: normal; font: 7pt/normal "Times New Roman";">
</span></span></span><span style="font-family: Calibri;">Bruce Springsteen and the E Street Band<o:p></o:p></span></div>
<br />
<div class="MsoListParagraphCxSpMiddle" style="margin: 0in 0in 0pt 0.5in; mso-list: l3 level1 lfo3; text-indent: -0.25in;">
<span style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"><span style="mso-list: Ignore;"><span style="font-family: Calibri;">3.</span><span style="font-size-adjust: none; font-stretch: normal; font: 7pt/normal "Times New Roman";">
</span></span></span><span style="font-family: Calibri;">Bob Marley and the Wailers<o:p></o:p></span></div>
<br />
<div class="MsoListParagraphCxSpMiddle" style="margin: 0in 0in 0pt 0.5in; mso-list: l3 level1 lfo3; text-indent: -0.25in;">
<span style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"><span style="mso-list: Ignore;"><span style="font-family: Calibri;">4.</span><span style="font-size-adjust: none; font-stretch: normal; font: 7pt/normal "Times New Roman";">
</span></span></span><span style="font-family: Calibri;">The Police<o:p></o:p></span></div>
<br />
<div class="MsoListParagraphCxSpLast" style="margin: 0in 0in 10pt 0.5in; mso-list: l3 level1 lfo3; text-indent: -0.25in;">
<span style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"><span style="mso-list: Ignore;"><span style="font-family: Calibri;">5.</span><span style="font-size-adjust: none; font-stretch: normal; font: 7pt/normal "Times New Roman";">
</span></span></span><span style="font-family: Calibri;">Nirvana<o:p></o:p></span></div>
<br />
<div class="MsoNormal" style="margin: 0in 0in 10pt;">
<b style="mso-bidi-font-weight: normal;"><span style="font-family: Calibri;">Favorite Food</span></b></div>
<div class="MsoListParagraph" style="margin: 0in 0in 10pt 0.5in; mso-list: l8 level1 lfo4; text-indent: -0.25in;">
<span style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"><span style="mso-list: Ignore;"><span style="font-family: Calibri;">1.</span><span style="font-size-adjust: none; font-stretch: normal; font: 7pt/normal "Times New Roman";">
</span></span></span><span style="font-family: Calibri;">Veal Parmigiana<o:p></o:p></span></div>
<br />
<div class="MsoNormal" style="margin: 0in 0in 10pt;">
<b style="mso-bidi-font-weight: normal;"><span style="font-family: Calibri;">Favorite Wine Region</span></b></div>
<div class="MsoListParagraph" style="margin: 0in 0in 10pt 0.5in; mso-list: l0 level1 lfo13; text-indent: -0.25in;">
<span style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"><span style="mso-list: Ignore;"><span style="font-family: Calibri;">1.</span><span style="font-size-adjust: none; font-stretch: normal; font: 7pt/normal "Times New Roman";">
</span></span></span><span style="font-family: Calibri;">Bordeaux<o:p></o:p></span></div>
<br />
<div class="MsoNormal" style="margin: 0in 0in 10pt;">
<b style="mso-bidi-font-weight: normal;"><span style="font-family: Calibri;">Favorite Whiskey</span></b></div>
<div class="MsoListParagraph" style="margin: 0in 0in 10pt 0.5in; mso-list: l13 level1 lfo14; text-indent: -0.25in;">
<span style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"><span style="mso-list: Ignore;"><span style="font-family: Calibri;">1.</span><span style="font-size-adjust: none; font-stretch: normal; font: 7pt/normal "Times New Roman";">
</span></span></span><span style="font-family: Calibri;">Laphroaig</span></div>
<div class="MsoListParagraph" style="margin: 0in 0in 10pt 0.5in; mso-list: l13 level1 lfo14; text-indent: -0.25in;">
<span style="font-family: Calibri;"></span> </div>
<div class="MsoNormal" style="margin: 0in 0in 10pt;">
<b style="mso-bidi-font-weight: normal;"><span style="font-family: Calibri;">Favorite Team Logo</span></b></div>
<div class="MsoListParagraphCxSpFirst" style="margin: 0in 0in 0pt 0.5in; mso-list: l4 level1 lfo6; text-indent: -0.25in;">
<span style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"><span style="mso-list: Ignore;"><span style="font-family: Calibri;">1.</span><span style="font-size-adjust: none; font-stretch: normal; font: 7pt/normal "Times New Roman";">
</span></span></span><span style="font-family: Calibri;">Chicago Blackhawks<o:p></o:p></span></div>
<br />
<div class="MsoListParagraphCxSpMiddle" style="margin: 0in 0in 0pt 0.5in; mso-list: l4 level1 lfo6; text-indent: -0.25in;">
<span style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"><span style="mso-list: Ignore;"><span style="font-family: Calibri;">2.</span><span style="font-size-adjust: none; font-stretch: normal; font: 7pt/normal "Times New Roman";">
</span></span></span><span style="font-family: Calibri;">Baltimore Orioles<o:p></o:p></span></div>
<br />
<div class="MsoListParagraphCxSpLast" style="margin: 0in 0in 10pt 0.5in; mso-list: l4 level1 lfo6; text-indent: -0.25in;">
<span style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"><span style="mso-list: Ignore;"><span style="font-family: Calibri;">3.</span><span style="font-size-adjust: none; font-stretch: normal; font: 7pt/normal "Times New Roman";">
</span></span></span><span style="font-family: Calibri;">Detroit Tigers<o:p></o:p></span></div>
<br />
<div class="MsoNormal" style="margin: 0in 0in 10pt;">
<b style="mso-bidi-font-weight: normal;"><span style="font-family: Calibri;">Favorite Football
Helmet</span></b></div>
<div class="MsoListParagraph" style="margin: 0in 0in 10pt 0.5in; mso-list: l7 level1 lfo5; text-indent: -0.25in;">
<span style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"><span style="mso-list: Ignore;"><span style="font-family: Calibri;">1.</span><span style="font-size-adjust: none; font-stretch: normal; font: 7pt/normal "Times New Roman";">
</span></span></span><span style="font-family: Calibri;">Michigan Wolverines<o:p></o:p></span></div>
<br />
<div class="MsoNormal" style="margin: 0in 0in 10pt;">
<b style="mso-bidi-font-weight: normal;"><span style="font-family: Calibri;">Favorite Book</span></b></div>
<div class="MsoListParagraph" style="margin: 0in 0in 10pt 0.5in; mso-list: l12 level1 lfo7; text-indent: -0.25in;">
<span style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"><span style="mso-list: Ignore;"><span style="font-family: Calibri;">1.</span><span style="font-size-adjust: none; font-stretch: normal; font: 7pt/normal "Times New Roman";">
</span></span></span><span style="font-family: Calibri;">Catcher in the Rye<o:p></o:p></span></div>
<br />
<div class="MsoNormal" style="margin: 0in 0in 10pt;">
<b style="mso-bidi-font-weight: normal;"><span style="font-family: Calibri;">Favorite Writer</span></b></div>
<div class="MsoListParagraph" style="margin: 0in 0in 10pt 0.5in; mso-list: l5 level1 lfo12; text-indent: -0.25in;">
<span style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"><span style="mso-list: Ignore;"><span style="font-family: Calibri;">1.</span><span style="font-size-adjust: none; font-stretch: normal; font: 7pt/normal "Times New Roman";">
</span></span></span><span style="font-family: Calibri;">Michael Lewis<o:p></o:p></span></div>
<br />
<div class="MsoNormal" style="margin: 0in 0in 10pt;">
<b style="mso-bidi-font-weight: normal;"><span style="font-family: Calibri;">Favorite Actor</span></b></div>
<div class="MsoListParagraphCxSpFirst" style="margin: 0in 0in 0pt 0.5in; mso-list: l9 level1 lfo8; text-indent: -0.25in;">
<span style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"><span style="mso-list: Ignore;"><span style="font-family: Calibri;">1.</span><span style="font-size-adjust: none; font-stretch: normal; font: 7pt/normal "Times New Roman";">
</span></span></span><span style="font-family: Calibri;">Robert Redford </span></div>
<br />
<div class="MsoListParagraphCxSpMiddle" style="margin: 0in 0in 0pt 0.5in; mso-list: l9 level1 lfo8; text-indent: -0.25in;">
<span style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"><span style="mso-list: Ignore;"><span style="font-family: Calibri;">2.</span><span style="font-size-adjust: none; font-stretch: normal; font: 7pt/normal "Times New Roman";">
</span></span></span><span style="font-family: Calibri;">George Clooney<o:p></o:p></span></div>
<br />
<div class="MsoListParagraphCxSpLast" style="margin: 0in 0in 10pt 0.5in; mso-list: l9 level1 lfo8; text-indent: -0.25in;">
<span style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"><span style="mso-list: Ignore;"><span style="font-family: Calibri;">3.</span><span style="font-size-adjust: none; font-stretch: normal; font: 7pt/normal "Times New Roman";">
</span></span></span><span style="font-family: Calibri;">Paul Newman<o:p></o:p></span></div>
<br />
<div class="MsoNormal" style="margin: 0in 0in 10pt;">
<b style="mso-bidi-font-weight: normal;"><span style="font-family: Calibri;">Favorite Actress</span></b></div>
<div class="MsoListParagraph" style="margin: 0in 0in 10pt 0.5in; mso-list: l1 level1 lfo9; text-indent: -0.25in;">
<span style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"><span style="mso-list: Ignore;"><span style="font-family: Calibri;">1.</span><span style="font-size-adjust: none; font-stretch: normal; font: 7pt/normal "Times New Roman";">
</span></span></span><span style="font-family: Calibri;">Julianne Moore<o:p></o:p></span></div>
<br />
<div class="MsoNormal" style="margin: 0in 0in 10pt;">
<b style="mso-bidi-font-weight: normal;"><span style="font-family: Calibri;">Favorite TV Show</span></b></div>
<div class="MsoListParagraphCxSpFirst" style="margin: 0in 0in 0pt 0.5in; mso-list: l11 level1 lfo10; text-indent: -0.25in;">
<span style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"><span style="mso-list: Ignore;"><span style="font-family: Calibri;">1.</span><span style="font-size-adjust: none; font-stretch: normal; font: 7pt/normal "Times New Roman";">
</span></span></span><span style="font-family: Calibri;">Friday Night Lights<o:p></o:p></span></div>
<br />
<div class="MsoListParagraphCxSpMiddle" style="margin: 0in 0in 0pt 0.5in; mso-list: l11 level1 lfo10; text-indent: -0.25in;">
<span style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"><span style="mso-list: Ignore;"><span style="font-family: Calibri;">2.</span><span style="font-size-adjust: none; font-stretch: normal; font: 7pt/normal "Times New Roman";">
</span></span></span><span style="font-family: Calibri;">Sopranos<o:p></o:p></span></div>
<br />
<div class="MsoListParagraphCxSpMiddle" style="margin: 0in 0in 0pt 0.5in; mso-list: l11 level1 lfo10; text-indent: -0.25in;">
<span style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"><span style="mso-list: Ignore;"><span style="font-family: Calibri;">3.</span><span style="font-size-adjust: none; font-stretch: normal; font: 7pt/normal "Times New Roman";">
</span></span></span><span style="font-family: Calibri;">St. Elsewhere<o:p></o:p></span></div>
<br />
<div class="MsoListParagraphCxSpMiddle" style="margin: 0in 0in 0pt 0.5in; mso-list: l11 level1 lfo10; text-indent: -0.25in;">
<span style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"><span style="mso-list: Ignore;"><span style="font-family: Calibri;">4.</span><span style="font-size-adjust: none; font-stretch: normal; font: 7pt/normal "Times New Roman";">
</span></span></span><span style="font-family: Calibri;">Curb Your Enthusiasm<o:p></o:p></span></div>
<br />
<div class="MsoListParagraphCxSpLast" style="margin: 0in 0in 10pt 0.5in; mso-list: l11 level1 lfo10; text-indent: -0.25in;">
<span style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"><span style="mso-list: Ignore;"><span style="font-family: Calibri;">5.</span><span style="font-size-adjust: none; font-stretch: normal; font: 7pt/normal "Times New Roman";">
</span></span></span><span style="font-family: Calibri;">Cheers<o:p></o:p></span></div>
<br />
<div class="MsoNormal" style="margin: 0in 0in 10pt;">
<b style="mso-bidi-font-weight: normal;"><span style="font-family: Calibri;">Favorite Athlete</span></b></div>
<div class="MsoListParagraphCxSpFirst" style="margin: 0in 0in 0pt 0.5in; mso-list: l6 level1 lfo11; text-indent: -0.25in;">
<span style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"><span style="mso-list: Ignore;"><span style="font-family: Calibri;">1.</span><span style="font-size-adjust: none; font-stretch: normal; font: 7pt/normal "Times New Roman";">
</span></span></span><span style="font-family: Calibri;">John McEnroe<o:p></o:p></span></div>
<br />
<div class="MsoListParagraphCxSpMiddle" style="margin: 0in 0in 0pt 0.5in; mso-list: l6 level1 lfo11; text-indent: -0.25in;">
<span style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"><span style="mso-list: Ignore;"><span style="font-family: Calibri;">2.</span><span style="font-size-adjust: none; font-stretch: normal; font: 7pt/normal "Times New Roman";">
</span></span></span><span style="font-family: Calibri;">Andre Agassi<o:p></o:p></span></div>
<br />
<div class="MsoListParagraphCxSpMiddle" style="margin: 0in 0in 0pt 0.5in; mso-list: l6 level1 lfo11; text-indent: -0.25in;">
<span style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"><span style="mso-list: Ignore;"><span style="font-family: Calibri;">3.</span><span style="font-size-adjust: none; font-stretch: normal; font: 7pt/normal "Times New Roman";">
</span></span></span><span style="font-family: Calibri;">Anthony Carter<o:p></o:p></span></div>
<br />
<div class="MsoListParagraphCxSpMiddle" style="margin: 0in 0in 0pt 0.5in; mso-list: l6 level1 lfo11; text-indent: -0.25in;">
<span style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"><span style="mso-list: Ignore;"><span style="font-family: Calibri;">4.</span><span style="font-size-adjust: none; font-stretch: normal; font: 7pt/normal "Times New Roman";">
</span></span></span><span style="font-family: Calibri;">Michael Jordan<o:p></o:p></span></div>
<br />
<div class="MsoListParagraphCxSpMiddle" style="margin: 0in 0in 0pt 0.5in; mso-list: l6 level1 lfo11; text-indent: -0.25in;">
<span style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"><span style="mso-list: Ignore;"><span style="font-family: Calibri;">5.</span><span style="font-size-adjust: none; font-stretch: normal; font: 7pt/normal "Times New Roman";">
</span></span></span><span style="font-family: Calibri;">Walt “Clyde” Frazier<o:p></o:p></span></div>
<br />
<div class="MsoListParagraphCxSpLast" style="margin: 0in 0in 10pt 0.5in; mso-list: l6 level1 lfo11; text-indent: -0.25in;">
<span style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"><span style="mso-list: Ignore;"><span style="font-family: Calibri;">6.</span><span style="font-size-adjust: none; font-stretch: normal; font: 7pt/normal "Times New Roman";">
</span></span></span><span style="font-family: Calibri;">Bo Jackson<o:p></o:p></span></div>
Warren Cohenhttp://www.blogger.com/profile/11472872083753089542noreply@blogger.com0tag:blogger.com,1999:blog-5361485972642061422.post-76910028142771808162015-04-29T11:33:00.000-07:002015-04-29T11:33:22.257-07:00Graduation
<br />
<div class="MsoNormal" style="margin: 0in 0in 10pt;">
<span style="font-family: Calibri;">It’s hard to believe that it’s that time of the year again.
I’m talking about graduation time. Over the next month you will hear and read a
lot of fantastic graduation speeches. Well, my son is graduating from the
University of Michigan this Saturday, and this is my commencement address to
him.<o:p></o:p></span></div>
<br />
<div class="MsoNormal" style="margin: 0in 0in 10pt;">
<i style="mso-bidi-font-style: normal;"><span style="font-family: Calibri;">Charles, I am very
proud of you. I know that I put a lot of pressure on you as well as your
sisters to attend Michigan and I hope it was as great an experience as I told
you it would be. You have taken some wonderful classes from inspiring
professors. Unfortunately, Michigan football was not Michigan football during
your four years, but I will never forget how excited you were after defeating
Notre Dame your freshman year. <span style="mso-spacerun: yes;"> </span>On the
flip side, you experienced an incredible run by our basketball team your
sophomore year and watched one of the true gentlemen of college sports, John
Beilein.<span style="mso-spacerun: yes;"> </span>You have made incredible
friends who will be with you for life. I am truly in awe of the relationships
you have forged over the past four years. <o:p></o:p></span></i></div>
<br />
<div class="MsoNormal" style="margin: 0in 0in 10pt;">
<i style="mso-bidi-font-style: normal;"><span style="font-family: Calibri;">As you are about to enter
the next chapter of your life, I want to offer the following advice:<o:p></o:p></span></i></div>
<br />
<div class="MsoNormal" style="margin: 0in 0in 10pt;">
<i style="mso-bidi-font-style: normal;"><span style="font-family: Calibri;">Be kind. It is so much
easier to go through life with a smile and compassion in your heart. There is
no room for nastiness or selfishness in this world, so please be kind and
considerate of others.<o:p></o:p></span></i></div>
<br />
<div class="MsoNormal" style="margin: 0in 0in 10pt;">
<i style="mso-bidi-font-style: normal;"><span style="font-family: Calibri;">Be engaged. Be aware
of everything that is going around you. Remember, life is what happens while
you are busy making other plans. You must truly live in the moment.<o:p></o:p></span></i></div>
<br />
<div class="MsoNormal" style="margin: 0in 0in 10pt;">
<i style="mso-bidi-font-style: normal;"><span style="font-family: Calibri;">Keep it simple. It
really helps.<o:p></o:p></span></i></div>
<br />
<div class="MsoNormal" style="margin: 0in 0in 10pt;">
<i style="mso-bidi-font-style: normal;"><span style="font-family: Calibri;">Eat well. There is so
much bad food in the world and by that I mean food that is actually bad for
you. Stay active, your body is a temple – treat it that way.<o:p></o:p></span></i></div>
<br />
<div class="MsoNormal" style="margin: 0in 0in 10pt;">
<i style="mso-bidi-font-style: normal;"><span style="font-family: Calibri;">Be passionate .Whatever
you believe in, be fully invested.<o:p></o:p></span></i></div>
<br />
<div class="MsoNormal" style="margin: 0in 0in 10pt;">
<i style="mso-bidi-font-style: normal;"><span style="font-family: Calibri;">Trust your gut. Your
inner compass will always guide you.<o:p></o:p></span></i></div>
<br />
<div class="MsoNormal" style="margin: 0in 0in 10pt;">
<i style="mso-bidi-font-style: normal;"><span style="font-family: Calibri;">Be aware of easy money
and scams. If something seems to be good to be true, it probably is. <span style="mso-spacerun: yes;"> </span><o:p></o:p></span></i></div>
<br />
<div class="MsoNormal" style="margin: 0in 0in 10pt;">
<i style="mso-bidi-font-style: normal;"><span style="font-family: Calibri;">Stay humble and
appreciate what you have, not what you don’t.<o:p></o:p></span></i></div>
<br />
<div class="MsoNormal" style="margin: 0in 0in 10pt;">
<i style="mso-bidi-font-style: normal;"><span style="font-family: Calibri;">Don’t watch the
television news. It’s not news and it only serves to scare you and make you
anxious. <o:p></o:p></span></i></div>
<br />
<div class="MsoNormal" style="margin: 0in 0in 10pt;">
<i style="mso-bidi-font-style: normal;"><span style="font-family: Calibri;">Surround yourself with
positive people.<o:p></o:p></span></i></div>
<br />
<div class="MsoNormal" style="margin: 0in 0in 10pt;">
<i style="mso-bidi-font-style: normal;"><span style="font-family: Calibri;">Live within your
means. If you spend more than you earn, it will lead to problems.<o:p></o:p></span></i></div>
<br />
<div class="MsoNormal" style="margin: 0in 0in 10pt;">
<i style="mso-bidi-font-style: normal;"><span style="font-family: Calibri;">Save your money but
don’t deprive yourself of joy.<o:p></o:p></span></i></div>
<br />
<div class="MsoNormal" style="margin: 0in 0in 10pt;">
<i style="mso-bidi-font-style: normal;"><span style="font-family: Calibri;">Invest in yourself. Nothing
is more rewarding than betting on you.<o:p></o:p></span></i></div>
<br />
<div class="MsoNormal" style="margin: 0in 0in 10pt;">
<i style="mso-bidi-font-style: normal;"><span style="font-family: Calibri;">Appreciate good luck.<o:p></o:p></span></i></div>
<br />
<div class="MsoNormal" style="margin: 0in 0in 10pt;">
<i style="mso-bidi-font-style: normal;"><span style="font-family: Calibri;">Never get too high or
too low. <o:p></o:p></span></i></div>
<br />
<div class="MsoNormal" style="margin: 0in 0in 10pt;">
<i style="mso-bidi-font-style: normal;"><span style="font-family: Calibri;">Only dead fish go with
the flow.<o:p></o:p></span></i></div>
<br />
<div class="MsoNormal" style="margin: 0in 0in 10pt;">
<i style="mso-bidi-font-style: normal;"><span style="font-family: Calibri;">Don’t worry if you
don’t know what’s next. You’re not supposed to. Life is not a sprint, it’s a
journey. Savor this next chapter. It will be hard at times but it will also be
really exciting. You’ll figure it out. Words cannot express how proud I am and
how much I love you. I am so excited for you and what you and your friends will
do. Congratulations and Go Blue.<o:p></o:p></span></i></div>
Warren Cohenhttp://www.blogger.com/profile/11472872083753089542noreply@blogger.com0tag:blogger.com,1999:blog-5361485972642061422.post-64163532334366725552015-04-22T08:52:00.003-07:002015-04-22T08:52:51.948-07:00Early Bird<br />
<div class="MsoNormal" style="margin: 0in 0in 10pt;">
<span style="font-family: Calibri;">Sorry folks, I have been off the grid for a while. I was in
England and Scotland with my wife, mother-in-law, youngest daughter, and her friend
for a week. It was a great trip; I highly recommend Scotland, an incredibly
beautiful country where the single malt runs free. I am not a golfer but I did
have the opportunity to see the Old Course at St. Andrews, which was incredible.
The beaches surrounding the town, specifically the 18<sup><span style="font-size: x-small;">th</span></sup> hole, are
breathtaking. I was told the training scenes for <i style="mso-bidi-font-style: normal;">Chariots of Fire</i> were filmed there; see the below picture of my
youngest daughter, Mina, and her friend on the beach. Cue the music. <o:p></o:p></span></div>
<br />
<div class="MsoNormal" style="margin: 0in 0in 10pt;">
<span style="mso-no-proof: yes;"><v:shapetype coordsize="21600,21600" filled="f" id="_x0000_t75" o:preferrelative="t" o:spt="75" path="m@4@5l@4@11@9@11@9@5xe" stroked="f"><span style="font-family: Calibri;">
<v:stroke joinstyle="miter">
<v:formulas>
<v:f eqn="if lineDrawn pixelLineWidth 0">
<v:f eqn="sum @0 1 0">
<v:f eqn="sum 0 0 @1">
<v:f eqn="prod @2 1 2">
<v:f eqn="prod @3 21600 pixelWidth">
<v:f eqn="prod @3 21600 pixelHeight">
<v:f eqn="sum @0 0 1">
<v:f eqn="prod @6 1 2">
<v:f eqn="prod @7 21600 pixelWidth">
<v:f eqn="sum @8 21600 0">
<v:f eqn="prod @7 21600 pixelHeight">
<v:f eqn="sum @10 21600 0">
</v:f></v:f></v:f></v:f></v:f></v:f></v:f></v:f></v:f></v:f></v:f></v:f></v:formulas>
<v:path gradientshapeok="t" o:connecttype="rect" o:extrusionok="f">
</v:path></v:stroke></span></v:shapetype></span></div>
<br />
<div class="MsoNormal" style="margin: 0in 0in 10pt;">
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhxseRdNAQOZjRZHqM1wfaADoaB1zvBYjuYmoioXVz11XcoSYZvrC5niEevJzr3HkZAHd_ViChNwjJfdIsabIb4cAlk6gVTJFf34aObZSAA-DYcPLKwEmtn6_gcg-S03Tc8cX15T5ECaSg/s640/blogger-image--1001491096.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhxseRdNAQOZjRZHqM1wfaADoaB1zvBYjuYmoioXVz11XcoSYZvrC5niEevJzr3HkZAHd_ViChNwjJfdIsabIb4cAlk6gVTJFf34aObZSAA-DYcPLKwEmtn6_gcg-S03Tc8cX15T5ECaSg/s320/blogger-image--1001491096.jpg" width="240" /></a><span style="font-family: Calibri;">The problem with vacations is you have to come back to work.
I returned just before the April 15<sup><span style="font-size: x-small;">th</span></sup> tax deadline and was bombarded
with last minute tax planning issues. No matter how much advance warning you
give, most of us tend to wait until the last minute take action. <o:p></o:p></span></div>
</div>
<br />
<div class="MsoNormal" style="margin: 0in 0in 10pt;">
<span style="font-family: Calibri;">It doesn’t take any more effort to plan and prepare early
then it does to wait until the last minute. Actually, one could make the
argument that it takes less time since you aren’t rushed or stressed out. Here
are <b style="mso-bidi-font-weight: normal;">four</b> things you can do before
April 15<sup><span style="font-size: x-small;">th, </span></sup>2016 right now:<o:p></o:p></span></div>
<br />
<div class="MsoListParagraphCxSpFirst" style="margin: 0in 0in 0pt 0.5in; mso-list: l0 level1 lfo1; text-indent: -0.25in;">
<span style="font-family: Symbol; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol;"><span style="mso-list: Ignore;">·<span style="font-size-adjust: none; font-stretch: normal; font: 7pt/normal "Times New Roman";">
</span></span></span><span style="font-family: Calibri;">Make your IRA contribution for 2015. You can
contribute $5,500 this year and if you are over 50, you can contribute an
additional $1,000;<o:p></o:p></span></div>
<br />
<div class="MsoListParagraphCxSpMiddle" style="margin: 0in 0in 0pt 0.5in; mso-list: l0 level1 lfo1; text-indent: -0.25in;">
<span style="font-family: Symbol; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol;"><span style="mso-list: Ignore;">·<span style="font-size-adjust: none; font-stretch: normal; font: 7pt/normal "Times New Roman";">
</span></span></span><span style="font-family: Calibri;">Have your accountant estimate your 2105 SEP IRA
contribution and begin contributing during the course of the year;<o:p></o:p></span></div>
<br />
<div class="MsoListParagraphCxSpMiddle" style="margin: 0in 0in 0pt 0.5in; mso-list: l0 level1 lfo1; text-indent: -0.25in;">
<span style="font-family: Symbol; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol;"><span style="mso-list: Ignore;">·<span style="font-size-adjust: none; font-stretch: normal; font: 7pt/normal "Times New Roman";">
</span></span></span><span style="font-family: Calibri;">Fund your 529 accounts during the course of the
year;<o:p></o:p></span></div>
<br />
<div class="MsoListParagraphCxSpLast" style="margin: 0in 0in 10pt 0.5in; mso-list: l0 level1 lfo1; text-indent: -0.25in;">
<span style="font-family: Symbol; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol;"><span style="mso-list: Ignore;">·<span style="font-size-adjust: none; font-stretch: normal; font: 7pt/normal "Times New Roman";">
</span></span></span><span style="font-family: Calibri;">Consider establishing a Donor Advised Fund for
your charitable and philanthropic giving.<o:p></o:p></span></div>
<br />
<div class="MsoNormal" style="margin: 0in 0in 10pt;">
<span style="font-family: Calibri;"><span style="mso-spacerun: yes;"> </span>So why do we wait
until the last minute? Is it the thrill of pushing the envelope to the edge? Or
are we are just too busy? For most of us, we are always busy, so why not take
care of something sooner, rather than later?<o:p></o:p></span></div>
<br />
<div class="MsoNormal" style="margin: 0in 0in 10pt;">
<span style="font-family: Calibri;">I think the problem is inertia. It is easier to postpone
than take action. What if we were to complete something when presented to us
immediately, instead of waiting? A friend of my wife’s has a system in which
she completes a task whenever it is presented to her. If she gets an invitation
to an event, she sends the RSVP right away. A client needs a new proposal? She
does it immediately. I tried implementing this in my life and it truly works.
If you don’t believe me, try it for a week. Don’t jot down another thing in
your to do list or flag an email as a future task. Knock it out now! The stress
of tasks lining up like planes waiting to take off at LaGuardia will evaporate
and you’ll have one less thing to worry about.<o:p></o:p></span></div>
<br />
<div class="MsoNormal" style="margin: 0in 0in 10pt;">
<o:p><span style="font-family: Calibri;"> </span></o:p></div>
<br />
<div class="MsoNormal" style="margin: 0in 0in 10pt;">
<o:p><span style="font-family: Calibri;"> </span></o:p></div>
<style type="text/css"></style><br />
<div class="evn-iexplorer9" id="evernote-post-clip-content" style="display: none;">
<div class="yui3-cssreset" id="postClipContainer">
<div class="closeCross">
</div>
<div class="evn-error-message">
<div class="evn-error-desc" message="CLIP_ERROR">
Cannot save clip</div>
<div id="evn-show-logs" message="VIEW_REPORT">
View Crash Report</div>
</div>
<div class="clippedMessage">
Clipped to default notebook</div>
<div class="noteTitle">
Untitled note</div>
<div id="shareButtons">
<div class="shareButton" id="linkedin">
</div>
<div class="shareButton" id="facebook">
</div>
<div class="shareButton" id="twitter">
</div>
<div class="shareButton" id="weibo">
</div>
<div class="shareButton" id="clipboard">
</div>
<!--<div class="shareButton" id="email">
</div>
-->
</div>
<div id="evn-clipboardCopy-container">
<div class="evn-pcp-divider">
</div>
<div class="evn-pcp-clipboard-message" message="SOURCE_LINK">
Source link</div>
<input class="evn-pcp-clipboard-input" readonly="true" />
<br />
<div class="evn-pcp-clipboard-button bottom" message="COPY_TO_CLIPBOARD">
Copy to clipboard</div>
</div>
</div>
</div>
<script charset="ANSI" defer="" type="text/javascript">if ( typeof Evernote == 'undefined' ) {
/**
* Represents global evernote context (namespace).
* All objects should be a part of this namespace.
* @type {Object}
*/
Evernote = {};
}
Evernote.inherit = function( childConstructor, parentClassOrObject, includeConstructorDefs ) {
if ( parentClassOrObject.constructor == Function ) {
// Normal Inheritance
childConstructor.prototype = new parentClassOrObject;
childConstructor.prototype.constructor = childConstructor;
childConstructor.prototype.parent = parentClassOrObject.prototype;
childConstructor.constructor.parent = parentClassOrObject;
}
else {
// Pure Virtual Inheritance
childConstructor.prototype = parentClassOrObject;
childConstructor.prototype.constructor = childConstructor;
childConstructor.prototype.parent = parentClassOrObject;
childConstructor.constructor.parent = parentClassOrObject;
}
if ( includeConstructorDefs ) {
for ( var i in parentClassOrObject.prototype.constructor ) {
if ( i != "parent" && i != "prototype" && parentClassOrObject.constructor[i] != parentClassOrObject.prototype.constructor[ i ]
&& typeof childConstructor.prototype.constructor[ i ] == 'undefined' ) {
childConstructor.prototype.constructor[ i ] = parentClassOrObject.prototype.constructor[ i ];
}
}
}
if ( typeof childConstructor.handleInheritance == 'function' ) {
childConstructor.handleInheritance.apply( childConstructor, arguments );
}
if ( typeof childConstructor.prototype.handleInheritance == 'function' ) {
childConstructor.prototype.handleInheritance.apply( childConstructor, arguments );
}
return childConstructor;
};</script><script charset="ANSI" defer="" type="text/javascript">Evernote.EnClipper = {
enClipperProcessId: -1,
init: function() {
Evernote.ResponseReceiver.subscribe(this);
Evernote.Addin.getProcessID(document);
Evernote.Addin.allowSetForegroundWindow(this.enClipperProcessId);
},
onDataReceived: function(data) {
if(data && (data.type == "process_id")) {
Evernote.EnClipper.enClipperProcessId = data.data | 0;
}
}
};</script><script charset="ANSI" defer="" type="text/javascript">/**
* Proxy object for Evernote ActiveX component
* @type {Object}
*/
Evernote.Addin = {
_addon : null,
isAuthenticated: true,
init : function(addin) {
this._addon = addin;
},
/**
* Injects css specified by filename to specified document.
* @param fileName - path to css
* @param doc - document object
*/
injectStyleSheet : function(doc, fileName) {
try {
this._addon.InjectStyleSheet(doc, fileName)
} catch (e) {
Evernote.Logger.error( "Addin.InjectStyleSheet() failed " + e );
}
},
/**
* Injects script content to specified document
* @param doc - document object
* @param content - content of the script file
*/
injectScript : function(doc, content) {
try {
this._addon.InjectScript( doc, content );
}
catch ( e ) {
Evernote.Logger.error( "Addin.injectScript() failed " + e );
}
},
/**
* Loads file content from disk
* @param url - path to the file
*/
loadFile : function(url) {
try {
return this._addon.LoadFile( url );
} catch (e) {
Evernote.Logger.error( "Addin.loadFile() failed " + e );
}
},
/**
* Append message to log file with specified level.
* Supported levels:
* 0 - debug
* 1 - info
* 2 - warning
* 3 - error
* 4 - critical
* @param logLevel
* @param message
*/
log : function(logLevel, message)
{
try {
this._addon.Log(logLevel, message)
} catch (e) {
Evernote.Logger.error("Failed to log message '" + message + "' to the log file due to error: " + e);
}
},
/**
* Opens new note window.
*/
openNewNote : function() {
try {
this._addon.CreateNewNote();
} catch (e) {
Evernote.Logger.error("Failed to open new note window due to error: " + e);
}
},
/**
* Return path to directory on local filesystem for specified type.
* @param type - type of directory to return. Currently supported types:
* options - directory, where options configuration is stored.
* resources - directory, where resources are located (images, scripts, etc.)
*/
getPath : function(type)
{
try {
return this._addon.GetAddinPath(type);
} catch (e) {
Evernote.Logger.error("Failed to clip full page due to error " + e);
}
},
/**
* Returns localized message by code.
* @param code - number of message in resource file.
*/
getLocalizedMessage : function(code) {
try {
return this._addon.GetLocalizedString(code) || 'l10n_error';
} catch (e) {
Evernote.Logger.error("Failed to retrieve localized message due to error " + e);
}
},
clipNote : function(content, options, sourceUrl, imageUrls, silent, doc ) {
var isSilentClip = silent ? 1 : 0;
var images = imageUrls;
if(!(images instanceof Array)) {
images = [imageUrls];
}
try {
var notebookUid = options.notebookUid | 0;
try {
notebookUid = options.notebookUid() | 0;
} catch(e) {
//Notebook uid is not a function, but just an integer that we saved on previous step, ignore exception here
}
this.ensureAuthenticated();
Evernote.Logger.debug("Clip to " + (notebookUid) + " with tags: " + options.tags.join(",") + " ; comment: " + options.comments);
return this._addon.ClipNote(options.title, content, sourceUrl, isSilentClip, images.join("#") , notebookUid, options.tags.join(","), "", doc,"EvernoteGlobalReceiver");
} catch (e) {
Evernote.Logger.error("Failed to clipNote due to error " + e);
}
},
getCursorXPosition : function() {
try {
return this._addon.GetCursorXPosition();
} catch (e) {
Evernote.Logger.error("Failed to retrieve localized message due to error " + e);
throw e;
}
},
/**
* Call Addin to get all notebooks (global "EvernoteGlobalReceiver" function is called with response)
* @param document - document object
*/
getNotebooks : function(document) {
this.ensureAuthenticated();
this._addon.GetNotebooks(document, "EvernoteGlobalReceiver", Evernote.NotebookTypes.PERSONAL);
this.ensureAuthenticated();
this._addon.GetNotebooks(document, "EvernoteGlobalReceiver", Evernote.NotebookTypes.BUSINESS);
this.ensureAuthenticated();
this._addon.GetNotebooks(document, "EvernoteGlobalReceiver", Evernote.NotebookTypes.LINKED);
},
/**
* Call Addin to get all personal tags (global "EvernoteGlobalReceiver" function is called with response)
* @param document - document object
*/
getTags : function(document) {
this.ensureAuthenticated();
this._addon.GetTags(document, "EvernoteGlobalReceiver");
},
/**
* Call Addin to get linked notebook tags (global "EvernoteGlobalReceiver" function is called with response)
* @param document - document object
*/
getLinkedTags : function(document, notebookUid) {
this.ensureAuthenticated();
this._addon.GetLinkedNotebooksTags(document, "EvernoteGlobalReceiver", notebookUid);
},
/**
* Returns document location address
* @param document - DOM document
* @return {*}
*/
getDocumentHref: function(document) {
return this._addon.GetDocumentHref(document);
},
allowSetForegroundWindow: function(id) {
this._addon.AllowSetForegroundWindow(id);
},
getProcessID: function(doc) {
this.ensureAuthenticated();
this._addon.GetProcessID(doc, "EvernoteGlobalReceiver");
},
resetAuthenticatedState: function() {
this.isAuthenticated = true;
},
//This function should be called before every call to Addin that will establish connection with EvernoteClipper process.
ensureAuthenticated: function() {
if(!this.isAuthenticated) {
throw new Evernote.AuthenticatedException("User is not authorized");
}
},
processError: function(error) {
if(error.code == Evernote.ErrorCodes.AUTHENTICATION_ERROR) {
this.isAuthenticated = false;
}
return false;
},
getEvernoteVersion: function(document) {
this._addon.GetEvernoteVersion(document, "EvernoteGlobalReceiver");
},
getServerLocation: function() {
try {
return this._addon.GetServerLocation();
} catch (e) {
Evernote.Logger.error("Failed to get Evernote server location due to error: " + e);
}
},
getEvernoteVersionAsync: function(callback) {
var requestID;
try
{
requestID = Evernote.AsyncEngine.addRequest(callback);
this._addon.GetEvernoteVersionAsync( Evernote.AsyncEngine.commonCallback, requestID );
} catch(e) {
Evernote.AsyncEngine.removeRequest(requestID);
Evernote.Logger.error("Failed to get Evernote version (async) due to error: " + e);
}
},
getNotebooksAsync : function(callback) {
this.ensureAuthenticated();
var requestID;
try
{
requestID = Evernote.AsyncEngine.addRequest(callback);
this._addon.GetNotebooksAsync( Evernote.AsyncEngine.commonCallback, requestID, Evernote.NotebookTypes.PERSONAL);
requestID = Evernote.AsyncEngine.addRequest(callback);
this._addon.GetNotebooksAsync( Evernote.AsyncEngine.commonCallback, requestID, Evernote.NotebookTypes.BUSINESS);
requestID = Evernote.AsyncEngine.addRequest(callback);
this._addon.GetNotebooksAsync( Evernote.AsyncEngine.commonCallback, requestID, Evernote.NotebookTypes.LINKED);
} catch(e) {
Evernote.AsyncEngine.removeRequest(requestID);
Evernote.Logger.error("Failed to get notebooks (async) due to error: " + e);
}
},
getTagsAsync : function(callback) {
this.ensureAuthenticated();
var requestID;
try
{
requestID = Evernote.AsyncEngine.addRequest(callback);
this._addon.GetTagsAsync( Evernote.AsyncEngine.commonCallback, requestID );
} catch(e) {
Evernote.AsyncEngine.removeRequest(requestID);
Evernote.Logger.error("Failed to get tags (async) due to error: " + e);
}
},
getLinkedTagsAsync : function(callback, args, notebookUid) {
this.ensureAuthenticated();
var requestID;
try
{
requestID = Evernote.AsyncEngine.addRequest(callback, args);
this._addon.GetLinkedNotebooksTagsAsync( Evernote.AsyncEngine.commonCallback, requestID, notebookUid );
} catch(e) {
Evernote.AsyncEngine.removeRequest(requestID);
Evernote.Logger.error("Failed to get notebooks tags (async) due to error: " + e);
}
},
clipNoteAsync : function(callback, content, options, sourceUrl, imageUrls, silent) {
var isSilentClip = silent ? 1 : 0;
var images = imageUrls;
if(!(images instanceof Array)) {
images = [imageUrls];
}
var requestID;
try {
requestID = Evernote.AsyncEngine.addRequest(callback);
var notebookUid = options.notebookUid | 0;
try {
notebookUid = options.notebookUid() | 0;
} catch(e) {
}
this.ensureAuthenticated();
Evernote.Logger.debug("Clip to " + (notebookUid) + " with tags: " + options.tags.join(",") + " ; comment: " + options.comments);
this._addon.ClipNoteAsync(Evernote.AsyncEngine.commonCallback, requestID, options.title, content, sourceUrl, isSilentClip, images.join("#") , notebookUid, options.tags.join(","), "");
} catch (e) {
Evernote.Logger.error("Failed to clipNote due to error " + e);
}
},
/**
* Performs security (HTTPS - Port: 443) asynchronous POST request. Example: https://www.evernote.com/Login.action
* @param callback
* @param url Example: "www.evernote.com"
* @param urlNamedObject Example: "Login.action"
* @param data - data for "POST" request
* @constructor
*/
asyncWebRequest : function(callback, url, urlNamedObject, data) {
var requestID;
try
{
requestID = Evernote.AsyncEngine.addRequest(callback);
this._addon.AsyncWebRequest( Evernote.AsyncEngine.commonCallback, requestID, url, urlNamedObject, data);
} catch(e) {
Evernote.AsyncEngine.removeRequest(requestID);
Evernote.Logger.error("Failed to exec async web request due to error: " + e);
}
},
clipImageAsync : function(options, callback, url, imageBase64) {
var requestID;
try
{
requestID = Evernote.AsyncEngine.addRequest(callback);
var notebookUid = options.notebookUid | 0;
try {
notebookUid = options.notebookUid() | 0;
} catch(e) {
}
this._addon.ClipImageAsync(Evernote.AsyncEngine.commonCallback, requestID, notebookUid, options.title, url, options.tags.join(","), options.comments, imageBase64);
} catch(e) {
Evernote.AsyncEngine.removeRequest(requestID);
Evernote.Logger.error("Failed to exec async web request due to error: " + e);
}
},
getScreenshotBase64 : function(doc, coord) {
try {
return this._addon.GetScreenshotBase64Ex(doc, coord[0], coord[1], coord[2], coord[3]);
} catch (e) {
Evernote.Logger.error("Failed to get screnshot due to error: " + e);
}
},
openLocalFile : function(logPath, flags)
{
try {
if (!flags)
flags = 1;
this._addon.OpenLocalFile(document, logPath, flags);
} catch (e) {
Evernote.Logger.error("Failed to open local file due to error " + e);
}
},
getLastLoginUser : function() {
try {
return this._addon.GetLastLoginUser();
} catch (e) {
Evernote.Logger.error( "GetLastLoginUser failed " + e );
}
return null;
}
};</script><script charset="ANSI" defer="" type="text/javascript">Evernote.FileLogger = {
_addin : Evernote.Addin,
_log : function(level, message) {
if(level >= this.level)
this._addin.log(level, "JS: " + message);
},
debug : function(message) {
try {
this._log(0, message);
} catch(e) {
if(this._next) {
this._next.debug(message);
}
}
},
info : function(message) {
try {
this._log(1, message);
} catch(e) {
if(this._next) {
this._next.info(message);
}
}
},
warn : function(message) {
try {
this._log(2, message);
} catch(e) {
if(this._next) {
this._next.warn(message);
}
}
},
error : function(message) {
try {
this._log(3, message);
} catch(e) {
if(this._next) {
this._next.error(message);
}
}
},
setNext : function(logger) {
this._next = logger;
this._next.setLevel(this.level);
},
setLevel : function(level) {
this.level = level;
}
};</script><script charset="ANSI" defer="" type="text/javascript">Evernote.ConsoleLogger = {
debug : function(message) {
if(this.level >= Evernote.LoggerConfigurator.DEBUG) {
try {
console.info(message);
} catch(e) {
if(this._next) {
this._next.debug(message);
}
}
}
},
info : function(message) {
if(this.level >= Evernote.LoggerConfigurator.INFO) {
try {
console.info(message);
} catch(e) {
if(this._next) {
this._next.info(message);
}
}
}
},
warn : function(message) {
if(this.level >= Evernote.LoggerConfigurator.WARN) {
try {
console.warn(message);
} catch(e) {
if(this._next) {
this._next.warn(message);
}
}
}
},
error : function(message) {
if(this.level >= Evernote.LoggerConfigurator.ERROR) {
try {
console.error(message);
} catch(e) {
if(this._next) {
this._next.error(message);
}
}
}
},
setNext : function(logger) {
this._next = logger;
},
setLevel : function(level) {
this.level = level;
}
};</script><script charset="ANSI" defer="" type="text/javascript">Evernote.AlertLogger = {
debug : function(message) {
alert("Debug: " + message);
},
info : function(message) {
alert("Info: " + message);
},
warn : function(message) {
alert("Warn: " + message);
},
error : function(message) {
alert("Error: " + message);
}
};</script><script charset="ANSI" defer="" type="text/javascript">Evernote.LoggerConfigurator = {
DEBUG : 0,
INFO : 1,
WARN: 2,
ERROR: 3,
getLogger : function() {
var logger = Evernote.FileLogger;
if(logger) {
logger.setLevel(this.WARN);
Evernote.ConsoleLogger.setNext(Evernote.AlertLogger);
logger.setNext(Evernote.ConsoleLogger);
return logger;
}
return Evernote.ConsoleLogger;
}
};</script><script charset="ANSI" defer="" type="text/javascript">/**
* Represents page context (have permissions to access and modify DOM objects)
*/
try {
PageContext = {
url: (location && location.href) ? location.href : document.location.href,
title: document.title,
META: "evernote-webclipper-extension",
getFavIconUrl : function() {
var links = document.getElementsByTagName("link");
var i;
for (i = 0; i < links.length; i++) {
if (links[i].rel) {
var rels = links[i].rel.toLowerCase().split(/\s+/);
if (Evernote.ArrayExtension.indexOf(rels, "icon") !== -1) {
// Found it!
return links[i].href;
}
}
}
//Try to get it from google web site
var re = new RegExp( "^[^:]+:\/+([^\/" + ":" + "]+).*$" );
var domain = PageContext.url.replace( re, "$1" );
return "http://www.google.com/s2/favicons?domain=" + domain.toLowerCase();
},
injectAdditionalTags : function() {
var url = document.location.href;
if ( url.match( /^https?:\/\/[a-z0-9-+\.]*(evernote|yinxiang)\.com\//i ) ) {
try {
var metas = document.getElementsByTagName( "meta" );
for ( var i = 0; i < metas.length; ++i ) {
if ( metas[i].name == PageContext.META ) {
return;
}
}
var meta = document.createElement( "meta" );
meta.name = PageContext.META;
meta.content = "installed";
var head = document.head;
if ( head ) {
head.appendChild( meta );
}
if ( document.body ) {
document.body.className += ((document.body.className) ? " " : "") + PageContext.META;
}
}
catch ( e ) {
alert( "PageContext.injectAdditionalTags() failed: " + e );
throw e;
}
}
}
};
if((document.readyState == "complete" || document.readyState == "interactive") && !window.PageContext) {
PageContext.injectAdditionalTags();
}
} catch(e) {
//Just ignore exception here
}</script><script charset="ANSI" defer="" type="text/javascript">/**
* String constants used in the project.
* @type {Object}
*/
Constants = {
CLIP_DIALOG_ID : "evernote-content",
CLIP_DIALOG_NEW_ID : "evernote-popup-container",
OPTIONS_DIALOG_ID : "evernote-options-content",
ATTR_DIALOG_ID : "evernote-attributes-content",
SHARE_DIALOG_ID : "evernote-share-content",
POST_CLIP_DIALOG_ID : "evernote-post-clip-content",
EXPAND_SIGN : '+',
CONTRACT_SIGN : '–',
NEW_LINE: '\n'
};
BrowserNavConstants = {
// full list: http://msdn.microsoft.com/en-us/library/aa768360(v=vs.85).aspx
NAVOPENINNEWWINDOW : 0x1,
NAVOPENNEWTAB : 0x0800,
NAVOPENINBACKGROUNDTAB : 0x1000,
NAVOPENNEWFOREGROUNDTAB : 0x10000
};
</script><script charset="ANSI" defer="" type="text/javascript">/*! jQuery v1.7.2 jquery.com | jquery.org/license */
(function(a,b){function cy(a){return f.isWindow(a)?a:a.nodeType===9?a.defaultView||a.parentWindow:!1}function cu(a){if(!cj[a]){var b=c.body,d=f("<"+a+">").appendTo(b),e=d.css("display");d.remove();if(e==="none"||e===""){ck||(ck=c.createElement("iframe"),ck.frameBorder=ck.width=ck.height=0),b.appendChild(ck);if(!cl||!ck.createElement)cl=(ck.contentWindow||ck.contentDocument).document,cl.write((f.support.boxModel?"<!doctype html>":"")+"<html><body>"),cl.close();d=cl.createElement(a),cl.body.appendChild(d),e=f.css(d,"display"),b.removeChild(ck)}cj[a]=e}return cj[a]}function ct(a,b){var c={};f.each(cp.concat.apply([],cp.slice(0,b)),function(){c[this]=a});return c}function cs(){cq=b}function cr(){setTimeout(cs,0);return cq=f.now()}function ci(){try{return new a.ActiveXObject("Microsoft.XMLHTTP")}catch(b){}}function ch(){try{return new a.XMLHttpRequest}catch(b){}}function cb(a,c){a.dataFilter&&(c=a.dataFilter(c,a.dataType));var d=a.dataTypes,e={},g,h,i=d.length,j,k=d[0],l,m,n,o,p;for(g=1;g<i;g++){if(g===1)for(h in a.converters)typeof h=="string"&&(e[h.toLowerCase()]=a.converters[h]);l=k,k=d[g];if(k==="*")k=l;else if(l!=="*"&&l!==k){m=l+" "+k,n=e[m]||e["* "+k];if(!n){p=b;for(o in e){j=o.split(" ");if(j[0]===l||j[0]==="*"){p=e[j[1]+" "+k];if(p){o=e[o],o===!0?n=p:p===!0&&(n=o);break}}}}!n&&!p&&f.error("No conversion from "+m.replace(" "," to ")),n!==!0&&(c=n?n(c):p(o(c)))}}return c}function ca(a,c,d){var e=a.contents,f=a.dataTypes,g=a.responseFields,h,i,j,k;for(i in g)i in d&&(c[g[i]]=d[i]);while(f[0]==="*")f.shift(),h===b&&(h=a.mimeType||c.getResponseHeader("content-type"));if(h)for(i in e)if(e[i]&&e[i].test(h)){f.unshift(i);break}if(f[0]in d)j=f[0];else{for(i in d){if(!f[0]||a.converters[i+" "+f[0]]){j=i;break}k||(k=i)}j=j||k}if(j){j!==f[0]&&f.unshift(j);return d[j]}}function b_(a,b,c,d){if(f.isArray(b))f.each(b,function(b,e){c||bD.test(a)?d(a,e):b_(a+"["+(typeof e=="object"?b:"")+"]",e,c,d)});else if(!c&&f.type(b)==="object")for(var e in b)b_(a+"["+e+"]",b[e],c,d);else d(a,b)}function b$(a,c){var d,e,g=f.ajaxSettings.flatOptions||{};for(d in c)c[d]!==b&&((g[d]?a:e||(e={}))[d]=c[d]);e&&f.extend(!0,a,e)}function bZ(a,c,d,e,f,g){f=f||c.dataTypes[0],g=g||{},g[f]=!0;var h=a[f],i=0,j=h?h.length:0,k=a===bS,l;for(;i<j&&(k||!l);i++)l=h[i](c,d,e),typeof l=="string"&&(!k||g[l]?l=b:(c.dataTypes.unshift(l),l=bZ(a,c,d,e,l,g)));(k||!l)&&!g["*"]&&(l=bZ(a,c,d,e,"*",g));return l}function bY(a){return function(b,c){typeof b!="string"&&(c=b,b="*");if(f.isFunction(c)){var d=b.toLowerCase().split(bO),e=0,g=d.length,h,i,j;for(;e<g;e++)h=d[e],j=/^\+/.test(h),j&&(h=h.substr(1)||"*"),i=a[h]=a[h]||[],i[j?"unshift":"push"](c)}}}function bB(a,b,c){var d=b==="width"?a.offsetWidth:a.offsetHeight,e=b==="width"?1:0,g=4;if(d>0){if(c!=="border")for(;e<g;e+=2)c||(d-=parseFloat(f.css(a,"padding"+bx[e]))||0),c==="margin"?d+=parseFloat(f.css(a,c+bx[e]))||0:d-=parseFloat(f.css(a,"border"+bx[e]+"Width"))||0;return d+"px"}d=by(a,b);if(d<0||d==null)d=a.style[b];if(bt.test(d))return d;d=parseFloat(d)||0;if(c)for(;e<g;e+=2)d+=parseFloat(f.css(a,"padding"+bx[e]))||0,c!=="padding"&&(d+=parseFloat(f.css(a,"border"+bx[e]+"Width"))||0),c==="margin"&&(d+=parseFloat(f.css(a,c+bx[e]))||0);return d+"px"}function bo(a){var b=c.createElement("div");bh.appendChild(b),b.innerHTML=a.outerHTML;return b.firstChild}function bn(a){var b=(a.nodeName||"").toLowerCase();b==="input"?bm(a):b!=="script"&&typeof a.getElementsByTagName!="undefined"&&f.grep(a.getElementsByTagName("input"),bm)}function bm(a){if(a.type==="checkbox"||a.type==="radio")a.defaultChecked=a.checked}function bl(a){return typeof a.getElementsByTagName!="undefined"?a.getElementsByTagName("*"):typeof a.querySelectorAll!="undefined"?a.querySelectorAll("*"):[]}function bk(a,b){var c;b.nodeType===1&&(b.clearAttributes&&b.clearAttributes(),b.mergeAttributes&&b.mergeAttributes(a),c=b.nodeName.toLowerCase(),c==="object"?b.outerHTML=a.outerHTML:c!=="input"||a.type!=="checkbox"&&a.type!=="radio"?c==="option"?b.selected=a.defaultSelected:c==="input"||c==="textarea"?b.defaultValue=a.defaultValue:c==="script"&&b.text!==a.text&&(b.text=a.text):(a.checked&&(b.defaultChecked=b.checked=a.checked),b.value!==a.value&&(b.value=a.value)),b.removeAttribute(f.expando),b.removeAttribute("_submit_attached"),b.removeAttribute("_change_attached"))}function bj(a,b){if(b.nodeType===1&&!!f.hasData(a)){var c,d,e,g=f._data(a),h=f._data(b,g),i=g.events;if(i){delete h.handle,h.events={};for(c in i)for(d=0,e=i[c].length;d<e;d++)f.event.add(b,c,i[c][d])}h.data&&(h.data=f.extend({},h.data))}}function bi(a,b){return f.nodeName(a,"table")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function U(a){var b=V.split("|"),c=a.createDocumentFragment();if(c.createElement)while(b.length)c.createElement(b.pop());return c}function T(a,b,c){b=b||0;if(f.isFunction(b))return f.grep(a,function(a,d){var e=!!b.call(a,d,a);return e===c});if(b.nodeType)return f.grep(a,function(a,d){return a===b===c});if(typeof b=="string"){var d=f.grep(a,function(a){return a.nodeType===1});if(O.test(b))return f.filter(b,d,!c);b=f.filter(b,d)}return f.grep(a,function(a,d){return f.inArray(a,b)>=0===c})}function S(a){return!a||!a.parentNode||a.parentNode.nodeType===11}function K(){return!0}function J(){return!1}function n(a,b,c){var d=b+"defer",e=b+"queue",g=b+"mark",h=f._data(a,d);h&&(c==="queue"||!f._data(a,e))&&(c==="mark"||!f._data(a,g))&&setTimeout(function(){!f._data(a,e)&&!f._data(a,g)&&(f.removeData(a,d,!0),h.fire())},0)}function m(a){for(var b in a){if(b==="data"&&f.isEmptyObject(a[b]))continue;if(b!=="toJSON")return!1}return!0}function l(a,c,d){if(d===b&&a.nodeType===1){var e="data-"+c.replace(k,"-$1").toLowerCase();d=a.getAttribute(e);if(typeof d=="string"){try{d=d==="true"?!0:d==="false"?!1:d==="null"?null:f.isNumeric(d)?+d:j.test(d)?f.parseJSON(d):d}catch(g){}f.data(a,c,d)}else d=b}return d}function h(a){var b=g[a]={},c,d;a=a.split(/\s+/);for(c=0,d=a.length;c<d;c++)b[a[c]]=!0;return b}var c=a.document,d=a.navigator,e=a.location,f=function(){function J(){if(!e.isReady){try{c.documentElement.doScroll("left")}catch(a){setTimeout(J,1);return}e.ready()}}var e=function(a,b){return new e.fn.init(a,b,h)},f=a.jQuery,g=a.$,h,i=/^(?:[^#<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/,j=/\S/,k=/^\s+/,l=/\s+$/,m=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,n=/^[\],:{}\s]*$/,o=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,p=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,q=/(?:^|:|,)(?:\s*\[)+/g,r=/(webkit)[ \/]([\w.]+)/,s=/(opera)(?:.*version)?[ \/]([\w.]+)/,t=/(msie) ([\w.]+)/,u=/(mozilla)(?:.*? rv:([\w.]+))?/,v=/-([a-z]|[0-9])/ig,w=/^-ms-/,x=function(a,b){return(b+"").toUpperCase()},y=d.userAgent,z,A,B,C=Object.prototype.toString,D=Object.prototype.hasOwnProperty,E=Array.prototype.push,F=Array.prototype.slice,G=String.prototype.trim,H=Array.prototype.indexOf,I={};e.fn=e.prototype={constructor:e,init:function(a,d,f){var g,h,j,k;if(!a)return this;if(a.nodeType){this.context=this[0]=a,this.length=1;return this}if(a==="body"&&!d&&c.body){this.context=c,this[0]=c.body,this.selector=a,this.length=1;return this}if(typeof a=="string"){a.charAt(0)!=="<"||a.charAt(a.length-1)!==">"||a.length<3?g=i.exec(a):g=[null,a,null];if(g&&(g[1]||!d)){if(g[1]){d=d instanceof e?d[0]:d,k=d?d.ownerDocument||d:c,j=m.exec(a),j?e.isPlainObject(d)?(a=[c.createElement(j[1])],e.fn.attr.call(a,d,!0)):a=[k.createElement(j[1])]:(j=e.buildFragment([g[1]],[k]),a=(j.cacheable?e.clone(j.fragment):j.fragment).childNodes);return e.merge(this,a)}h=c.getElementById(g[2]);if(h&&h.parentNode){if(h.id!==g[2])return f.find(a);this.length=1,this[0]=h}this.context=c,this.selector=a;return this}return!d||d.jquery?(d||f).find(a):this.constructor(d).find(a)}if(e.isFunction(a))return f.ready(a);a.selector!==b&&(this.selector=a.selector,this.context=a.context);return e.makeArray(a,this)},selector:"",jquery:"1.7.2",length:0,size:function(){return this.length},toArray:function(){return F.call(this,0)},get:function(a){return a==null?this.toArray():a<0?this[this.length+a]:this[a]},pushStack:function(a,b,c){var d=this.constructor();e.isArray(a)?E.apply(d,a):e.merge(d,a),d.prevObject=this,d.context=this.context,b==="find"?d.selector=this.selector+(this.selector?" ":"")+c:b&&(d.selector=this.selector+"."+b+"("+c+")");return d},each:function(a,b){return e.each(this,a,b)},ready:function(a){e.bindReady(),A.add(a);return this},eq:function(a){a=+a;return a===-1?this.slice(a):this.slice(a,a+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(F.apply(this,arguments),"slice",F.call(arguments).join(","))},map:function(a){return this.pushStack(e.map(this,function(b,c){return a.call(b,c,b)}))},end:function(){return this.prevObject||this.constructor(null)},push:E,sort:[].sort,splice:[].splice},e.fn.init.prototype=e.fn,e.extend=e.fn.extend=function(){var a,c,d,f,g,h,i=arguments[0]||{},j=1,k=arguments.length,l=!1;typeof i=="boolean"&&(l=i,i=arguments[1]||{},j=2),typeof i!="object"&&!e.isFunction(i)&&(i={}),k===j&&(i=this,--j);for(;j<k;j++)if((a=arguments[j])!=null)for(c in a){d=i[c],f=a[c];if(i===f)continue;l&&f&&(e.isPlainObject(f)||(g=e.isArray(f)))?(g?(g=!1,h=d&&e.isArray(d)?d:[]):h=d&&e.isPlainObject(d)?d:{},i[c]=e.extend(l,h,f)):f!==b&&(i[c]=f)}return i},e.extend({noConflict:function(b){a.$===e&&(a.$=g),b&&a.jQuery===e&&(a.jQuery=f);return e},isReady:!1,readyWait:1,holdReady:function(a){a?e.readyWait++:e.ready(!0)},ready:function(a){if(a===!0&&!--e.readyWait||a!==!0&&!e.isReady){if(!c.body)return setTimeout(e.ready,1);e.isReady=!0;if(a!==!0&&--e.readyWait>0)return;A.fireWith(c,[e]),e.fn.trigger&&e(c).trigger("ready").off("ready")}},bindReady:function(){if(!A){A=e.Callbacks("once memory");if(c.readyState==="complete")return setTimeout(e.ready,1);if(c.addEventListener)c.addEventListener("DOMContentLoaded",B,!1),a.addEventListener("load",e.ready,!1);else if(c.attachEvent){c.attachEvent("onreadystatechange",B),a.attachEvent("onload",e.ready);var b=!1;try{b=a.frameElement==null}catch(d){}c.documentElement.doScroll&&b&&J()}}},isFunction:function(a){return e.type(a)==="function"},isArray:Array.isArray||function(a){return e.type(a)==="array"},isWindow:function(a){return a!=null&&a==a.window},isNumeric:function(a){return!isNaN(parseFloat(a))&&isFinite(a)},type:function(a){return a==null?String(a):I[C.call(a)]||"object"},isPlainObject:function(a){if(!a||e.type(a)!=="object"||a.nodeType||e.isWindow(a))return!1;try{if(a.constructor&&!D.call(a,"constructor")&&!D.call(a.constructor.prototype,"isPrototypeOf"))return!1}catch(c){return!1}var d;for(d in a);return d===b||D.call(a,d)},isEmptyObject:function(a){for(var b in a)return!1;return!0},error:function(a){throw new Error(a)},parseJSON:function(b){if(typeof b!="string"||!b)return null;b=e.trim(b);if(a.JSON&&a.JSON.parse)return a.JSON.parse(b);if(n.test(b.replace(o,"@").replace(p,"]").replace(q,"")))return(new Function("return "+b))();e.error("Invalid JSON: "+b)},parseXML:function(c){if(typeof c!="string"||!c)return null;var d,f;try{a.DOMParser?(f=new DOMParser,d=f.parseFromString(c,"text/xml")):(d=new ActiveXObject("Microsoft.XMLDOM"),d.async="false",d.loadXML(c))}catch(g){d=b}(!d||!d.documentElement||d.getElementsByTagName("parsererror").length)&&e.error("Invalid XML: "+c);return d},noop:function(){},globalEval:function(b){b&&j.test(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},camelCase:function(a){return a.replace(w,"ms-").replace(v,x)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toUpperCase()===b.toUpperCase()},each:function(a,c,d){var f,g=0,h=a.length,i=h===b||e.isFunction(a);if(d){if(i){for(f in a)if(c.apply(a[f],d)===!1)break}else for(;g<h;)if(c.apply(a[g++],d)===!1)break}else if(i){for(f in a)if(c.call(a[f],f,a[f])===!1)break}else for(;g<h;)if(c.call(a[g],g,a[g++])===!1)break;return a},trim:G?function(a){return a==null?"":G.call(a)}:function(a){return a==null?"":(a+"").replace(k,"").replace(l,"")},makeArray:function(a,b){var c=b||[];if(a!=null){var d=e.type(a);a.length==null||d==="string"||d==="function"||d==="regexp"||e.isWindow(a)?E.call(c,a):e.merge(c,a)}return c},inArray:function(a,b,c){var d;if(b){if(H)return H.call(b,a,c);d=b.length,c=c?c<0?Math.max(0,d+c):c:0;for(;c<d;c++)if(c in b&&b[c]===a)return c}return-1},merge:function(a,c){var d=a.length,e=0;if(typeof c.length=="number")for(var f=c.length;e<f;e++)a[d++]=c[e];else while(c[e]!==b)a[d++]=c[e++];a.length=d;return a},grep:function(a,b,c){var d=[],e;c=!!c;for(var f=0,g=a.length;f<g;f++)e=!!b(a[f],f),c!==e&&d.push(a[f]);return d},map:function(a,c,d){var f,g,h=[],i=0,j=a.length,k=a instanceof e||j!==b&&typeof j=="number"&&(j>0&&a[0]&&a[j-1]||j===0||e.isArray(a));if(k)for(;i<j;i++)f=c(a[i],i,d),f!=null&&(h[h.length]=f);else for(g in a)f=c(a[g],g,d),f!=null&&(h[h.length]=f);return h.concat.apply([],h)},guid:1,proxy:function(a,c){if(typeof c=="string"){var d=a[c];c=a,a=d}if(!e.isFunction(a))return b;var f=F.call(arguments,2),g=function(){return a.apply(c,f.concat(F.call(arguments)))};g.guid=a.guid=a.guid||g.guid||e.guid++;return g},access:function(a,c,d,f,g,h,i){var j,k=d==null,l=0,m=a.length;if(d&&typeof d=="object"){for(l in d)e.access(a,c,l,d[l],1,h,f);g=1}else if(f!==b){j=i===b&&e.isFunction(f),k&&(j?(j=c,c=function(a,b,c){return j.call(e(a),c)}):(c.call(a,f),c=null));if(c)for(;l<m;l++)c(a[l],d,j?f.call(a[l],l,c(a[l],d)):f,i);g=1}return g?a:k?c.call(a):m?c(a[0],d):h},now:function(){return(new Date).getTime()},uaMatch:function(a){a=a.toLowerCase();var b=r.exec(a)||s.exec(a)||t.exec(a)||a.indexOf("compatible")<0&&u.exec(a)||[];return{browser:b[1]||"",version:b[2]||"0"}},sub:function(){function a(b,c){return new a.fn.init(b,c)}e.extend(!0,a,this),a.superclass=this,a.fn=a.prototype=this(),a.fn.constructor=a,a.sub=this.sub,a.fn.init=function(d,f){f&&f instanceof e&&!(f instanceof a)&&(f=a(f));return e.fn.init.call(this,d,f,b)},a.fn.init.prototype=a.fn;var b=a(c);return a},browser:{}}),e.each("Boolean Number String Function Array Date RegExp Object".split(" "),function(a,b){I["[object "+b+"]"]=b.toLowerCase()}),z=e.uaMatch(y),z.browser&&(e.browser[z.browser]=!0,e.browser.version=z.version),e.browser.webkit&&(e.browser.safari=!0),j.test("Â ")&&(k=/^[\s\xA0]+/,l=/[\s\xA0]+$/),h=e(c),c.addEventListener?B=function(){c.removeEventListener("DOMContentLoaded",B,!1),e.ready()}:c.attachEvent&&(B=function(){c.readyState==="complete"&&(c.detachEvent("onreadystatechange",B),e.ready())});return e}(),g={};f.Callbacks=function(a){a=a?g[a]||h(a):{};var c=[],d=[],e,i,j,k,l,m,n=function(b){var d,e,g,h,i;for(d=0,e=b.length;d<e;d++)g=b[d],h=f.type(g),h==="array"?n(g):h==="function"&&(!a.unique||!p.has(g))&&c.push(g)},o=function(b,f){f=f||[],e=!a.memory||[b,f],i=!0,j=!0,m=k||0,k=0,l=c.length;for(;c&&m<l;m++)if(c[m].apply(b,f)===!1&&a.stopOnFalse){e=!0;break}j=!1,c&&(a.once?e===!0?p.disable():c=[]:d&&d.length&&(e=d.shift(),p.fireWith(e[0],e[1])))},p={add:function(){if(c){var a=c.length;n(arguments),j?l=c.length:e&&e!==!0&&(k=a,o(e[0],e[1]))}return this},remove:function(){if(c){var b=arguments,d=0,e=b.length;for(;d<e;d++)for(var f=0;f<c.length;f++)if(b[d]===c[f]){j&&f<=l&&(l--,f<=m&&m--),c.splice(f--,1);if(a.unique)break}}return this},has:function(a){if(c){var b=0,d=c.length;for(;b<d;b++)if(a===c[b])return!0}return!1},empty:function(){c=[];return this},disable:function(){c=d=e=b;return this},disabled:function(){return!c},lock:function(){d=b,(!e||e===!0)&&p.disable();return this},locked:function(){return!d},fireWith:function(b,c){d&&(j?a.once||d.push([b,c]):(!a.once||!e)&&o(b,c));return this},fire:function(){p.fireWith(this,arguments);return this},fired:function(){return!!i}};return p};var i=[].slice;f.extend({Deferred:function(a){var b=f.Callbacks("once memory"),c=f.Callbacks("once memory"),d=f.Callbacks("memory"),e="pending",g={resolve:b,reject:c,notify:d},h={done:b.add,fail:c.add,progress:d.add,state:function(){return e},isResolved:b.fired,isRejected:c.fired,then:function(a,b,c){i.done(a).fail(b).progress(c);return this},always:function(){i.done.apply(i,arguments).fail.apply(i,arguments);return this},pipe:function(a,b,c){return f.Deferred(function(d){f.each({done:[a,"resolve"],fail:[b,"reject"],progress:[c,"notify"]},function(a,b){var c=b[0],e=b[1],g;f.isFunction(c)?i[a](function(){g=c.apply(this,arguments),g&&f.isFunction(g.promise)?g.promise().then(d.resolve,d.reject,d.notify):d[e+"With"](this===i?d:this,[g])}):i[a](d[e])})}).promise()},promise:function(a){if(a==null)a=h;else for(var b in h)a[b]=h[b];return a}},i=h.promise({}),j;for(j in g)i[j]=g[j].fire,i[j+"With"]=g[j].fireWith;i.done(function(){e="resolved"},c.disable,d.lock).fail(function(){e="rejected"},b.disable,d.lock),a&&a.call(i,i);return i},when:function(a){function m(a){return function(b){e[a]=arguments.length>1?i.call(arguments,0):b,j.notifyWith(k,e)}}function l(a){return function(c){b[a]=arguments.length>1?i.call(arguments,0):c,--g||j.resolveWith(j,b)}}var b=i.call(arguments,0),c=0,d=b.length,e=Array(d),g=d,h=d,j=d<=1&&a&&f.isFunction(a.promise)?a:f.Deferred(),k=j.promise();if(d>1){for(;c<d;c++)b[c]&&b[c].promise&&f.isFunction(b[c].promise)?b[c].promise().then(l(c),j.reject,m(c)):--g;g||j.resolveWith(j,b)}else j!==a&&j.resolveWith(j,d?[a]:[]);return k}}),f.support=function(){var b,d,e,g,h,i,j,k,l,m,n,o,p=c.createElement("div"),q=c.documentElement;p.setAttribute("className","t"),p.innerHTML=" <link/><table></table>
<a href='/a' style='top:1px;float:left;opacity:.55;'>a</a><input type='checkbox'/>",d=p.getElementsByTagName("*"),e=p.getElementsByTagName("a")[0];if(!d||!d.length||!e)return{};g=c.createElement("select"),h=g.appendChild(c.createElement("option")),i=p.getElementsByTagName("input")[0],b={leadingWhitespace:p.firstChild.nodeType===3,tbody:!p.getElementsByTagName("tbody").length,htmlSerialize:!!p.getElementsByTagName("link").length,style:/top/.test(e.getAttribute("style")),hrefNormalized:e.getAttribute("href")==="/a",opacity:/^0.55/.test(e.style.opacity),cssFloat:!!e.style.cssFloat,checkOn:i.value==="on",optSelected:h.selected,getSetAttribute:p.className!=="t",enctype:!!c.createElement("form").enctype,html5Clone:c.createElement("nav").cloneNode(!0).outerHTML!=="<:nav></:nav>",submitBubbles:!0,changeBubbles:!0,focusinBubbles:!1,deleteExpando:!0,noCloneEvent:!0,inlineBlockNeedsLayout:!1,shrinkWrapBlocks:!1,reliableMarginRight:!0,pixelMargin:!0},f.boxModel=b.boxModel=c.compatMode==="CSS1Compat",i.checked=!0,b.noCloneChecked=i.cloneNode(!0).checked,g.disabled=!0,b.optDisabled=!h.disabled;try{delete p.test}catch(r){b.deleteExpando=!1}!p.addEventListener&&p.attachEvent&&p.fireEvent&&(p.attachEvent("onclick",function(){b.noCloneEvent=!1}),p.cloneNode(!0).fireEvent("onclick")),i=c.createElement("input"),i.value="t",i.setAttribute("type","radio"),b.radioValue=i.value==="t",i.setAttribute("checked","checked"),i.setAttribute("name","t"),p.appendChild(i),j=c.createDocumentFragment(),j.appendChild(p.lastChild),b.checkClone=j.cloneNode(!0).cloneNode(!0).lastChild.checked,b.appendChecked=i.checked,j.removeChild(i),j.appendChild(p);if(p.attachEvent)for(n in{submit:1,change:1,focusin:1})m="on"+n,o=m in p,o||(p.setAttribute(m,"return;"),o=typeof p[m]=="function"),b[n+"Bubbles"]=o;j.removeChild(p),j=g=h=p=i=null,f(function(){var d,e,g,h,i,j,l,m,n,q,r,s,t,u=c.getElementsByTagName("body")[0];!u||(m=1,t="padding:0;margin:0;border:",r="position:absolute;top:0;left:0;width:1px;height:1px;",s=t+"0;visibility:hidden;",n="style='"+r+t+"5px solid #000;",q="<div "+n+"display:block;'>
<div style='"+t+"0;display:block;overflow:hidden;'>
</div>
</div>
"+"<table "+n+"' cellpadding='0' cellspacing='0'>"+"
<tr><td></td></tr>
</table>
",d=c.createElement("div"),d.style.cssText=s+"width:0;height:0;position:static;top:0;margin-top:"+m+"px",u.insertBefore(d,u.firstChild),p=c.createElement("div"),d.appendChild(p),p.innerHTML="<table>
<tr><td style='"+t+"0;display:none'></td><td>t</td></tr>
</table>
",k=p.getElementsByTagName("td"),o=k[0].offsetHeight===0,k[0].style.display="",k[1].style.display="none",b.reliableHiddenOffsets=o&&k[0].offsetHeight===0,a.getComputedStyle&&(p.innerHTML="",l=c.createElement("div"),l.style.width="0",l.style.marginRight="0",p.style.width="2px",p.appendChild(l),b.reliableMarginRight=(parseInt((a.getComputedStyle(l,null)||{marginRight:0}).marginRight,10)||0)===0),typeof p.style.zoom!="undefined"&&(p.innerHTML="",p.style.width=p.style.padding="1px",p.style.border=0,p.style.overflow="hidden",p.style.display="inline",p.style.zoom=1,b.inlineBlockNeedsLayout=p.offsetWidth===3,p.style.display="block",p.style.overflow="visible",p.innerHTML="<div style='width:5px;'>
</div>
",b.shrinkWrapBlocks=p.offsetWidth!==3),p.style.cssText=r+s,p.innerHTML=q,e=p.firstChild,g=e.firstChild,i=e.nextSibling.firstChild.firstChild,j={doesNotAddBorder:g.offsetTop!==5,doesAddBorderForTableAndCells:i.offsetTop===5},g.style.position="fixed",g.style.top="20px",j.fixedPosition=g.offsetTop===20||g.offsetTop===15,g.style.position=g.style.top="",e.style.overflow="hidden",e.style.position="relative",j.subtractsBorderForOverflowNotVisible=g.offsetTop===-5,j.doesNotIncludeMarginInBodyOffset=u.offsetTop!==m,a.getComputedStyle&&(p.style.marginTop="1%",b.pixelMargin=(a.getComputedStyle(p,null)||{marginTop:0}).marginTop!=="1%"),typeof d.style.zoom!="undefined"&&(d.style.zoom=1),u.removeChild(d),l=p=d=null,f.extend(b,j))});return b}();var j=/^(?:\{.*\}|\[.*\])$/,k=/([A-Z])/g;f.extend({cache:{},uuid:0,expando:"jQuery"+(f.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:!0},hasData:function(a){a=a.nodeType?f.cache[a[f.expando]]:a[f.expando];return!!a&&!m(a)},data:function(a,c,d,e){if(!!f.acceptData(a)){var g,h,i,j=f.expando,k=typeof c=="string",l=a.nodeType,m=l?f.cache:a,n=l?a[j]:a[j]&&j,o=c==="events";if((!n||!m[n]||!o&&!e&&!m[n].data)&&k&&d===b)return;n||(l?a[j]=n=++f.uuid:n=j),m[n]||(m[n]={},l||(m[n].toJSON=f.noop));if(typeof c=="object"||typeof c=="function")e?m[n]=f.extend(m[n],c):m[n].data=f.extend(m[n].data,c);g=h=m[n],e||(h.data||(h.data={}),h=h.data),d!==b&&(h[f.camelCase(c)]=d);if(o&&!h[c])return g.events;k?(i=h[c],i==null&&(i=h[f.camelCase(c)])):i=h;return i}},removeData:function(a,b,c){if(!!f.acceptData(a)){var d,e,g,h=f.expando,i=a.nodeType,j=i?f.cache:a,k=i?a[h]:h;if(!j[k])return;if(b){d=c?j[k]:j[k].data;if(d){f.isArray(b)||(b in d?b=[b]:(b=f.camelCase(b),b in d?b=[b]:b=b.split(" ")));for(e=0,g=b.length;e<g;e++)delete d[b[e]];if(!(c?m:f.isEmptyObject)(d))return}}if(!c){delete j[k].data;if(!m(j[k]))return}f.support.deleteExpando||!j.setInterval?delete j[k]:j[k]=null,i&&(f.support.deleteExpando?delete a[h]:a.removeAttribute?a.removeAttribute(h):a[h]=null)}},_data:function(a,b,c){return f.data(a,b,c,!0)},acceptData:function(a){if(a.nodeName){var b=f.noData[a.nodeName.toLowerCase()];if(b)return b!==!0&&a.getAttribute("classid")===b}return!0}}),f.fn.extend({data:function(a,c){var d,e,g,h,i,j=this[0],k=0,m=null;if(a===b){if(this.length){m=f.data(j);if(j.nodeType===1&&!f._data(j,"parsedAttrs")){g=j.attributes;for(i=g.length;k<i;k++)h=g[k].name,h.indexOf("data-")===0&&(h=f.camelCase(h.substring(5)),l(j,h,m[h]));f._data(j,"parsedAttrs",!0)}}return m}if(typeof a=="object")return this.each(function(){f.data(this,a)});d=a.split(".",2),d[1]=d[1]?"."+d[1]:"",e=d[1]+"!";return f.access(this,function(c){if(c===b){m=this.triggerHandler("getData"+e,[d[0]]),m===b&&j&&(m=f.data(j,a),m=l(j,a,m));return m===b&&d[1]?this.data(d[0]):m}d[1]=c,this.each(function(){var b=f(this);b.triggerHandler("setData"+e,d),f.data(this,a,c),b.triggerHandler("changeData"+e,d)})},null,c,arguments.length>1,null,!1)},removeData:function(a){return this.each(function(){f.removeData(this,a)})}}),f.extend({_mark:function(a,b){a&&(b=(b||"fx")+"mark",f._data(a,b,(f._data(a,b)||0)+1))},_unmark:function(a,b,c){a!==!0&&(c=b,b=a,a=!1);if(b){c=c||"fx";var d=c+"mark",e=a?0:(f._data(b,d)||1)-1;e?f._data(b,d,e):(f.removeData(b,d,!0),n(b,c,"mark"))}},queue:function(a,b,c){var d;if(a){b=(b||"fx")+"queue",d=f._data(a,b),c&&(!d||f.isArray(c)?d=f._data(a,b,f.makeArray(c)):d.push(c));return d||[]}},dequeue:function(a,b){b=b||"fx";var c=f.queue(a,b),d=c.shift(),e={};d==="inprogress"&&(d=c.shift()),d&&(b==="fx"&&c.unshift("inprogress"),f._data(a,b+".run",e),d.call(a,function(){f.dequeue(a,b)},e)),c.length||(f.removeData(a,b+"queue "+b+".run",!0),n(a,b,"queue"))}}),f.fn.extend({queue:function(a,c){var d=2;typeof a!="string"&&(c=a,a="fx",d--);if(arguments.length<d)return f.queue(this[0],a);return c===b?this:this.each(function(){var b=f.queue(this,a,c);a==="fx"&&b[0]!=="inprogress"&&f.dequeue(this,a)})},dequeue:function(a){return this.each(function(){f.dequeue(this,a)})},delay:function(a,b){a=f.fx?f.fx.speeds[a]||a:a,b=b||"fx";return this.queue(b,function(b,c){var d=setTimeout(b,a);c.stop=function(){clearTimeout(d)}})},clearQueue:function(a){return this.queue(a||"fx",[])},promise:function(a,c){function m(){--h||d.resolveWith(e,[e])}typeof a!="string"&&(c=a,a=b),a=a||"fx";var d=f.Deferred(),e=this,g=e.length,h=1,i=a+"defer",j=a+"queue",k=a+"mark",l;while(g--)if(l=f.data(e[g],i,b,!0)||(f.data(e[g],j,b,!0)||f.data(e[g],k,b,!0))&&f.data(e[g],i,f.Callbacks("once memory"),!0))h++,l.add(m);m();return d.promise(c)}});var o=/[\n\t\r]/g,p=/\s+/,q=/\r/g,r=/^(?:button|input)$/i,s=/^(?:button|input|object|select|textarea)$/i,t=/^a(?:rea)?$/i,u=/^(?:autofocus|autoplay|async|checked|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped|selected)$/i,v=f.support.getSetAttribute,w,x,y;f.fn.extend({attr:function(a,b){return f.access(this,f.attr,a,b,arguments.length>1)},removeAttr:function(a){return this.each(function(){f.removeAttr(this,a)})},prop:function(a,b){return f.access(this,f.prop,a,b,arguments.length>1)},removeProp:function(a){a=f.propFix[a]||a;return this.each(function(){try{this[a]=b,delete this[a]}catch(c){}})},addClass:function(a){var b,c,d,e,g,h,i;if(f.isFunction(a))return this.each(function(b){f(this).addClass(a.call(this,b,this.className))});if(a&&typeof a=="string"){b=a.split(p);for(c=0,d=this.length;c<d;c++){e=this[c];if(e.nodeType===1)if(!e.className&&b.length===1)e.className=a;else{g=" "+e.className+" ";for(h=0,i=b.length;h<i;h++)~g.indexOf(" "+b[h]+" ")||(g+=b[h]+" ");e.className=f.trim(g)}}}return this},removeClass:function(a){var c,d,e,g,h,i,j;if(f.isFunction(a))return this.each(function(b){f(this).removeClass(a.call(this,b,this.className))});if(a&&typeof a=="string"||a===b){c=(a||"").split(p);for(d=0,e=this.length;d<e;d++){g=this[d];if(g.nodeType===1&&g.className)if(a){h=(" "+g.className+" ").replace(o," ");for(i=0,j=c.length;i<j;i++)h=h.replace(" "+c[i]+" "," ");g.className=f.trim(h)}else g.className=""}}return this},toggleClass:function(a,b){var c=typeof a,d=typeof b=="boolean";if(f.isFunction(a))return this.each(function(c){f(this).toggleClass(a.call(this,c,this.className,b),b)});return this.each(function(){if(c==="string"){var e,g=0,h=f(this),i=b,j=a.split(p);while(e=j[g++])i=d?i:!h.hasClass(e),h[i?"addClass":"removeClass"](e)}else if(c==="undefined"||c==="boolean")this.className&&f._data(this,"__className__",this.className),this.className=this.className||a===!1?"":f._data(this,"__className__")||""})},hasClass:function(a){var b=" "+a+" ",c=0,d=this.length;for(;c<d;c++)if(this[c].nodeType===1&&(" "+this[c].className+" ").replace(o," ").indexOf(b)>-1)return!0;return!1},val:function(a){var c,d,e,g=this[0];{if(!!arguments.length){e=f.isFunction(a);return this.each(function(d){var g=f(this),h;if(this.nodeType===1){e?h=a.call(this,d,g.val()):h=a,h==null?h="":typeof h=="number"?h+="":f.isArray(h)&&(h=f.map(h,function(a){return a==null?"":a+""})),c=f.valHooks[this.type]||f.valHooks[this.nodeName.toLowerCase()];if(!c||!("set"in c)||c.set(this,h,"value")===b)this.value=h}})}if(g){c=f.valHooks[g.type]||f.valHooks[g.nodeName.toLowerCase()];if(c&&"get"in c&&(d=c.get(g,"value"))!==b)return d;d=g.value;return typeof d=="string"?d.replace(q,""):d==null?"":d}}}}),f.extend({valHooks:{option:{get:function(a){var b=a.attributes.value;return!b||b.specified?a.value:a.text}},select:{get:function(a){var b,c,d,e,g=a.selectedIndex,h=[],i=a.options,j=a.type==="select-one";if(g<0)return null;c=j?g:0,d=j?g+1:i.length;for(;c<d;c++){e=i[c];if(e.selected&&(f.support.optDisabled?!e.disabled:e.getAttribute("disabled")===null)&&(!e.parentNode.disabled||!f.nodeName(e.parentNode,"optgroup"))){b=f(e).val();if(j)return b;h.push(b)}}if(j&&!h.length&&i.length)return f(i[g]).val();return h},set:function(a,b){var c=f.makeArray(b);f(a).find("option").each(function(){this.selected=f.inArray(f(this).val(),c)>=0}),c.length||(a.selectedIndex=-1);return c}}},attrFn:{val:!0,css:!0,html:!0,text:!0,data:!0,width:!0,height:!0,offset:!0},attr:function(a,c,d,e){var g,h,i,j=a.nodeType;if(!!a&&j!==3&&j!==8&&j!==2){if(e&&c in f.attrFn)return f(a)[c](d);if(typeof a.getAttribute=="undefined")return f.prop(a,c,d);i=j!==1||!f.isXMLDoc(a),i&&(c=c.toLowerCase(),h=f.attrHooks[c]||(u.test(c)?x:w));if(d!==b){if(d===null){f.removeAttr(a,c);return}if(h&&"set"in h&&i&&(g=h.set(a,d,c))!==b)return g;a.setAttribute(c,""+d);return d}if(h&&"get"in h&&i&&(g=h.get(a,c))!==null)return g;g=a.getAttribute(c);return g===null?b:g}},removeAttr:function(a,b){var c,d,e,g,h,i=0;if(b&&a.nodeType===1){d=b.toLowerCase().split(p),g=d.length;for(;i<g;i++)e=d[i],e&&(c=f.propFix[e]||e,h=u.test(e),h||f.attr(a,e,""),a.removeAttribute(v?e:c),h&&c in a&&(a[c]=!1))}},attrHooks:{type:{set:function(a,b){if(r.test(a.nodeName)&&a.parentNode)f.error("type property can't be changed");else if(!f.support.radioValue&&b==="radio"&&f.nodeName(a,"input")){var c=a.value;a.setAttribute("type",b),c&&(a.value=c);return b}}},value:{get:function(a,b){if(w&&f.nodeName(a,"button"))return w.get(a,b);return b in a?a.value:null},set:function(a,b,c){if(w&&f.nodeName(a,"button"))return w.set(a,b,c);a.value=b}}},propFix:{tabindex:"tabIndex",readonly:"readOnly","for":"htmlFor","class":"className",maxlength:"maxLength",cellspacing:"cellSpacing",cellpadding:"cellPadding",rowspan:"rowSpan",colspan:"colSpan",usemap:"useMap",frameborder:"frameBorder",contenteditable:"contentEditable"},prop:function(a,c,d){var e,g,h,i=a.nodeType;if(!!a&&i!==3&&i!==8&&i!==2){h=i!==1||!f.isXMLDoc(a),h&&(c=f.propFix[c]||c,g=f.propHooks[c]);return d!==b?g&&"set"in g&&(e=g.set(a,d,c))!==b?e:a[c]=d:g&&"get"in g&&(e=g.get(a,c))!==null?e:a[c]}},propHooks:{tabIndex:{get:function(a){var c=a.getAttributeNode("tabindex");return c&&c.specified?parseInt(c.value,10):s.test(a.nodeName)||t.test(a.nodeName)&&a.href?0:b}}}}),f.attrHooks.tabindex=f.propHooks.tabIndex,x={get:function(a,c){var d,e=f.prop(a,c);return e===!0||typeof e!="boolean"&&(d=a.getAttributeNode(c))&&d.nodeValue!==!1?c.toLowerCase():b},set:function(a,b,c){var d;b===!1?f.removeAttr(a,c):(d=f.propFix[c]||c,d in a&&(a[d]=!0),a.setAttribute(c,c.toLowerCase()));return c}},v||(y={name:!0,id:!0,coords:!0},w=f.valHooks.button={get:function(a,c){var d;d=a.getAttributeNode(c);return d&&(y[c]?d.nodeValue!=="":d.specified)?d.nodeValue:b},set:function(a,b,d){var e=a.getAttributeNode(d);e||(e=c.createAttribute(d),a.setAttributeNode(e));return e.nodeValue=b+""}},f.attrHooks.tabindex.set=w.set,f.each(["width","height"],function(a,b){f.attrHooks[b]=f.extend(f.attrHooks[b],{set:function(a,c){if(c===""){a.setAttribute(b,"auto");return c}}})}),f.attrHooks.contenteditable={get:w.get,set:function(a,b,c){b===""&&(b="false"),w.set(a,b,c)}}),f.support.hrefNormalized||f.each(["href","src","width","height"],function(a,c){f.attrHooks[c]=f.extend(f.attrHooks[c],{get:function(a){var d=a.getAttribute(c,2);return d===null?b:d}})}),f.support.style||(f.attrHooks.style={get:function(a){return a.style.cssText.toLowerCase()||b},set:function(a,b){return a.style.cssText=""+b}}),f.support.optSelected||(f.propHooks.selected=f.extend(f.propHooks.selected,{get:function(a){var b=a.parentNode;b&&(b.selectedIndex,b.parentNode&&b.parentNode.selectedIndex);return null}})),f.support.enctype||(f.propFix.enctype="encoding"),f.support.checkOn||f.each(["radio","checkbox"],function(){f.valHooks[this]={get:function(a){return a.getAttribute("value")===null?"on":a.value}}}),f.each(["radio","checkbox"],function(){f.valHooks[this]=f.extend(f.valHooks[this],{set:function(a,b){if(f.isArray(b))return a.checked=f.inArray(f(a).val(),b)>=0}})});var z=/^(?:textarea|input|select)$/i,A=/^([^\.]*)?(?:\.(.+))?$/,B=/(?:^|\s)hover(\.\S+)?\b/,C=/^key/,D=/^(?:mouse|contextmenu)|click/,E=/^(?:focusinfocus|focusoutblur)$/,F=/^(\w*)(?:#([\w\-]+))?(?:\.([\w\-]+))?$/,G=function(
a){var b=F.exec(a);b&&(b[1]=(b[1]||"").toLowerCase(),b[3]=b[3]&&new RegExp("(?:^|\\s)"+b[3]+"(?:\\s|$)"));return b},H=function(a,b){var c=a.attributes||{};return(!b[1]||a.nodeName.toLowerCase()===b[1])&&(!b[2]||(c.id||{}).value===b[2])&&(!b[3]||b[3].test((c["class"]||{}).value))},I=function(a){return f.event.special.hover?a:a.replace(B,"mouseenter$1 mouseleave$1")};f.event={add:function(a,c,d,e,g){var h,i,j,k,l,m,n,o,p,q,r,s;if(!(a.nodeType===3||a.nodeType===8||!c||!d||!(h=f._data(a)))){d.handler&&(p=d,d=p.handler,g=p.selector),d.guid||(d.guid=f.guid++),j=h.events,j||(h.events=j={}),i=h.handle,i||(h.handle=i=function(a){return typeof f!="undefined"&&(!a||f.event.triggered!==a.type)?f.event.dispatch.apply(i.elem,arguments):b},i.elem=a),c=f.trim(I(c)).split(" ");for(k=0;k<c.length;k++){l=A.exec(c[k])||[],m=l[1],n=(l[2]||"").split(".").sort(),s=f.event.special[m]||{},m=(g?s.delegateType:s.bindType)||m,s=f.event.special[m]||{},o=f.extend({type:m,origType:l[1],data:e,handler:d,guid:d.guid,selector:g,quick:g&&G(g),namespace:n.join(".")},p),r=j[m];if(!r){r=j[m]=[],r.delegateCount=0;if(!s.setup||s.setup.call(a,e,n,i)===!1)a.addEventListener?a.addEventListener(m,i,!1):a.attachEvent&&a.attachEvent("on"+m,i)}s.add&&(s.add.call(a,o),o.handler.guid||(o.handler.guid=d.guid)),g?r.splice(r.delegateCount++,0,o):r.push(o),f.event.global[m]=!0}a=null}},global:{},remove:function(a,b,c,d,e){var g=f.hasData(a)&&f._data(a),h,i,j,k,l,m,n,o,p,q,r,s;if(!!g&&!!(o=g.events)){b=f.trim(I(b||"")).split(" ");for(h=0;h<b.length;h++){i=A.exec(b[h])||[],j=k=i[1],l=i[2];if(!j){for(j in o)f.event.remove(a,j+b[h],c,d,!0);continue}p=f.event.special[j]||{},j=(d?p.delegateType:p.bindType)||j,r=o[j]||[],m=r.length,l=l?new RegExp("(^|\\.)"+l.split(".").sort().join("\\.(?:.*\\.)?")+"(\\.|$)"):null;for(n=0;n<r.length;n++)s=r[n],(e||k===s.origType)&&(!c||c.guid===s.guid)&&(!l||l.test(s.namespace))&&(!d||d===s.selector||d==="**"&&s.selector)&&(r.splice(n--,1),s.selector&&r.delegateCount--,p.remove&&p.remove.call(a,s));r.length===0&&m!==r.length&&((!p.teardown||p.teardown.call(a,l)===!1)&&f.removeEvent(a,j,g.handle),delete o[j])}f.isEmptyObject(o)&&(q=g.handle,q&&(q.elem=null),f.removeData(a,["events","handle"],!0))}},customEvent:{getData:!0,setData:!0,changeData:!0},trigger:function(c,d,e,g){if(!e||e.nodeType!==3&&e.nodeType!==8){var h=c.type||c,i=[],j,k,l,m,n,o,p,q,r,s;if(E.test(h+f.event.triggered))return;h.indexOf("!")>=0&&(h=h.slice(0,-1),k=!0),h.indexOf(".")>=0&&(i=h.split("."),h=i.shift(),i.sort());if((!e||f.event.customEvent[h])&&!f.event.global[h])return;c=typeof c=="object"?c[f.expando]?c:new f.Event(h,c):new f.Event(h),c.type=h,c.isTrigger=!0,c.exclusive=k,c.namespace=i.join("."),c.namespace_re=c.namespace?new RegExp("(^|\\.)"+i.join("\\.(?:.*\\.)?")+"(\\.|$)"):null,o=h.indexOf(":")<0?"on"+h:"";if(!e){j=f.cache;for(l in j)j[l].events&&j[l].events[h]&&f.event.trigger(c,d,j[l].handle.elem,!0);return}c.result=b,c.target||(c.target=e),d=d!=null?f.makeArray(d):[],d.unshift(c),p=f.event.special[h]||{};if(p.trigger&&p.trigger.apply(e,d)===!1)return;r=[[e,p.bindType||h]];if(!g&&!p.noBubble&&!f.isWindow(e)){s=p.delegateType||h,m=E.test(s+h)?e:e.parentNode,n=null;for(;m;m=m.parentNode)r.push([m,s]),n=m;n&&n===e.ownerDocument&&r.push([n.defaultView||n.parentWindow||a,s])}for(l=0;l<r.length&&!c.isPropagationStopped();l++)m=r[l][0],c.type=r[l][1],q=(f._data(m,"events")||{})[c.type]&&f._data(m,"handle"),q&&q.apply(m,d),q=o&&m[o],q&&f.acceptData(m)&&q.apply(m,d)===!1&&c.preventDefault();c.type=h,!g&&!c.isDefaultPrevented()&&(!p._default||p._default.apply(e.ownerDocument,d)===!1)&&(h!=="click"||!f.nodeName(e,"a"))&&f.acceptData(e)&&o&&e[h]&&(h!=="focus"&&h!=="blur"||c.target.offsetWidth!==0)&&!f.isWindow(e)&&(n=e[o],n&&(e[o]=null),f.event.triggered=h,e[h](),f.event.triggered=b,n&&(e[o]=n));return c.result}},dispatch:function(c){c=f.event.fix(c||a.event);var d=(f._data(this,"events")||{})[c.type]||[],e=d.delegateCount,g=[].slice.call(arguments,0),h=!c.exclusive&&!c.namespace,i=f.event.special[c.type]||{},j=[],k,l,m,n,o,p,q,r,s,t,u;g[0]=c,c.delegateTarget=this;if(!i.preDispatch||i.preDispatch.call(this,c)!==!1){if(e&&(!c.button||c.type!=="click")){n=f(this),n.context=this.ownerDocument||this;for(m=c.target;m!=this;m=m.parentNode||this)if(m.disabled!==!0){p={},r=[],n[0]=m;for(k=0;k<e;k++)s=d[k],t=s.selector,p[t]===b&&(p[t]=s.quick?H(m,s.quick):n.is(t)),p[t]&&r.push(s);r.length&&j.push({elem:m,matches:r})}}d.length>e&&j.push({elem:this,matches:d.slice(e)});for(k=0;k<j.length&&!c.isPropagationStopped();k++){q=j[k],c.currentTarget=q.elem;for(l=0;l<q.matches.length&&!c.isImmediatePropagationStopped();l++){s=q.matches[l];if(h||!c.namespace&&!s.namespace||c.namespace_re&&c.namespace_re.test(s.namespace))c.data=s.data,c.handleObj=s,o=((f.event.special[s.origType]||{}).handle||s.handler).apply(q.elem,g),o!==b&&(c.result=o,o===!1&&(c.preventDefault(),c.stopPropagation()))}}i.postDispatch&&i.postDispatch.call(this,c);return c.result}},props:"attrChange attrName relatedNode srcElement altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(a,b){a.which==null&&(a.which=b.charCode!=null?b.charCode:b.keyCode);return a}},mouseHooks:{props:"button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(a,d){var e,f,g,h=d.button,i=d.fromElement;a.pageX==null&&d.clientX!=null&&(e=a.target.ownerDocument||c,f=e.documentElement,g=e.body,a.pageX=d.clientX+(f&&f.scrollLeft||g&&g.scrollLeft||0)-(f&&f.clientLeft||g&&g.clientLeft||0),a.pageY=d.clientY+(f&&f.scrollTop||g&&g.scrollTop||0)-(f&&f.clientTop||g&&g.clientTop||0)),!a.relatedTarget&&i&&(a.relatedTarget=i===a.target?d.toElement:i),!a.which&&h!==b&&(a.which=h&1?1:h&2?3:h&4?2:0);return a}},fix:function(a){if(a[f.expando])return a;var d,e,g=a,h=f.event.fixHooks[a.type]||{},i=h.props?this.props.concat(h.props):this.props;a=f.Event(g);for(d=i.length;d;)e=i[--d],a[e]=g[e];a.target||(a.target=g.srcElement||c),a.target.nodeType===3&&(a.target=a.target.parentNode),a.metaKey===b&&(a.metaKey=a.ctrlKey);return h.filter?h.filter(a,g):a},special:{ready:{setup:f.bindReady},load:{noBubble:!0},focus:{delegateType:"focusin"},blur:{delegateType:"focusout"},beforeunload:{setup:function(a,b,c){f.isWindow(this)&&(this.onbeforeunload=c)},teardown:function(a,b){this.onbeforeunload===b&&(this.onbeforeunload=null)}}},simulate:function(a,b,c,d){var e=f.extend(new f.Event,c,{type:a,isSimulated:!0,originalEvent:{}});d?f.event.trigger(e,null,b):f.event.dispatch.call(b,e),e.isDefaultPrevented()&&c.preventDefault()}},f.event.handle=f.event.dispatch,f.removeEvent=c.removeEventListener?function(a,b,c){a.removeEventListener&&a.removeEventListener(b,c,!1)}:function(a,b,c){a.detachEvent&&a.detachEvent("on"+b,c)},f.Event=function(a,b){if(!(this instanceof f.Event))return new f.Event(a,b);a&&a.type?(this.originalEvent=a,this.type=a.type,this.isDefaultPrevented=a.defaultPrevented||a.returnValue===!1||a.getPreventDefault&&a.getPreventDefault()?K:J):this.type=a,b&&f.extend(this,b),this.timeStamp=a&&a.timeStamp||f.now(),this[f.expando]=!0},f.Event.prototype={preventDefault:function(){this.isDefaultPrevented=K;var a=this.originalEvent;!a||(a.preventDefault?a.preventDefault():a.returnValue=!1)},stopPropagation:function(){this.isPropagationStopped=K;var a=this.originalEvent;!a||(a.stopPropagation&&a.stopPropagation(),a.cancelBubble=!0)},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=K,this.stopPropagation()},isDefaultPrevented:J,isPropagationStopped:J,isImmediatePropagationStopped:J},f.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(a,b){f.event.special[a]={delegateType:b,bindType:b,handle:function(a){var c=this,d=a.relatedTarget,e=a.handleObj,g=e.selector,h;if(!d||d!==c&&!f.contains(c,d))a.type=e.origType,h=e.handler.apply(this,arguments),a.type=b;return h}}}),f.support.submitBubbles||(f.event.special.submit={setup:function(){if(f.nodeName(this,"form"))return!1;f.event.add(this,"click._submit keypress._submit",function(a){var c=a.target,d=f.nodeName(c,"input")||f.nodeName(c,"button")?c.form:b;d&&!d._submit_attached&&(f.event.add(d,"submit._submit",function(a){a._submit_bubble=!0}),d._submit_attached=!0)})},postDispatch:function(a){a._submit_bubble&&(delete a._submit_bubble,this.parentNode&&!a.isTrigger&&f.event.simulate("submit",this.parentNode,a,!0))},teardown:function(){if(f.nodeName(this,"form"))return!1;f.event.remove(this,"._submit")}}),f.support.changeBubbles||(f.event.special.change={setup:function(){if(z.test(this.nodeName)){if(this.type==="checkbox"||this.type==="radio")f.event.add(this,"propertychange._change",function(a){a.originalEvent.propertyName==="checked"&&(this._just_changed=!0)}),f.event.add(this,"click._change",function(a){this._just_changed&&!a.isTrigger&&(this._just_changed=!1,f.event.simulate("change",this,a,!0))});return!1}f.event.add(this,"beforeactivate._change",function(a){var b=a.target;z.test(b.nodeName)&&!b._change_attached&&(f.event.add(b,"change._change",function(a){this.parentNode&&!a.isSimulated&&!a.isTrigger&&f.event.simulate("change",this.parentNode,a,!0)}),b._change_attached=!0)})},handle:function(a){var b=a.target;if(this!==b||a.isSimulated||a.isTrigger||b.type!=="radio"&&b.type!=="checkbox")return a.handleObj.handler.apply(this,arguments)},teardown:function(){f.event.remove(this,"._change");return z.test(this.nodeName)}}),f.support.focusinBubbles||f.each({focus:"focusin",blur:"focusout"},function(a,b){var d=0,e=function(a){f.event.simulate(b,a.target,f.event.fix(a),!0)};f.event.special[b]={setup:function(){d++===0&&c.addEventListener(a,e,!0)},teardown:function(){--d===0&&c.removeEventListener(a,e,!0)}}}),f.fn.extend({on:function(a,c,d,e,g){var h,i;if(typeof a=="object"){typeof c!="string"&&(d=d||c,c=b);for(i in a)this.on(i,c,d,a[i],g);return this}d==null&&e==null?(e=c,d=c=b):e==null&&(typeof c=="string"?(e=d,d=b):(e=d,d=c,c=b));if(e===!1)e=J;else if(!e)return this;g===1&&(h=e,e=function(a){f().off(a);return h.apply(this,arguments)},e.guid=h.guid||(h.guid=f.guid++));return this.each(function(){f.event.add(this,a,e,d,c)})},one:function(a,b,c,d){return this.on(a,b,c,d,1)},off:function(a,c,d){if(a&&a.preventDefault&&a.handleObj){var e=a.handleObj;f(a.delegateTarget).off(e.namespace?e.origType+"."+e.namespace:e.origType,e.selector,e.handler);return this}if(typeof a=="object"){for(var g in a)this.off(g,c,a[g]);return this}if(c===!1||typeof c=="function")d=c,c=b;d===!1&&(d=J);return this.each(function(){f.event.remove(this,a,d,c)})},bind:function(a,b,c){return this.on(a,null,b,c)},unbind:function(a,b){return this.off(a,null,b)},live:function(a,b,c){f(this.context).on(a,this.selector,b,c);return this},die:function(a,b){f(this.context).off(a,this.selector||"**",b);return this},delegate:function(a,b,c,d){return this.on(b,a,c,d)},undelegate:function(a,b,c){return arguments.length==1?this.off(a,"**"):this.off(b,a,c)},trigger:function(a,b){return this.each(function(){f.event.trigger(a,b,this)})},triggerHandler:function(a,b){if(this[0])return f.event.trigger(a,b,this[0],!0)},toggle:function(a){var b=arguments,c=a.guid||f.guid++,d=0,e=function(c){var e=(f._data(this,"lastToggle"+a.guid)||0)%d;f._data(this,"lastToggle"+a.guid,e+1),c.preventDefault();return b[e].apply(this,arguments)||!1};e.guid=c;while(d<b.length)b[d++].guid=c;return this.click(e)},hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)}}),f.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "),function(a,b){f.fn[b]=function(a,c){c==null&&(c=a,a=null);return arguments.length>0?this.on(b,null,a,c):this.trigger(b)},f.attrFn&&(f.attrFn[b]=!0),C.test(b)&&(f.event.fixHooks[b]=f.event.keyHooks),D.test(b)&&(f.event.fixHooks[b]=f.event.mouseHooks)}),function(){function x(a,b,c,e,f,g){for(var h=0,i=e.length;h<i;h++){var j=e[h];if(j){var k=!1;j=j[a];while(j){if(j[d]===c){k=e[j.sizset];break}if(j.nodeType===1){g||(j[d]=c,j.sizset=h);if(typeof b!="string"){if(j===b){k=!0;break}}else if(m.filter(b,[j]).length>0){k=j;break}}j=j[a]}e[h]=k}}}function w(a,b,c,e,f,g){for(var h=0,i=e.length;h<i;h++){var j=e[h];if(j){var k=!1;j=j[a];while(j){if(j[d]===c){k=e[j.sizset];break}j.nodeType===1&&!g&&(j[d]=c,j.sizset=h);if(j.nodeName.toLowerCase()===b){k=j;break}j=j[a]}e[h]=k}}}var a=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^\[\]]*\]|['"][^'"]*['"]|[^\[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,d="sizcache"+(Math.random()+"").replace(".",""),e=0,g=Object.prototype.toString,h=!1,i=!0,j=/\\/g,k=/\r\n/g,l=/\W/;[0,0].sort(function(){i=!1;return 0});var m=function(b,d,e,f){e=e||[],d=d||c;var h=d;if(d.nodeType!==1&&d.nodeType!==9)return[];if(!b||typeof b!="string")return e;var i,j,k,l,n,q,r,t,u=!0,v=m.isXML(d),w=[],x=b;do{a.exec(""),i=a.exec(x);if(i){x=i[3],w.push(i[1]);if(i[2]){l=i[3];break}}}while(i);if(w.length>1&&p.exec(b))if(w.length===2&&o.relative[w[0]])j=y(w[0]+w[1],d,f);else{j=o.relative[w[0]]?[d]:m(w.shift(),d);while(w.length)b=w.shift(),o.relative[b]&&(b+=w.shift()),j=y(b,j,f)}else{!f&&w.length>1&&d.nodeType===9&&!v&&o.match.ID.test(w[0])&&!o.match.ID.test(w[w.length-1])&&(n=m.find(w.shift(),d,v),d=n.expr?m.filter(n.expr,n.set)[0]:n.set[0]);if(d){n=f?{expr:w.pop(),set:s(f)}:m.find(w.pop(),w.length===1&&(w[0]==="~"||w[0]==="+")&&d.parentNode?d.parentNode:d,v),j=n.expr?m.filter(n.expr,n.set):n.set,w.length>0?k=s(j):u=!1;while(w.length)q=w.pop(),r=q,o.relative[q]?r=w.pop():q="",r==null&&(r=d),o.relative[q](k,r,v)}else k=w=[]}k||(k=j),k||m.error(q||b);if(g.call(k)==="[object Array]")if(!u)e.push.apply(e,k);else if(d&&d.nodeType===1)for(t=0;k[t]!=null;t++)k[t]&&(k[t]===!0||k[t].nodeType===1&&m.contains(d,k[t]))&&e.push(j[t]);else for(t=0;k[t]!=null;t++)k[t]&&k[t].nodeType===1&&e.push(j[t]);else s(k,e);l&&(m(l,h,e,f),m.uniqueSort(e));return e};m.uniqueSort=function(a){if(u){h=i,a.sort(u);if(h)for(var b=1;b<a.length;b++)a[b]===a[b-1]&&a.splice(b--,1)}return a},m.matches=function(a,b){return m(a,null,null,b)},m.matchesSelector=function(a,b){return m(b,null,null,[a]).length>0},m.find=function(a,b,c){var d,e,f,g,h,i;if(!a)return[];for(e=0,f=o.order.length;e<f;e++){h=o.order[e];if(g=o.leftMatch[h].exec(a)){i=g[1],g.splice(1,1);if(i.substr(i.length-1)!=="\\"){g[1]=(g[1]||"").replace(j,""),d=o.find[h](g,b,c);if(d!=null){a=a.replace(o.match[h],"");break}}}}d||(d=typeof b.getElementsByTagName!="undefined"?b.getElementsByTagName("*"):[]);return{set:d,expr:a}},m.filter=function(a,c,d,e){var f,g,h,i,j,k,l,n,p,q=a,r=[],s=c,t=c&&c[0]&&m.isXML(c[0]);while(a&&c.length){for(h in o.filter)if((f=o.leftMatch[h].exec(a))!=null&&f[2]){k=o.filter[h],l=f[1],g=!1,f.splice(1,1);if(l.substr(l.length-1)==="\\")continue;s===r&&(r=[]);if(o.preFilter[h]){f=o.preFilter[h](f,s,d,r,e,t);if(!f)g=i=!0;else if(f===!0)continue}if(f)for(n=0;(j=s[n])!=null;n++)j&&(i=k(j,f,n,s),p=e^i,d&&i!=null?p?g=!0:s[n]=!1:p&&(r.push(j),g=!0));if(i!==b){d||(s=r),a=a.replace(o.match[h],"");if(!g)return[];break}}if(a===q)if(g==null)m.error(a);else break;q=a}return s},m.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)};var n=m.getText=function(a){var b,c,d=a.nodeType,e="";if(d){if(d===1||d===9||d===11){if(typeof a.textContent=="string")return a.textContent;if(typeof a.innerText=="string")return a.innerText.replace(k,"");for(a=a.firstChild;a;a=a.nextSibling)e+=n(a)}else if(d===3||d===4)return a.nodeValue}else for(b=0;c=a[b];b++)c.nodeType!==8&&(e+=n(c));return e},o=m.selectors={order:["ID","NAME","TAG"],match:{ID:/#((?:[\w\u00c0-\uFFFF\-]|\\.)+)/,CLASS:/\.((?:[\w\u00c0-\uFFFF\-]|\\.)+)/,NAME:/\[name=['"]*((?:[\w\u00c0-\uFFFF\-]|\\.)+)['"]*\]/,ATTR:/\[\s*((?:[\w\u00c0-\uFFFF\-]|\\.)+)\s*(?:(\S?=)\s*(?:(['"])(.*?)\3|(#?(?:[\w\u00c0-\uFFFF\-]|\\.)*)|)|)\s*\]/,TAG:/^((?:[\w\u00c0-\uFFFF\*\-]|\\.)+)/,CHILD:/:(only|nth|last|first)-child(?:\(\s*(even|odd|(?:[+\-]?\d+|(?:[+\-]?\d*)?n\s*(?:[+\-]\s*\d+)?))\s*\))?/,POS:/:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^\-]|$)/,PSEUDO:/:((?:[\w\u00c0-\uFFFF\-]|\\.)+)(?:\((['"]?)((?:\([^\)]+\)|[^\(\)]*)+)\2\))?/},leftMatch:{},attrMap:{"class":"className","for":"htmlFor"},attrHandle:{href:function(a){return a.getAttribute("href")},type:function(a){return a.getAttribute("type")}},relative:{"+":function(a,b){var c=typeof b=="string",d=c&&!l.test(b),e=c&&!d;d&&(b=b.toLowerCase());for(var f=0,g=a.length,h;f<g;f++)if(h=a[f]){while((h=h.previousSibling)&&h.nodeType!==1);a[f]=e||h&&h.nodeName.toLowerCase()===b?h||!1:h===b}e&&m.filter(b,a,!0)},">":function(a,b){var c,d=typeof b=="string",e=0,f=a.length;if(d&&!l.test(b)){b=b.toLowerCase();for(;e<f;e++){c=a[e];if(c){var g=c.parentNode;a[e]=g.nodeName.toLowerCase()===b?g:!1}}}else{for(;e<f;e++)c=a[e],c&&(a[e]=d?c.parentNode:c.parentNode===b);d&&m.filter(b,a,!0)}},"":function(a,b,c){var d,f=e++,g=x;typeof b=="string"&&!l.test(b)&&(b=b.toLowerCase(),d=b,g=w),g("parentNode",b,f,a,d,c)},"~":function(a,b,c){var d,f=e++,g=x;typeof b=="string"&&!l.test(b)&&(b=b.toLowerCase(),d=b,g=w),g("previousSibling",b,f,a,d,c)}},find:{ID:function(a,b,c){if(typeof b.getElementById!="undefined"&&!c){var d=b.getElementById(a[1]);return d&&d.parentNode?[d]:[]}},NAME:function(a,b){if(typeof b.getElementsByName!="undefined"){var c=[],d=b.getElementsByName(a[1]);for(var e=0,f=d.length;e<f;e++)d[e].getAttribute("name")===a[1]&&c.push(d[e]);return c.length===0?null:c}},TAG:function(a,b){if(typeof b.getElementsByTagName!="undefined")return b.getElementsByTagName(a[1])}},preFilter:{CLASS:function(a,b,c,d,e,f){a=" "+a[1].replace(j,"")+" ";if(f)return a;for(var g=0,h;(h=b[g])!=null;g++)h&&(e^(h.className&&(" "+h.className+" ").replace(/[\t\n\r]/g," ").indexOf(a)>=0)?c||d.push(h):c&&(b[g]=!1));return!1},ID:function(a){return a[1].replace(j,"")},TAG:function(a,b){return a[1].replace(j,"").toLowerCase()},CHILD:function(a){if(a[1]==="nth"){a[2]||m.error(a[0]),a[2]=a[2].replace(/^\+|\s*/g,"");var b=/(-?)(\d*)(?:n([+\-]?\d*))?/.exec(a[2]==="even"&&"2n"||a[2]==="odd"&&"2n+1"||!/\D/.test(a[2])&&"0n+"+a[2]||a[2]);a[2]=b[1]+(b[2]||1)-0,a[3]=b[3]-0}else a[2]&&m.error(a[0]);a[0]=e++;return a},ATTR:function(a,b,c,d,e,f){var g=a[1]=a[1].replace(j,"");!f&&o.attrMap[g]&&(a[1]=o.attrMap[g]),a[4]=(a[4]||a[5]||"").replace(j,""),a[2]==="~="&&(a[4]=" "+a[4]+" ");return a},PSEUDO:function(b,c,d,e,f){if(b[1]==="not")if((a.exec(b[3])||"").length>1||/^\w/.test(b[3]))b[3]=m(b[3],null,null,c);else{var g=m.filter(b[3],c,d,!0^f);d||e.push.apply(e,g);return!1}else if(o.match.POS.test(b[0])||o.match.CHILD.test(b[0]))return!0;return b},POS:function(a){a.unshift(!0);return a}},filters:{enabled:function(a){return a.disabled===!1&&a.type!=="hidden"},disabled:function(a){return a.disabled===!0},checked:function(a){return a.checked===!0},selected:function(a){a.parentNode&&a.parentNode.selectedIndex;return a.selected===!0},parent:function(a){return!!a.firstChild},empty:function(a){return!a.firstChild},has:function(a,b,c){return!!m(c[3],a).length},header:function(a){return/h\d/i.test(a.nodeName)},text:function(a){var b=a.getAttribute("type"),c=a.type;return a.nodeName.toLowerCase()==="input"&&"text"===c&&(b===c||b===null)},radio:function(a){return a.nodeName.toLowerCase()==="input"&&"radio"===a.type},checkbox:function(a){return a.nodeName.toLowerCase()==="input"&&"checkbox"===a.type},file:function(a){return a.nodeName.toLowerCase()==="input"&&"file"===a.type},password:function(a){return a.nodeName.toLowerCase()==="input"&&"password"===a.type},submit:function(a){var b=a.nodeName.toLowerCase();return(b==="input"||b==="button")&&"submit"===a.type},image:function(a){return a.nodeName.toLowerCase()==="input"&&"image"===a.type},reset:function(a){var b=a.nodeName.toLowerCase();return(b==="input"||b==="button")&&"reset"===a.type},button:function(a){var b=a.nodeName.toLowerCase();return b==="input"&&"button"===a.type||b==="button"},input:function(a){return/input|select|textarea|button/i.test(a.nodeName)},focus:function(a){return a===a.ownerDocument.activeElement}},setFilters:{first:function(a,b){return b===0},last:function(a,b,c,d){return b===d.length-1},even:function(a,b){return b%2===0},odd:function(a,b){return b%2===1},lt:function(a,b,c){return b<c[3]-0},gt:function(a,b,c){return b>c[3]-0},nth:function(a,b,c){return c[3]-0===b},eq:function(a,b,c){return c[3]-0===b}},filter:{PSEUDO:function(a,b,c,d){var e=b[1],f=o.filters[e];if(f)return f(a,c,b,d);if(e==="contains")return(a.textContent||a.innerText||n([a])||"").indexOf(b[3])>=0;if(e==="not"){var g=b[3];for(var h=0,i=g.length;h<i;h++)if(g[h]===a)return!1;return!0}m.error(e)},CHILD:function(a,b){var c,e,f,g,h,i,j,k=b[1],l=a;switch(k){case"only":case"first":while(l=l.previousSibling)if(l.nodeType===1)return!1;if(k==="first")return!0;l=a;case"last":while(l=l.nextSibling)if(l.nodeType===1)return!1;return!0;case"nth":c=b[2],e=b[3];if(c===1&&e===0)return!0;f=b[0],g=a.parentNode;if(g&&(g[d]!==f||!a.nodeIndex)){i=0;for(l=g.firstChild;l;l=l.nextSibling)l.nodeType===1&&(l.nodeIndex=++i);g[d]=f}j=a.nodeIndex-e;return c===0?j===0:j%c===0&&j/c>=0}},ID:function(a,b){return a.nodeType===1&&a.getAttribute("id")===b},TAG:function(a,b){return b==="*"&&a.nodeType===1||!!a.nodeName&&a.nodeName.toLowerCase()===b},CLASS:function(a,b){return(" "+(a.className||a.getAttribute("class"))+" ").indexOf(b)>-1},ATTR:function(a,b){var c=b[1],d=m.attr?m.attr(a,c):o.attrHandle[c]?o.attrHandle[c](a):a[c]!=null?a[c]:a.getAttribute(c),e=d+"",f=b[2],g=b[4];return d==null?f==="!=":!f&&m.attr?d!=null:f==="="?e===g:f==="*="?e.indexOf(g)>=0:f==="~="?(" "+e+" ").indexOf(g)>=0:g?f==="!="?e!==g:f==="^="?e.indexOf(g)===0:f==="$="?e.substr(e.length-g.length)===g:f==="|="?e===g||e.substr(0,g.length+1)===g+"-":!1:e&&d!==!1},POS:function(a,b,c,d){var e=b[2],f=o.setFilters[e];if(f)return f(a,c,b,d)}}},p=o.match.POS,q=function(a,b){return"\\"+(b-0+1)};for(var r in o.match)o.match[r]=new RegExp(o.match[r].source+/(?![^\[]*\])(?![^\(]*\))/.source),o.leftMatch[r]=new RegExp(/(^(?:.|\r|\n)*?)/.source+o.match[r].source.replace(/\\(\d+)/g,q));o.match.globalPOS=p;var s=function(a,b){a=Array.prototype.slice.call(a,0);if(b){b.push.apply(b,a);return b}return a};try{Array.prototype.slice.call(c.documentElement.childNodes,0)[0].nodeType}catch(t){s=function(a,b){var c=0,d=b||[];if(g.call(a)==="[object Array]")Array.prototype.push.apply(d,a);else if(typeof a.length=="number")for(var e=a.length;c<e;c++)d.push(a[c]);else for(;a[c];c++)d.push(a[c]);return d}}var u,v;c.documentElement.compareDocumentPosition?u=function(a,b){if(a===b){h=!0;return 0}if(!a.compareDocumentPosition||!b.compareDocumentPosition)return a.compareDocumentPosition?-1:1;return a.compareDocumentPosition(b)&4?-1:1}:(u=function(a,b){if(a===b){h=!0;return 0}if(a.sourceIndex&&b.sourceIndex)return a.sourceIndex-b.sourceIndex;var c,d,e=[],f=[],g=a.parentNode,i=b.parentNode,j=g;if(g===i)return v(a,b);if(!g)return-1;if(!i)return 1;while(j)e.unshift(j),j=j.parentNode;j=i;while(j)f.unshift(j),j=j.parentNode;c=e.length,d=f.length;for(var k=0;k<c&&k<d;k++)if(e[k]!==f[k])return v(e[k],f[k]);return k===c?v(a,f[k],-1):v(e[k],b,1)},v=function(a,b,c){if(a===b)return c;var d=a.nextSibling;while(d){if(d===b)return-1;d=d.nextSibling}return 1}),function(){var a=c.createElement("div"),d="script"+(new Date).getTime(),e=c.documentElement;a.innerHTML="<a name='"+d+"'/>",e.insertBefore(a,e.firstChild),c.getElementById(d)&&(o.find.ID=function(a,c,d){if(typeof c.getElementById!="undefined"&&!d){var e=c.getElementById(a[1]);return e?e.id===a[1]||typeof e.getAttributeNode!="undefined"&&e.getAttributeNode("id").nodeValue===a[1]?[e]:b:[]}},o.filter.ID=function(a,b){var c=typeof a.getAttributeNode!="undefined"&&a.getAttributeNode("id");return a.nodeType===1&&c&&c.nodeValue===b}),e.removeChild(a),e=a=null}(),function(){var a=c.createElement("div");a.appendChild(c.createComment("")),a.getElementsByTagName("*").length>0&&(o.find.TAG=function(a,b){var c=b.getElementsByTagName(a[1]);if(a[1]==="*"){var d=[];for(var e=0;c[e];e++)c[e].nodeType===1&&d.push(c[e]);c=d}return c}),a.innerHTML="<a href='#'></a>",a.firstChild&&typeof a.firstChild.getAttribute!="undefined"&&a.firstChild.getAttribute("href")!=="#"&&(o.attrHandle.href=function(a){return a.getAttribute("href",2)}),a=null}(),c.querySelectorAll&&function(){var a=m,b=c.createElement("div"),d="__sizzle__";b.innerHTML="<p class='TEST'>
</p>
";if(!b.querySelectorAll||b.querySelectorAll(".TEST").length!==0){m=function(b,e,f,g){e=e||c;if(!g&&!m.isXML(e)){var h=/^(\w+$)|^\.([\w\-]+$)|^#([\w\-]+$)/.exec(b);if(h&&(e.nodeType===1||e.nodeType===9)){if(h[1])return s(e.getElementsByTagName(b),f);if(h[2]&&o.find.CLASS&&e.getElementsByClassName)return s(e.getElementsByClassName(h[2]),f)}if(e.nodeType===9){if(b==="body"&&e.body)return s([e.body],f);if(h&&h[3]){var i=e.getElementById(h[3]);if(!i||!i.parentNode)return s([],f);if(i.id===h[3])return s([i],f)}try{return s(e.querySelectorAll(b),f)}catch(j){}}else if(e.nodeType===1&&e.nodeName.toLowerCase()!=="object"){var k=e,l=e.getAttribute("id"),n=l||d,p=e.parentNode,q=/^\s*[+~]/.test(b);l?n=n.replace(/'/g,"\\$&"):e.setAttribute("id",n),q&&p&&(e=e.parentNode);try{if(!q||p)return s(e.querySelectorAll("[id='"+n+"'] "+b),f)}catch(r){}finally{l||k.removeAttribute("id")}}}return a(b,e,f,g)};for(var e in a)m[e]=a[e];b=null}}(),function(){var a=c.documentElement,b=a.matchesSelector||a.mozMatchesSelector||a.webkitMatchesSelector||a.msMatchesSelector;if(b){var d=!b.call(c.createElement("div"),"div"),e=!1;try{b.call(c.documentElement,"[test!='']:sizzle")}catch(f){e=!0}m.matchesSelector=function(a,c){c=c.replace(/\=\s*([^'"\]]*)\s*\]/g,"='$1']");if(!m.isXML(a))try{if(e||!o.match.PSEUDO.test(c)&&!/!=/.test(c)){var f=b.call(a,c);if(f||!d||a.document&&a.document.nodeType!==11)return f}}catch(g){}return m(c,null,null,[a]).length>0}}}(),function(){var a=c.createElement("div");a.innerHTML="<div class='test e'>
</div>
<div class='test'>
</div>
";if(!!a.getElementsByClassName&&a.getElementsByClassName("e").length!==0){a.lastChild.className="e";if(a.getElementsByClassName("e").length===1)return;o.order.splice(1,0,"CLASS"),o.find.CLASS=function(a,b,c){if(typeof b.getElementsByClassName!="undefined"&&!c)return b.getElementsByClassName(a[1])},a=null}}(),c.documentElement.contains?m.contains=function(a,b){return a!==b&&(a.contains?a.contains(b):!0)}:c.documentElement.compareDocumentPosition?m.contains=function(a,b){return!!(a.compareDocumentPosition(b)&16)}:m.contains=function(){return!1},m.isXML=function(a){var b=(a?a.ownerDocument||a:0).documentElement;return b?b.nodeName!=="HTML":!1};var y=function(a,b,c){var d,e=[],f="",g=b.nodeType?[b]:b;while(d=o.match.PSEUDO.exec(a))f+=d[0],a=a.replace(o.match.PSEUDO,"");a=o.relative[a]?a+"*":a;for(var h=0,i=g.length;h<i;h++)m(a,g[h],e,c);return m.filter(f,e)};m.attr=f.attr,m.selectors.attrMap={},f.find=m,f.expr=m.selectors,f.expr[":"]=f.expr.filters,f.unique=m.uniqueSort,f.text=m.getText,f.isXMLDoc=m.isXML,f.contains=m.contains}();var L=/Until$/,M=/^(?:parents|prevUntil|prevAll)/,N=/,/,O=/^.[^:#\[\.,]*$/,P=Array.prototype.slice,Q=f.expr.match.globalPOS,R={children:!0,contents:!0,next:!0,prev:!0};f.fn.extend({find:function(a){var b=this,c,d;if(typeof a!="string")return f(a).filter(function(){for(c=0,d=b.length;c<d;c++)if(f.contains(b[c],this))return!0});var e=this.pushStack("","find",a),g,h,i;for(c=0,d=this.length;c<d;c++){g=e.length,f.find(a,this[c],e);if(c>0)for(h=g;h<e.length;h++)for(i=0;i<g;i++)if(e[i]===e[h]){e.splice(h--,1);break}}return e},has:function(a){var b=f(a);return this.filter(function(){for(var a=0,c=b.length;a<c;a++)if(f.contains(this,b[a]))return!0})},not:function(a){return this.pushStack(T(this,a,!1),"not",a)},filter:function(a){return this.pushStack(T(this,a,!0),"filter",a)},is:function(a){return!!a&&(typeof a=="string"?Q.test(a)?f(a,this.context).index(this[0])>=0:f.filter(a,this).length>0:this.filter(a).length>0)},closest:function(a,b){var c=[],d,e,g=this[0];if(f.isArray(a)){var h=1;while(g&&g.ownerDocument&&g!==b){for(d=0;d<a.length;d++)f(g).is(a[d])&&c.push({selector:a[d],elem:g,level:h});g=g.parentNode,h++}return c}var i=Q.test(a)||typeof a!="string"?f(a,b||this.context):0;for(d=0,e=this.length;d<e;d++){g=this[d];while(g){if(i?i.index(g)>-1:f.find.matchesSelector(g,a)){c.push(g);break}g=g.parentNode;if(!g||!g.ownerDocument||g===b||g.nodeType===11)break}}c=c.length>1?f.unique(c):c;return this.pushStack(c,"closest",a)},index:function(a){if(!a)return this[0]&&this[0].parentNode?this.prevAll().length:-1;if(typeof a=="string")return f.inArray(this[0],f(a));return f.inArray(a.jquery?a[0]:a,this)},add:function(a,b){var c=typeof a=="string"?f(a,b):f.makeArray(a&&a.nodeType?[a]:a),d=f.merge(this.get(),c);return this.pushStack(S(c[0])||S(d[0])?d:f.unique(d))},andSelf:function(){return this.add(this.prevObject)}}),f.each({parent:function(a){var b=a.parentNode;return b&&b.nodeType!==11?b:null},parents:function(a){return f.dir(a,"parentNode")},parentsUntil:function(a,b,c){return f.dir(a,"parentNode",c)},next:function(a){return f.nth(a,2,"nextSibling")},prev:function(a){return f.nth(a,2,"previousSibling")},nextAll:function(a){return f.dir(a,"nextSibling")},prevAll:function(a){return f.dir(a,"previousSibling")},nextUntil:function(a,b,c){return f.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return f.dir(a,"previousSibling",c)},siblings:function(a){return f.sibling((a.parentNode||{}).firstChild,a)},children:function(a){return f.sibling(a.firstChild)},contents:function(a){return f.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:f.makeArray(a.childNodes)}},function(a,b){f.fn[a]=function(c,d){var e=f.map(this,b,c);L.test(a)||(d=c),d&&typeof d=="string"&&(e=f.filter(d,e)),e=this.length>1&&!R[a]?f.unique(e):e,(this.length>1||N.test(d))&&M.test(a)&&(e=e.reverse());return this.pushStack(e,a,P.call(arguments).join(","))}}),f.extend({filter:function(a,b,c){c&&(a=":not("+a+")");return b.length===1?f.find.matchesSelector(b[0],a)?[b[0]]:[]:f.find.matches(a,b)},dir:function(a,c,d){var e=[],g=a[c];while(g&&g.nodeType!==9&&(d===b||g.nodeType!==1||!f(g).is(d)))g.nodeType===1&&e.push(g),g=g[c];return e},nth:function(a,b,c,d){b=b||1;var e=0;for(;a;a=a[c])if(a.nodeType===1&&++e===b)break;return a},sibling:function(a,b){var c=[];for(;a;a=a.nextSibling)a.nodeType===1&&a!==b&&c.push(a);return c}});var V="abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",W=/ jQuery\d+="(?:\d+|null)"/g,X=/^\s+/,Y=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig,Z=/<([\w:]+)/,$=/<tbody/i,_=/<|&#?\w+;/,ba=/<(?:script|style)/i,bb=/<(?:script|object|embed|option|style)/i,bc=new RegExp("<(?:"+V+")[\\s/>]","i"),bd=/checked\s*(?:[^=]|=\s*.checked.)/i,be=/\/(java|ecma)script/i,bf=/^\s*<!(?:\[CDATA\[|\-\-)/,bg={option:[1,"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>
","</fieldset>
"],thead:[1,"<table>","</table>
"],tr:[2,"<table><tbody>","</tbody></table>
"],td:[3,"<table><tbody>
<tr>","</tr>
</tbody></table>
"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>
"],area:[1,"<map>","</map>"],_default:[0,"",""]},bh=U(c);bg.optgroup=bg.option,bg.tbody=bg.tfoot=bg.colgroup=bg.caption=bg.thead,bg.th=bg.td,f.support.htmlSerialize||(bg._default=[1,"div<div>
","</div>
"]),f.fn.extend({text:function(a){return f.access(this,function(a){return a===b?f.text(this):this.empty().append((this[0]&&this[0].ownerDocument||c).createTextNode(a))},null,a,arguments.length)},wrapAll:function(a){if(f.isFunction(a))return this.each(function(b){f(this).wrapAll(a.call(this,b))});if(this[0]){var b=f(a,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstChild&&a.firstChild.nodeType===1)a=a.firstChild;return a}).append(this)}return this},wrapInner:function(a){if(f.isFunction(a))return this.each(function(b){f(this).wrapInner(a.call(this,b))});return this.each(function(){var b=f(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){var b=f.isFunction(a);return this.each(function(c){f(this).wrapAll(b?a.call(this,c):a)})},unwrap:function(){return this.parent().each(function(){f.nodeName(this,"body")||f(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,!0,function(a){this.nodeType===1&&this.appendChild(a)})},prepend:function(){return this.domManip(arguments,!0,function(a){this.nodeType===1&&this.insertBefore(a,this.firstChild)})},before:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this)});if(arguments.length){var a=f
.clean(arguments);a.push.apply(a,this.toArray());return this.pushStack(a,"before",arguments)}},after:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this.nextSibling)});if(arguments.length){var a=this.pushStack(this,"after",arguments);a.push.apply(a,f.clean(arguments));return a}},remove:function(a,b){for(var c=0,d;(d=this[c])!=null;c++)if(!a||f.filter(a,[d]).length)!b&&d.nodeType===1&&(f.cleanData(d.getElementsByTagName("*")),f.cleanData([d])),d.parentNode&&d.parentNode.removeChild(d);return this},empty:function(){for(var a=0,b;(b=this[a])!=null;a++){b.nodeType===1&&f.cleanData(b.getElementsByTagName("*"));while(b.firstChild)b.removeChild(b.firstChild)}return this},clone:function(a,b){a=a==null?!1:a,b=b==null?a:b;return this.map(function(){return f.clone(this,a,b)})},html:function(a){return f.access(this,function(a){var c=this[0]||{},d=0,e=this.length;if(a===b)return c.nodeType===1?c.innerHTML.replace(W,""):null;if(typeof a=="string"&&!ba.test(a)&&(f.support.leadingWhitespace||!X.test(a))&&!bg[(Z.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(Y,"<$1></$2>");try{for(;d<e;d++)c=this[d]||{},c.nodeType===1&&(f.cleanData(c.getElementsByTagName("*")),c.innerHTML=a);c=0}catch(g){}}c&&this.empty().append(a)},null,a,arguments.length)},replaceWith:function(a){if(this[0]&&this[0].parentNode){if(f.isFunction(a))return this.each(function(b){var c=f(this),d=c.html();c.replaceWith(a.call(this,b,d))});typeof a!="string"&&(a=f(a).detach());return this.each(function(){var b=this.nextSibling,c=this.parentNode;f(this).remove(),b?f(b).before(a):f(c).append(a)})}return this.length?this.pushStack(f(f.isFunction(a)?a():a),"replaceWith",a):this},detach:function(a){return this.remove(a,!0)},domManip:function(a,c,d){var e,g,h,i,j=a[0],k=[];if(!f.support.checkClone&&arguments.length===3&&typeof j=="string"&&bd.test(j))return this.each(function(){f(this).domManip(a,c,d,!0)});if(f.isFunction(j))return this.each(function(e){var g=f(this);a[0]=j.call(this,e,c?g.html():b),g.domManip(a,c,d)});if(this[0]){i=j&&j.parentNode,f.support.parentNode&&i&&i.nodeType===11&&i.childNodes.length===this.length?e={fragment:i}:e=f.buildFragment(a,this,k),h=e.fragment,h.childNodes.length===1?g=h=h.firstChild:g=h.firstChild;if(g){c=c&&f.nodeName(g,"tr");for(var l=0,m=this.length,n=m-1;l<m;l++)d.call(c?bi(this[l],g):this[l],e.cacheable||m>1&&l<n?f.clone(h,!0,!0):h)}k.length&&f.each(k,function(a,b){b.src?f.ajax({type:"GET",global:!1,url:b.src,async:!1,dataType:"script"}):f.globalEval((b.text||b.textContent||b.innerHTML||"").replace(bf,"/*$0*/")),b.parentNode&&b.parentNode.removeChild(b)})}return this}}),f.buildFragment=function(a,b,d){var e,g,h,i,j=a[0];b&&b[0]&&(i=b[0].ownerDocument||b[0]),i.createDocumentFragment||(i=c),a.length===1&&typeof j=="string"&&j.length<512&&i===c&&j.charAt(0)==="<"&&!bb.test(j)&&(f.support.checkClone||!bd.test(j))&&(f.support.html5Clone||!bc.test(j))&&(g=!0,h=f.fragments[j],h&&h!==1&&(e=h)),e||(e=i.createDocumentFragment(),f.clean(a,i,e,d)),g&&(f.fragments[j]=h?e:1);return{fragment:e,cacheable:g}},f.fragments={},f.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){f.fn[a]=function(c){var d=[],e=f(c),g=this.length===1&&this[0].parentNode;if(g&&g.nodeType===11&&g.childNodes.length===1&&e.length===1){e[b](this[0]);return this}for(var h=0,i=e.length;h<i;h++){var j=(h>0?this.clone(!0):this).get();f(e[h])[b](j),d=d.concat(j)}return this.pushStack(d,a,e.selector)}}),f.extend({clone:function(a,b,c){var d,e,g,h=f.support.html5Clone||f.isXMLDoc(a)||!bc.test("<"+a.nodeName+">")?a.cloneNode(!0):bo(a);if((!f.support.noCloneEvent||!f.support.noCloneChecked)&&(a.nodeType===1||a.nodeType===11)&&!f.isXMLDoc(a)){bk(a,h),d=bl(a),e=bl(h);for(g=0;d[g];++g)e[g]&&bk(d[g],e[g])}if(b){bj(a,h);if(c){d=bl(a),e=bl(h);for(g=0;d[g];++g)bj(d[g],e[g])}}d=e=null;return h},clean:function(a,b,d,e){var g,h,i,j=[];b=b||c,typeof b.createElement=="undefined"&&(b=b.ownerDocument||b[0]&&b[0].ownerDocument||c);for(var k=0,l;(l=a[k])!=null;k++){typeof l=="number"&&(l+="");if(!l)continue;if(typeof l=="string")if(!_.test(l))l=b.createTextNode(l);else{l=l.replace(Y,"<$1></$2>");var m=(Z.exec(l)||["",""])[1].toLowerCase(),n=bg[m]||bg._default,o=n[0],p=b.createElement("div"),q=bh.childNodes,r;b===c?bh.appendChild(p):U(b).appendChild(p),p.innerHTML=n[1]+l+n[2];while(o--)p=p.lastChild;if(!f.support.tbody){var s=$.test(l),t=m==="table"&&!s?p.firstChild&&p.firstChild.childNodes:n[1]==="<table>"&&!s?p.childNodes:[];for(i=t.length-1;i>=0;--i)f.nodeName(t[i],"tbody")&&!t[i].childNodes.length&&t[i].parentNode.removeChild(t[i])}!f.support.leadingWhitespace&&X.test(l)&&p.insertBefore(b.createTextNode(X.exec(l)[0]),p.firstChild),l=p.childNodes,p&&(p.parentNode.removeChild(p),q.length>0&&(r=q[q.length-1],r&&r.parentNode&&r.parentNode.removeChild(r)))}var u;if(!f.support.appendChecked)if(l[0]&&typeof (u=l.length)=="number")for(i=0;i<u;i++)bn(l[i]);else bn(l);l.nodeType?j.push(l):j=f.merge(j,l)}if(d){g=function(a){return!a.type||be.test(a.type)};for(k=0;j[k];k++){h=j[k];if(e&&f.nodeName(h,"script")&&(!h.type||be.test(h.type)))e.push(h.parentNode?h.parentNode.removeChild(h):h);else{if(h.nodeType===1){var v=f.grep(h.getElementsByTagName("script"),g);j.splice.apply(j,[k+1,0].concat(v))}d.appendChild(h)}}}return j},cleanData:function(a){var b,c,d=f.cache,e=f.event.special,g=f.support.deleteExpando;for(var h=0,i;(i=a[h])!=null;h++){if(i.nodeName&&f.noData[i.nodeName.toLowerCase()])continue;c=i[f.expando];if(c){b=d[c];if(b&&b.events){for(var j in b.events)e[j]?f.event.remove(i,j):f.removeEvent(i,j,b.handle);b.handle&&(b.handle.elem=null)}g?delete i[f.expando]:i.removeAttribute&&i.removeAttribute(f.expando),delete d[c]}}}});var bp=/alpha\([^)]*\)/i,bq=/opacity=([^)]*)/,br=/([A-Z]|^ms)/g,bs=/^[\-+]?(?:\d*\.)?\d+$/i,bt=/^-?(?:\d*\.)?\d+(?!px)[^\d\s]+$/i,bu=/^([\-+])=([\-+.\de]+)/,bv=/^margin/,bw={position:"absolute",visibility:"hidden",display:"block"},bx=["Top","Right","Bottom","Left"],by,bz,bA;f.fn.css=function(a,c){return f.access(this,function(a,c,d){return d!==b?f.style(a,c,d):f.css(a,c)},a,c,arguments.length>1)},f.extend({cssHooks:{opacity:{get:function(a,b){if(b){var c=by(a,"opacity");return c===""?"1":c}return a.style.opacity}}},cssNumber:{fillOpacity:!0,fontWeight:!0,lineHeight:!0,opacity:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":f.support.cssFloat?"cssFloat":"styleFloat"},style:function(a,c,d,e){if(!!a&&a.nodeType!==3&&a.nodeType!==8&&!!a.style){var g,h,i=f.camelCase(c),j=a.style,k=f.cssHooks[i];c=f.cssProps[i]||i;if(d===b){if(k&&"get"in k&&(g=k.get(a,!1,e))!==b)return g;return j[c]}h=typeof d,h==="string"&&(g=bu.exec(d))&&(d=+(g[1]+1)*+g[2]+parseFloat(f.css(a,c)),h="number");if(d==null||h==="number"&&isNaN(d))return;h==="number"&&!f.cssNumber[i]&&(d+="px");if(!k||!("set"in k)||(d=k.set(a,d))!==b)try{j[c]=d}catch(l){}}},css:function(a,c,d){var e,g;c=f.camelCase(c),g=f.cssHooks[c],c=f.cssProps[c]||c,c==="cssFloat"&&(c="float");if(g&&"get"in g&&(e=g.get(a,!0,d))!==b)return e;if(by)return by(a,c)},swap:function(a,b,c){var d={},e,f;for(f in b)d[f]=a.style[f],a.style[f]=b[f];e=c.call(a);for(f in b)a.style[f]=d[f];return e}}),f.curCSS=f.css,c.defaultView&&c.defaultView.getComputedStyle&&(bz=function(a,b){var c,d,e,g,h=a.style;b=b.replace(br,"-$1").toLowerCase(),(d=a.ownerDocument.defaultView)&&(e=d.getComputedStyle(a,null))&&(c=e.getPropertyValue(b),c===""&&!f.contains(a.ownerDocument.documentElement,a)&&(c=f.style(a,b))),!f.support.pixelMargin&&e&&bv.test(b)&&bt.test(c)&&(g=h.width,h.width=c,c=e.width,h.width=g);return c}),c.documentElement.currentStyle&&(bA=function(a,b){var c,d,e,f=a.currentStyle&&a.currentStyle[b],g=a.style;f==null&&g&&(e=g[b])&&(f=e),bt.test(f)&&(c=g.left,d=a.runtimeStyle&&a.runtimeStyle.left,d&&(a.runtimeStyle.left=a.currentStyle.left),g.left=b==="fontSize"?"1em":f,f=g.pixelLeft+"px",g.left=c,d&&(a.runtimeStyle.left=d));return f===""?"auto":f}),by=bz||bA,f.each(["height","width"],function(a,b){f.cssHooks[b]={get:function(a,c,d){if(c)return a.offsetWidth!==0?bB(a,b,d):f.swap(a,bw,function(){return bB(a,b,d)})},set:function(a,b){return bs.test(b)?b+"px":b}}}),f.support.opacity||(f.cssHooks.opacity={get:function(a,b){return bq.test((b&&a.currentStyle?a.currentStyle.filter:a.style.filter)||"")?parseFloat(RegExp.$1)/100+"":b?"1":""},set:function(a,b){var c=a.style,d=a.currentStyle,e=f.isNumeric(b)?"alpha(opacity="+b*100+")":"",g=d&&d.filter||c.filter||"";c.zoom=1;if(b>=1&&f.trim(g.replace(bp,""))===""){c.removeAttribute("filter");if(d&&!d.filter)return}c.filter=bp.test(g)?g.replace(bp,e):g+" "+e}}),f(function(){f.support.reliableMarginRight||(f.cssHooks.marginRight={get:function(a,b){return f.swap(a,{display:"inline-block"},function(){return b?by(a,"margin-right"):a.style.marginRight})}})}),f.expr&&f.expr.filters&&(f.expr.filters.hidden=function(a){var b=a.offsetWidth,c=a.offsetHeight;return b===0&&c===0||!f.support.reliableHiddenOffsets&&(a.style&&a.style.display||f.css(a,"display"))==="none"},f.expr.filters.visible=function(a){return!f.expr.filters.hidden(a)}),f.each({margin:"",padding:"",border:"Width"},function(a,b){f.cssHooks[a+b]={expand:function(c){var d,e=typeof c=="string"?c.split(" "):[c],f={};for(d=0;d<4;d++)f[a+bx[d]+b]=e[d]||e[d-2]||e[0];return f}}});var bC=/%20/g,bD=/\[\]$/,bE=/\r?\n/g,bF=/#.*$/,bG=/^(.*?):[ \t]*([^\r\n]*)\r?$/mg,bH=/^(?:color|date|datetime|datetime-local|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,bI=/^(?:about|app|app\-storage|.+\-extension|file|res|widget):$/,bJ=/^(?:GET|HEAD)$/,bK=/^\/\//,bL=/\?/,bM=/<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi,bN=/^(?:select|textarea)/i,bO=/\s+/,bP=/([?&])_=[^&]*/,bQ=/^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+))?)?/,bR=f.fn.load,bS={},bT={},bU,bV,bW=["*/"]+["*"];try{bU=e.href}catch(bX){bU=c.createElement("a"),bU.href="",bU=bU.href}bV=bQ.exec(bU.toLowerCase())||[],f.fn.extend({load:function(a,c,d){if(typeof a!="string"&&bR)return bR.apply(this,arguments);if(!this.length)return this;var e=a.indexOf(" ");if(e>=0){var g=a.slice(e,a.length);a=a.slice(0,e)}var h="GET";c&&(f.isFunction(c)?(d=c,c=b):typeof c=="object"&&(c=f.param(c,f.ajaxSettings.traditional),h="POST"));var i=this;f.ajax({url:a,type:h,dataType:"html",data:c,complete:function(a,b,c){c=a.responseText,a.isResolved()&&(a.done(function(a){c=a}),i.html(g?f("<div>
").append(c.replace(bM,"")).find(g):c)),d&&i.each(d,[c,b,a])}});return this},serialize:function(){return f.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?f.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||bN.test(this.nodeName)||bH.test(this.type))}).map(function(a,b){var c=f(this).val();return c==null?null:f.isArray(c)?f.map(c,function(a,c){return{name:b.name,value:a.replace(bE,"\r\n")}}):{name:b.name,value:c.replace(bE,"\r\n")}}).get()}}),f.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(a,b){f.fn[b]=function(a){return this.on(b,a)}}),f.each(["get","post"],function(a,c){f[c]=function(a,d,e,g){f.isFunction(d)&&(g=g||e,e=d,d=b);return f.ajax({type:c,url:a,data:d,success:e,dataType:g})}}),f.extend({getScript:function(a,c){return f.get(a,b,c,"script")},getJSON:function(a,b,c){return f.get(a,b,c,"json")},ajaxSetup:function(a,b){b?b$(a,f.ajaxSettings):(b=a,a=f.ajaxSettings),b$(a,b);return a},ajaxSettings:{url:bU,isLocal:bI.test(bV[1]),global:!0,type:"GET",contentType:"application/x-www-form-urlencoded; charset=UTF-8",processData:!0,async:!0,accepts:{xml:"application/xml, text/xml",html:"text/html",text:"text/plain",json:"application/json, text/javascript","*":bW},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":a.String,"text html":!0,"text json":f.parseJSON,"text xml":f.parseXML},flatOptions:{context:!0,url:!0}},ajaxPrefilter:bY(bS),ajaxTransport:bY(bT),ajax:function(a,c){function w(a,c,l,m){if(s!==2){s=2,q&&clearTimeout(q),p=b,n=m||"",v.readyState=a>0?4:0;var o,r,u,w=c,x=l?ca(d,v,l):b,y,z;if(a>=200&&a<300||a===304){if(d.ifModified){if(y=v.getResponseHeader("Last-Modified"))f.lastModified[k]=y;if(z=v.getResponseHeader("Etag"))f.etag[k]=z}if(a===304)w="notmodified",o=!0;else try{r=cb(d,x),w="success",o=!0}catch(A){w="parsererror",u=A}}else{u=w;if(!w||a)w="error",a<0&&(a=0)}v.status=a,v.statusText=""+(c||w),o?h.resolveWith(e,[r,w,v]):h.rejectWith(e,[v,w,u]),v.statusCode(j),j=b,t&&g.trigger("ajax"+(o?"Success":"Error"),[v,d,o?r:u]),i.fireWith(e,[v,w]),t&&(g.trigger("ajaxComplete",[v,d]),--f.active||f.event.trigger("ajaxStop"))}}typeof a=="object"&&(c=a,a=b),c=c||{};var d=f.ajaxSetup({},c),e=d.context||d,g=e!==d&&(e.nodeType||e instanceof f)?f(e):f.event,h=f.Deferred(),i=f.Callbacks("once memory"),j=d.statusCode||{},k,l={},m={},n,o,p,q,r,s=0,t,u,v={readyState:0,setRequestHeader:function(a,b){if(!s){var c=a.toLowerCase();a=m[c]=m[c]||a,l[a]=b}return this},getAllResponseHeaders:function(){return s===2?n:null},getResponseHeader:function(a){var c;if(s===2){if(!o){o={};while(c=bG.exec(n))o[c[1].toLowerCase()]=c[2]}c=o[a.toLowerCase()]}return c===b?null:c},overrideMimeType:function(a){s||(d.mimeType=a);return this},abort:function(a){a=a||"abort",p&&p.abort(a),w(0,a);return this}};h.promise(v),v.success=v.done,v.error=v.fail,v.complete=i.add,v.statusCode=function(a){if(a){var b;if(s<2)for(b in a)j[b]=[j[b],a[b]];else b=a[v.status],v.then(b,b)}return this},d.url=((a||d.url)+"").replace(bF,"").replace(bK,bV[1]+"//"),d.dataTypes=f.trim(d.dataType||"*").toLowerCase().split(bO),d.crossDomain==null&&(r=bQ.exec(d.url.toLowerCase()),d.crossDomain=!(!r||r[1]==bV[1]&&r[2]==bV[2]&&(r[3]||(r[1]==="http:"?80:443))==(bV[3]||(bV[1]==="http:"?80:443)))),d.data&&d.processData&&typeof d.data!="string"&&(d.data=f.param(d.data,d.traditional)),bZ(bS,d,c,v);if(s===2)return!1;t=d.global,d.type=d.type.toUpperCase(),d.hasContent=!bJ.test(d.type),t&&f.active++===0&&f.event.trigger("ajaxStart");if(!d.hasContent){d.data&&(d.url+=(bL.test(d.url)?"&":"?")+d.data,delete d.data),k=d.url;if(d.cache===!1){var x=f.now(),y=d.url.replace(bP,"$1_="+x);d.url=y+(y===d.url?(bL.test(d.url)?"&":"?")+"_="+x:"")}}(d.data&&d.hasContent&&d.contentType!==!1||c.contentType)&&v.setRequestHeader("Content-Type",d.contentType),d.ifModified&&(k=k||d.url,f.lastModified[k]&&v.setRequestHeader("If-Modified-Since",f.lastModified[k]),f.etag[k]&&v.setRequestHeader("If-None-Match",f.etag[k])),v.setRequestHeader("Accept",d.dataTypes[0]&&d.accepts[d.dataTypes[0]]?d.accepts[d.dataTypes[0]]+(d.dataTypes[0]!=="*"?", "+bW+"; q=0.01":""):d.accepts["*"]);for(u in d.headers)v.setRequestHeader(u,d.headers[u]);if(d.beforeSend&&(d.beforeSend.call(e,v,d)===!1||s===2)){v.abort();return!1}for(u in{success:1,error:1,complete:1})v[u](d[u]);p=bZ(bT,d,c,v);if(!p)w(-1,"No Transport");else{v.readyState=1,t&&g.trigger("ajaxSend",[v,d]),d.async&&d.timeout>0&&(q=setTimeout(function(){v.abort("timeout")},d.timeout));try{s=1,p.send(l,w)}catch(z){if(s<2)w(-1,z);else throw z}}return v},param:function(a,c){var d=[],e=function(a,b){b=f.isFunction(b)?b():b,d[d.length]=encodeURIComponent(a)+"="+encodeURIComponent(b)};c===b&&(c=f.ajaxSettings.traditional);if(f.isArray(a)||a.jquery&&!f.isPlainObject(a))f.each(a,function(){e(this.name,this.value)});else for(var g in a)b_(g,a[g],c,e);return d.join("&").replace(bC,"+")}}),f.extend({active:0,lastModified:{},etag:{}});var cc=f.now(),cd=/(\=)\?(&|$)|\?\?/i;f.ajaxSetup({jsonp:"callback",jsonpCallback:function(){return f.expando+"_"+cc++}}),f.ajaxPrefilter("json jsonp",function(b,c,d){var e=typeof b.data=="string"&&/^application\/x\-www\-form\-urlencoded/.test(b.contentType);if(b.dataTypes[0]==="jsonp"||b.jsonp!==!1&&(cd.test(b.url)||e&&cd.test(b.data))){var g,h=b.jsonpCallback=f.isFunction(b.jsonpCallback)?b.jsonpCallback():b.jsonpCallback,i=a[h],j=b.url,k=b.data,l="$1"+h+"$2";b.jsonp!==!1&&(j=j.replace(cd,l),b.url===j&&(e&&(k=k.replace(cd,l)),b.data===k&&(j+=(/\?/.test(j)?"&":"?")+b.jsonp+"="+h))),b.url=j,b.data=k,a[h]=function(a){g=[a]},d.always(function(){a[h]=i,g&&f.isFunction(i)&&a[h](g[0])}),b.converters["script json"]=function(){g||f.error(h+" was not called");return g[0]},b.dataTypes[0]="json";return"script"}}),f.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/javascript|ecmascript/},converters:{"text script":function(a){f.globalEval(a);return a}}}),f.ajaxPrefilter("script",function(a){a.cache===b&&(a.cache=!1),a.crossDomain&&(a.type="GET",a.global=!1)}),f.ajaxTransport("script",function(a){if(a.crossDomain){var d,e=c.head||c.getElementsByTagName("head")[0]||c.documentElement;return{send:function(f,g){d=c.createElement("script"),d.async="async",a.scriptCharset&&(d.charset=a.scriptCharset),d.src=a.url,d.onload=d.onreadystatechange=function(a,c){if(c||!d.readyState||/loaded|complete/.test(d.readyState))d.onload=d.onreadystatechange=null,e&&d.parentNode&&e.removeChild(d),d=b,c||g(200,"success")},e.insertBefore(d,e.firstChild)},abort:function(){d&&d.onload(0,1)}}}});var ce=a.ActiveXObject?function(){for(var a in cg)cg[a](0,1)}:!1,cf=0,cg;f.ajaxSettings.xhr=a.ActiveXObject?function(){return!this.isLocal&&ch()||ci()}:ch,function(a){f.extend(f.support,{ajax:!!a,cors:!!a&&"withCredentials"in a})}(f.ajaxSettings.xhr()),f.support.ajax&&f.ajaxTransport(function(c){if(!c.crossDomain||f.support.cors){var d;return{send:function(e,g){var h=c.xhr(),i,j;c.username?h.open(c.type,c.url,c.async,c.username,c.password):h.open(c.type,c.url,c.async);if(c.xhrFields)for(j in c.xhrFields)h[j]=c.xhrFields[j];c.mimeType&&h.overrideMimeType&&h.overrideMimeType(c.mimeType),!c.crossDomain&&!e["X-Requested-With"]&&(e["X-Requested-With"]="XMLHttpRequest");try{for(j in e)h.setRequestHeader(j,e[j])}catch(k){}h.send(c.hasContent&&c.data||null),d=function(a,e){var j,k,l,m,n;try{if(d&&(e||h.readyState===4)){d=b,i&&(h.onreadystatechange=f.noop,ce&&delete cg[i]);if(e)h.readyState!==4&&h.abort();else{j=h.status,l=h.getAllResponseHeaders(),m={},n=h.responseXML,n&&n.documentElement&&(m.xml=n);try{m.text=h.responseText}catch(a){}try{k=h.statusText}catch(o){k=""}!j&&c.isLocal&&!c.crossDomain?j=m.text?200:404:j===1223&&(j=204)}}}catch(p){e||g(-1,p)}m&&g(j,k,m,l)},!c.async||h.readyState===4?d():(i=++cf,ce&&(cg||(cg={},f(a).unload(ce)),cg[i]=d),h.onreadystatechange=d)},abort:function(){d&&d(0,1)}}}});var cj={},ck,cl,cm=/^(?:toggle|show|hide)$/,cn=/^([+\-]=)?([\d+.\-]+)([a-z%]*)$/i,co,cp=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]],cq;f.fn.extend({show:function(a,b,c){var d,e;if(a||a===0)return this.animate(ct("show",3),a,b,c);for(var g=0,h=this.length;g<h;g++)d=this[g],d.style&&(e=d.style.display,!f._data(d,"olddisplay")&&e==="none"&&(e=d.style.display=""),(e===""&&f.css(d,"display")==="none"||!f.contains(d.ownerDocument.documentElement,d))&&f._data(d,"olddisplay",cu(d.nodeName)));for(g=0;g<h;g++){d=this[g];if(d.style){e=d.style.display;if(e===""||e==="none")d.style.display=f._data(d,"olddisplay")||""}}return this},hide:function(a,b,c){if(a||a===0)return this.animate(ct("hide",3),a,b,c);var d,e,g=0,h=this.length;for(;g<h;g++)d=this[g],d.style&&(e=f.css(d,"display"),e!=="none"&&!f._data(d,"olddisplay")&&f._data(d,"olddisplay",e));for(g=0;g<h;g++)this[g].style&&(this[g].style.display="none");return this},_toggle:f.fn.toggle,toggle:function(a,b,c){var d=typeof a=="boolean";f.isFunction(a)&&f.isFunction(b)?this._toggle.apply(this,arguments):a==null||d?this.each(function(){var b=d?a:f(this).is(":hidden");f(this)[b?"show":"hide"]()}):this.animate(ct("toggle",3),a,b,c);return this},fadeTo:function(a,b,c,d){return this.filter(":hidden").css("opacity",0).show().end().animate({opacity:b},a,c,d)},animate:function(a,b,c,d){function g(){e.queue===!1&&f._mark(this);var b=f.extend({},e),c=this.nodeType===1,d=c&&f(this).is(":hidden"),g,h,i,j,k,l,m,n,o,p,q;b.animatedProperties={};for(i in a){g=f.camelCase(i),i!==g&&(a[g]=a[i],delete a[i]);if((k=f.cssHooks[g])&&"expand"in k){l=k.expand(a[g]),delete a[g];for(i in l)i in a||(a[i]=l[i])}}for(g in a){h=a[g],f.isArray(h)?(b.animatedProperties[g]=h[1],h=a[g]=h[0]):b.animatedProperties[g]=b.specialEasing&&b.specialEasing[g]||b.easing||"swing";if(h==="hide"&&d||h==="show"&&!d)return b.complete.call(this);c&&(g==="height"||g==="width")&&(b.overflow=[this.style.overflow,this.style.overflowX,this.style.overflowY],f.css(this,"display")==="inline"&&f.css(this,"float")==="none"&&(!f.support.inlineBlockNeedsLayout||cu(this.nodeName)==="inline"?this.style.display="inline-block":this.style.zoom=1))}b.overflow!=null&&(this.style.overflow="hidden");for(i in a)j=new f.fx(this,b,i),h=a[i],cm.test(h)?(q=f._data(this,"toggle"+i)||(h==="toggle"?d?"show":"hide":0),q?(f._data(this,"toggle"+i,q==="show"?"hide":"show"),j[q]()):j[h]()):(m=cn.exec(h),n=j.cur(),m?(o=parseFloat(m[2]),p=m[3]||(f.cssNumber[i]?"":"px"),p!=="px"&&(f.style(this,i,(o||1)+p),n=(o||1)/j.cur()*n,f.style(this,i,n+p)),m[1]&&(o=(m[1]==="-="?-1:1)*o+n),j.custom(n,o,p)):j.custom(n,h,""));return!0}var e=f.speed(b,c,d);if(f.isEmptyObject(a))return this.each(e.complete,[!1]);a=f.extend({},a);return e.queue===!1?this.each(g):this.queue(e.queue,g)},stop:function(a,c,d){typeof a!="string"&&(d=c,c=a,a=b),c&&a!==!1&&this.queue(a||"fx",[]);return this.each(function(){function h(a,b,c){var e=b[c];f.removeData(a,c,!0),e.stop(d)}var b,c=!1,e=f.timers,g=f._data(this);d||f._unmark(!0,this);if(a==null)for(b in g)g[b]&&g[b].stop&&b.indexOf(".run")===b.length-4&&h(this,g,b);else g[b=a+".run"]&&g[b].stop&&h(this,g,b);for(b=e.length;b--;)e[b].elem===this&&(a==null||e[b].queue===a)&&(d?e[b](!0):e[b].saveState(),c=!0,e.splice(b,1));(!d||!c)&&f.dequeue(this,a)})}}),f.each({slideDown:ct("show",1),slideUp:ct("hide",1),slideToggle:ct("toggle",1),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(a,b){f.fn[a]=function(a,c,d){return this.animate(b,a,c,d)}}),f.extend({speed:function(a,b,c){var d=a&&typeof a=="object"?f.extend({},a):{complete:c||!c&&b||f.isFunction(a)&&a,duration:a,easing:c&&b||b&&!f.isFunction(b)&&b};d.duration=f.fx.off?0:typeof d.duration=="number"?d.duration:d.duration in f.fx.speeds?f.fx.speeds[d.duration]:f.fx.speeds._default;if(d.queue==null||d.queue===!0)d.queue="fx";d.old=d.complete,d.complete=function(a){f.isFunction(d.old)&&d.old.call(this),d.queue?f.dequeue(this,d.queue):a!==!1&&f._unmark(this)};return d},easing:{linear:function(a){return a},swing:function(a){return-Math.cos(a*Math.PI)/2+.5}},timers:[],fx:function(a,b,c){this.options=b,this.elem=a,this.prop=c,b.orig=b.orig||{}}}),f.fx.prototype={update:function(){this.options.step&&this.options.step.call(this.elem,this.now,this),(f.fx.step[this.prop]||f.fx.step._default)(this)},cur:function(){if(this.elem[this.prop]!=null&&(!this.elem.style||this.elem.style[this.prop]==null))return this.elem[this.prop];var a,b=f.css(this.elem,this.prop);return isNaN(a=parseFloat(b))?!b||b==="auto"?0:b:a},custom:function(a,c,d){function h(a){return e.step(a)}var e=this,g=f.fx;this.startTime=cq||cr(),this.end=c,this.now=this.start=a,this.pos=this.state=0,this.unit=d||this.unit||(f.cssNumber[this.prop]?"":"px"),h.queue=this.options.queue,h.elem=this.elem,h.saveState=function(){f._data(e.elem,"fxshow"+e.prop)===b&&(e.options.hide?f._data(e.elem,"fxshow"+e.prop,e.start):e.options.show&&f._data(e.elem,"fxshow"+e.prop,e.end))},h()&&f.timers.push(h)&&!co&&(co=setInterval(g.tick,g.interval))},show:function(){var a=f._data(this.elem,"fxshow"+this.prop);this.options.orig[this.prop]=a||f.style(this.elem,this.prop),this.options.show=!0,a!==b?this.custom(this.cur(),a):this.custom(this.prop==="width"||this.prop==="height"?1:0,this.cur()),f(this.elem).show()},hide:function(){this.options.orig[this.prop]=f._data(this.elem,"fxshow"+this.prop)||f.style(this.elem,this.prop),this.options.hide=!0,this.custom(this.cur(),0)},step:function(a){var b,c,d,e=cq||cr(),g=!0,h=this.elem,i=this.options;if(a||e>=i.duration+this.startTime){this.now=this.end,this.pos=this.state=1,this.update(),i.animatedProperties[this.prop]=!0;for(b in i.animatedProperties)i.animatedProperties[b]!==!0&&(g=!1);if(g){i.overflow!=null&&!f.support.shrinkWrapBlocks&&f.each(["","X","Y"],function(a,b){h.style["overflow"+b]=i.overflow[a]}),i.hide&&f(h).hide();if(i.hide||i.show)for(b in i.animatedProperties)f.style(h,b,i.orig[b]),f.removeData(h,"fxshow"+b,!0),f.removeData(h,"toggle"+b,!0);d=i.complete,d&&(i.complete=!1,d.call(h))}return!1}i.duration==Infinity?this.now=e:(c=e-this.startTime,this.state=c/i.duration,this.pos=f.easing[i.animatedProperties[this.prop]](this.state,c,0,1,i.duration),this.now=this.start+(this.end-this.start)*this.pos),this.update();return!0}},f.extend(f.fx,{tick:function(){var a,b=f.timers,c=0;for(;c<b.length;c++)a=b[c],!a()&&b[c]===a&&b.splice(c--,1);b.length||f.fx.stop()},interval:13,stop:function(){clearInterval(co),co=null},speeds:{slow:600,fast:200,_default:400},step:{opacity:function(a){f.style(a.elem,"opacity",a.now)},_default:function(a){a.elem.style&&a.elem.style[a.prop]!=null?a.elem.style[a.prop]=a.now+a.unit:a.elem[a.prop]=a.now}}}),f.each(cp.concat.apply([],cp),function(a,b){b.indexOf("margin")&&(f.fx.step[b]=function(a){f.style(a.elem,b,Math.max(0,a.now)+a.unit)})}),f.expr&&f.expr.filters&&(f.expr.filters.animated=function(a){return f.grep(f.timers,function(b){return a===b.elem}).length});var cv,cw=/^t(?:able|d|h)$/i,cx=/^(?:body|html)$/i;"getBoundingClientRect"in c.documentElement?cv=function(a,b,c,d){try{d=a.getBoundingClientRect()}catch(e){}if(!d||!f.contains(c,a))return d?{top:d.top,left:d.left}:{top:0,left:0};var g=b.body,h=cy(b),i=c.clientTop||g.clientTop||0,j=c.clientLeft||g.clientLeft||0,k=h.pageYOffset||f.support.boxModel&&c.scrollTop||g.scrollTop,l=h.pageXOffset||f.support.boxModel&&c.scrollLeft||g.scrollLeft,m=d.top+k-i,n=d.left+l-j;return{top:m,left:n}}:cv=function(a,b,c){var d,e=a.offsetParent,g=a,h=b.body,i=b.defaultView,j=i?i.getComputedStyle(a,null):a.currentStyle,k=a.offsetTop,l=a.offsetLeft;while((a=a.parentNode)&&a!==h&&a!==c){if(f.support.fixedPosition&&j.position==="fixed")break;d=i?i.getComputedStyle(a,null):a.currentStyle,k-=a.scrollTop,l-=a.scrollLeft,a===e&&(k+=a.offsetTop,l+=a.offsetLeft,f.support.doesNotAddBorder&&(!f.support.doesAddBorderForTableAndCells||!cw.test(a.nodeName))&&(k+=parseFloat(d.borderTopWidth)||0,l+=parseFloat(d.borderLeftWidth)||0),g=e,e=a.offsetParent),f.support.subtractsBorderForOverflowNotVisible&&d.overflow!=="visible"&&(k+=parseFloat(d.borderTopWidth)||0,l+=parseFloat(d.borderLeftWidth)||0),j=d}if(j.position==="relative"||j.position==="static")k+=h.offsetTop,l+=h.offsetLeft;f.support.fixedPosition&&j.position==="fixed"&&(k+=Math.max(c.scrollTop,h.scrollTop),l+=Math.max(c.scrollLeft,h.scrollLeft));return{top:k,left:l}},f.fn.offset=function(a){if(arguments.length)return a===b?this:this.each(function(b){f.offset.setOffset(this,a,b)});var c=this[0],d=c&&c.ownerDocument;if(!d)return null;if(c===d.body)return f.offset.bodyOffset(c);return cv(c,d,d.documentElement)},f.offset={bodyOffset:function(a){var b=a.offsetTop,c=a.offsetLeft;f.support.doesNotIncludeMarginInBodyOffset&&(b+=parseFloat(f.css(a,"marginTop"))||0,c+=parseFloat(f.css(a,"marginLeft"))||0);return{top:b,left:c}},setOffset:function(a,b,c){var d=f.css(a,"position");d==="static"&&(a.style.position="relative");var e=f(a),g=e.offset(),h=f.css(a,"top"),i=f.css(a,"left"),j=(d==="absolute"||d==="fixed")&&f.inArray("auto",[h,i])>-1,k={},l={},m,n;j?(l=e.position(),m=l.top,n=l.left):(m=parseFloat(h)||0,n=parseFloat(i)||0),f.isFunction(b)&&(b=b.call(a,c,g)),b.top!=null&&(k.top=b.top-g.top+m),b.left!=null&&(k.left=b.left-g.left+n),"using"in b?b.using.call(a,k):e.css(k)}},f.fn.extend({position:function(){if(!this[0])return null;var a=this[0],b=this.offsetParent(),c=this.offset(),d=cx.test(b[0].nodeName)?{top:0,left:0}:b.offset();c.top-=parseFloat(f.css(a,"marginTop"))||0,c.left-=parseFloat(f.css(a,"marginLeft"))||0,d.top+=parseFloat(f.css(b[0],"borderTopWidth"))||0,d.left+=parseFloat(f.css(b[0],"borderLeftWidth"))||0;return{top:c.top-d.top,left:c.left-d.left}},offsetParent:function(){return this.map(function(){var a=this.offsetParent||c.body;while(a&&!cx.test(a.nodeName)&&f.css(a,"position")==="static")a=a.offsetParent;return a})}}),f.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(a,c){var d=/Y/.test(c);f.fn[a]=function(e){return f.access(this,function(a,e,g){var h=cy(a);if(g===b)return h?c in h?h[c]:f.support.boxModel&&h.document.documentElement[e]||h.document.body[e]:a[e];h?h.scrollTo(d?f(h).scrollLeft():g,d?g:f(h).scrollTop()):a[e]=g},a,e,arguments.length,null)}}),f.each({Height:"height",Width:"width"},function(a,c){var d="client"+a,e="scroll"+a,g="offset"+a;f.fn["inner"+a]=function(){var a=this[0];return a?a.style?parseFloat(f.css(a,c,"padding")):this[c]():null},f.fn["outer"+a]=function(a){var b=this[0];return b?b.style?parseFloat(f.css(b,c,a?"margin":"border")):this[c]():null},f.fn[c]=function(a){return f.access(this,function(a,c,h){var i,j,k,l;if(f.isWindow(a)){i=a.document,j=i.documentElement[d];return f.support.boxModel&&j||i.body&&i.body[d]||j}if(a.nodeType===9){i=a.documentElement;if(i[d]>=i[e])return i[d];return Math.max(a.body[e],i[e],a.body[g],i[g])}if(h===b){k=f.css(a,c),l=parseFloat(k);return f.isNumeric(l)?l:k}f(a).css(c,h)},c,a,arguments.length,null)}}),a.jQuery=a.$=f,typeof define=="function"&&define.amd&&define.amd.jQuery&&define("jquery",[],function(){return f})})(window);</script><script charset="ANSI" defer="" type="text/javascript">/*!
* ClearlyComponent
* Offer up Clearly's content detection algorithm as an embeddable component.
*
* http://evernote.com/clearly/
* Copyright 2012, Evernote Corporation
*
* Requires:
* window.jQueryForClearlyComponent -- an instance of jQuery
*
* Definition:
* window.ClearlyComponent
* getContentElementAndHTML(_windowObject, _callbackFunction) {
* _callbackFunction({
* '_elements': [ (nodeObjects) ],
* '_html': (string),
* '_title': (string),
* '_multiPage': (bool),
* '_rtl': (bool)
* });
* }
* getOtherPagesHTML(_callbackFunction) {
* _callbackFunction(
* [
* {
* '_html': (string),
* '_url': (string)
* }
* ]
* );
* }
*/
function initClearly( window ) { /* override window object and undefined */
// set main objects
// ================
var $C = { 'version': '3335.890.162' };
var $ = window.jQueryForClearlyComponent;
var $R = { 'component': true };
// getContentElementAndHTML
// ========================
$C.getContentElementAndHTML = function (_windowObject, _callbackFunction)
{
// we're basically duplicating $R.getContent__find
// ===============================================
// get content
// ===========
var
_found = $R.getContent__findInPage($R.win),
_targetNode = _found._targetCandidate.__node,
_$targetNode = $(_targetNode),
_aboveNodes = []
;
// RTL
// ===
switch (true)
{
case (_$targetNode.attr('dir') == 'rtl'):
case (_$targetNode.css('direction') == 'rtl'):
$R.makeRTL();
break;
}
// get html
// ========
var
_foundHTML = _found._html,
_firstFragmentBefore = $R.getContent__nextPage__getFirstFragment(_foundHTML),
_documentTitle = ($R.document.title > '' ? $R.document.title : '')
;
// get title
// =========
// has title already?
_foundHTML = $R.getContent__find__isolateTitleInHTML(_foundHTML, _documentTitle);
$R.articleTitle = $R.getContent__find__getIsolatedTitleInHTML(_foundHTML);
$R.debugPrint('TitleSource', 'target');
// get html above?
if ($R.articleTitle > ''); else
{
// get html above target?
// ======================
// global vars:
// _found
// _foundHTML
// _documentTitle
// _aboveNodes
var
_prevNode = _found._targetCandidate.__node,
_prevHTML = '',
_aboveHTML = '',
_differentTargets = (_found._firstCandidate.__node != _found._targetCandidate.__node)
;
(function ()
{
while (true)
{
// the end?
switch (true)
{
case (_prevNode.tagName && (_prevNode.tagName.toLowerCase() == 'body')):
case (_differentTargets && (_prevNode == _found._firstCandidate.__node)):
// enough is enough
return;
}
// up or sideways?
if (_prevNode.previousSibling); else
{
_prevNode = _prevNode.parentNode;
continue;
}
// previous
_prevNode = _prevNode.previousSibling;
// outline -- element might be re-outlined, when buildHTML is invoked
if ($R.debug) { $R.debugOutline(_prevNode, 'target', 'add-above'); }
// get html; add
_prevHTML = $R.getContent__buildHTMLForNode(_prevNode, 'above-the-target');
_aboveHTML = _prevHTML + _aboveHTML;
_aboveNodes.unshift(_prevNode);
// isolate title
_aboveHTML = $R.getContent__find__isolateTitleInHTML(_aboveHTML, _documentTitle);
// finished?
switch (true)
{
case ($R.measureText__getTextLength(_aboveHTML.replace(/<[^>]+?>/gi, '').replace(/\s+/gi, ' ')) > (65 * 3 * 3)):
case ($R.getContent__find__hasIsolatedTitleInHTML(_aboveHTML)):
return;
}
}
})();
// is what we found any good?
// ==========================
switch (true)
{
case ($R.getContent__find__hasIsolatedTitleInHTML(_aboveHTML)):
case (_differentTargets && (_aboveHTML.split('<a ').length < 3) && ($R.measureText__getTextLength(_aboveHTML.replace(/<[^>]+?>/gi, '').replace(/\s+/gi, ' ')) < (65 * 3))):
_foundHTML = _aboveHTML + _foundHTML;
break;
default:
_aboveHTML = '';
_aboveNodes = [];
break;
}
$R.articleTitle = $R.getContent__find__getIsolatedTitleInHTML(_foundHTML);
$R.debugPrint('TitleSource', 'above_HTML');
// get document title?
if ($R.articleTitle > ''); else
{
// if all else failed, get document title
// ======================================
// global vars:
// _foundHTML
// _documentTitle
(function ()
{
// return?
// =======
if (_documentTitle > ''); else { return; }
// vars
var
_doc_title_parts = [],
_doc_title_pregs =
[
/( [-][-] |( [-] )|( [>][>] )|( [<][<] )|( [|] )|( [\/] ))/i,
/(([:] ))/i
]
;
// loop through pregs
// ==================
for (var i=0, _i=_doc_title_pregs.length; i<_i; i++)
{
// split
_doc_title_parts = _documentTitle.split(_doc_title_pregs[i]);
// break if we managed a split
if (_doc_title_parts.length > 1) { break; }
}
// sort title parts -- longer goes higher up -- i.e. towards 0
// ================
_doc_title_parts.sort(function (a, b)
{
switch (true)
{
case (a.length > b.length): return -1;
case (a.length < b.length): return 1;
default: return 0;
}
});
// set title -- first part, if more than one word; otherwise, whole
// =========
_foundHTML = ''
+ $R.articleTitleMarker__start
+ (_doc_title_parts[0].split(/\s+/i).length > 1 ? _doc_title_parts[0] : _documentTitle)
+ $R.articleTitleMarker__end
+ _foundHTML
;
})();
$R.articleTitle = $R.getContent__find__getIsolatedTitleInHTML(_foundHTML);
$R.debugPrint('TitleSource', 'document_title');
}
}
// remember
// ========
$R.debugRemember['theTarget'] = _found._targetCandidate.__node;
$R.debugRemember['firstCandidate'] = _found._firstCandidate.__node;
// next
// ====
$C._nextPages = [];
$R.nextPage__firstFragment__firstPage = _firstFragmentBefore;
$R.nextPage__firstFragment__lastPage = $R.getContent__nextPage__getFirstFragment(_foundHTML);;
$R.nextPage__loadedPages = [$R.win.location.href];
$R.getContent__nextPage__find($R.win, _found._links);
// result
var
_result = {
'_html': _foundHTML,
'_title': $R.articleTitle,
'_multiPage': ($R.nextPage__loadedPages.length > 1),
'_rtl': $R.rtl
}
;
// add elements
_result['_elements'] = _aboveNodes;
_result['_elements'].push(_found._targetCandidate.__node);
// return
_callbackFunction(_result);
};
// getOtherPagesHTML
// =================
$C.getOtherPagesHTML = function (_callbackFunction)
{
// curent length
var
_currentLength = $C._nextPages.length
_checkFunction = function ()
{
if ($C._nextPages.length == _currentLength)
{
// return
_callbackFunction($C._nextPages);
}
else
{
// reset
_currentLength = $C._nextPages.length;
window.setTimeout(_checkFunction, 2000);
}
}
;
// set first timeout
window.setTimeout(_checkFunction, 2000);
};
// includes -- bind to $R
// ========
// target
// ======
// globals
// =======
$R.win = window;
$R.document = window.document;
$R.$win = $($R.win);
$R.$document = $($R.document);
// init
// ====
// version
// =======
$R.version = '3335.890.162';
// paths
// =====
$R.paths =
{
'main': 'none',
'evernote': 'https://www.evernote.com/'
};
// versioning
// ==========
$R.versioning =
{
'file_name_bulk_js': 'bulk.js',
'file_name_bulk_css': 'bulk.css',
'file_name_jQuery_js': 'jQuery.js',
'file_name_miniColors_js': 'jquery.miniColors.js',
'file_name_miniColors_css': 'jquery.miniColors.css',
'file_name_flexSelect_js': 'jquery.flexSelect.js',
'file_name_liquidMetal_js': 'liquidMetal.js',
'file_name_flexSelect_css': 'flexSelect.css',
'file_name_base--theme-1_css': 'base--theme-1.css',
'file_name_base--theme-2_css': 'base--theme-2.css',
'file_name_base--theme-3_css': 'base--theme-3.css',
'file_name_base--blueprint_css':'base--theme-blueprint.css'
};
// write
// =====
var
_body = $R.document.getElementsByTagName('body')[0],
_component__next_pages_container_element = $R.document.createElement('div'),
_component__in_page_css_element = $R.document.createElement('style'),
_component__in_page_css_text = ''
+ '#next_pages_container { '
+ 'width: 5px; hight: 5px; '
+ 'position: absolute; '
+ 'top: -100px; left: -100px; '
+ 'z-index: 2147483647 !important; '
+ '} '
;
if(!_body) {
_body = $R.document.getElementsByTagName("frameset")[0];
}
// css
// ===
_component__in_page_css_element.setAttribute('id', '_clearly_component__css');
_component__in_page_css_element.setAttribute('type', 'text/css');
if (_component__in_page_css_element.styleSheet) { _component__in_page_css_element.styleSheet.cssText = _component__in_page_css_text; }
else { _component__in_page_css_element.appendChild(document.createTextNode(_component__in_page_css_text)); }
_body.appendChild(_component__in_page_css_element);
// next pages
// ==========
_component__next_pages_container_element.setAttribute('id', '_clearly_component__next_pages_container');
_body.appendChild(_component__next_pages_container_element);
$R.$nextPages = $('#_clearly_component__next_pages_container');
// bulk
// ====
// debug
// =====
// defaults to false
if ($R.debug); else { $R.debug = false; }
// make it faster -- when not debugging
// ==============
if (!($R.debug))
{
$R.debugRemember = {};
$R.writeLog = function () { return false; };
$R.log = function () { return false; };
$R.debugTimerStart = function () { return false; };
$R.debugTimerEnd = function () { return false; };
$R.debugPrint = function () { return false; };
$R.printDebugOutput = function () { return false; };
$R.debugOutline = function () { return false; };
}
else
{
// remember stuff
$R.debugRemember = {};
// vars
// ====
$R.debugStuff = [];
$R.debugTimers = [];
// write log
// =========
$R.initializeWriteLogFunction = function ()
{
switch (true)
{
case (!(!($R.win.console && $R.win.console.log))):
$R.writeLog = function (msg) { $R.win.console.log(msg); };
break;
case (!(!($R.win.opera && $R.win.opera.postError))):
$R.writeLog = function (msg) { $R.win.opera.postError(msg); };
break;
default:
$R.writeLog = function (msg) {};
break;
}
};
// log
// ===
$R.initializeWriteLogFunction();
$R.log = function ()
{
if ($R.debug); else { return; }
for (var i=0, il=arguments.length; i<il ; i++)
{ $R.writeLog(arguments[i]); }
$R.writeLog('-----------------------------------------');
};
// outline
// =======
$R.debugOutline = function (_element, _category, _reason)
{
switch (true)
{
case (!$R.debug):
case (!(_element.nodeType === 1)):
case (!(_element.tagName > '')):
case (_element.tagName.toLowerCase() == 'onject'):
case (_element.tagName.toLowerCase() == 'embed'):
return;
}
var
_outline = '#ff5500',
_background = 'rgba(255, 85, 0, 0.5)'
;
// choose
switch (true)
{
case (_category == 'target' && _reason == 'first'):
_outline = '#00cc00';
_background = 'rgba(0, 255, 0, 0.5)';
break;
case (_category == 'target' && _reason == 'second'):
_outline = '#0000cc';
_background = 'rgba(0, 0, 255, 0.5)';
break;
// =====
case (_category == 'target' && _reason == 'next-page'):
_outline = '#FF80C0';
_background = 'rgba(255, 128, 192, 0.5)';
break;
case (_category == 'target' && _reason == 'add-above'):
_outline = '#804000';
_background = 'rgba(128, 64, 0, 0.5)';
break;
// =====
case (_category == 'clean-before' && _reason == 'floating'):
_outline = '#808080';
_background = 'rgba(128, 128, 128, 0.5)';
break;
case (_category == 'clean-after' && _reason == 'missing-density'):
_outline = '#C0C0C0';
_background = 'rgba(192, 192, 192, 0.5)';
break;
case (_category == 'clean-after' || _category == 'clean-before'):
_outline = '#000000';
_background = 'rgba(0, 0, 0, 0.5)';
break;
}
// do
$(_element).attr('readable__outline', (_category + ': ' + _reason));
$(_element).css({
'outline': '5px solid ' + _outline,
'background-color': '' + _background
});
};
$R.debugBackground = function (_element, _category, _reason)
{
if ($R.debug); else { return; }
switch (true)
{
case (!(_element.nodeType === 1)):
case (!(_element.tagName > '')):
case (_element.tagName.toLowerCase() == 'onject'):
case (_element.tagName.toLowerCase() == 'embed'):
// don't outline
break;
default:
var _color = 'transparent';
switch (true)
{
case (_category == 'target' && _reason == 'first'): _color = ''; break;
case (_category == 'target' && _reason == 'second'): _color = ''; break;
case (_category == 'target' && _reason == 'next-page'): _color = '#FF80C0'; break;
case (_category == 'target' && _reason == 'add-above'): _color = '#804000'; break;
case (_category == 'clean-before' && _reason == 'floating'): _color = '#808080'; break;
case (_category == 'clean-after' && _reason == 'missing-density'): _color = '#C0C0C0'; break;
case (_category == 'clean-after' || _category == 'clean-before'): _color = '#000000'; break;
}
$(_element).css('outline','5px solid '+_color);
$(_element).attr('readable__outline', (_category + ': ' + _reason));
break;
}
};
// timers
// ======
$R.debugTimerStart = function (timerName)
{
$R.debugTimers.push({
'name': timerName,
'start': (new Date()).getTime()
});
};
$R.debugTimerEnd = function ()
{
var _t = $R.debugTimers.pop(), _time = ((new Date()).getTime() - _t.start);
$R.log('TIMER / '+_t.name+': ' + _time);
return _time;
};
// output -- will be shown in Show function
// ======
$R.debugPrint = function (_key, _value)
{ $R.debugStuff[_key] = _value; };
$R.printDebugOutput = function ()
{
// return
if ($R.debug); else { return; }
if ($R.customScript) { return; }
// first
var _first =
[
'Language',
'ExploreAndGetStuff',
'ProcessFirst',
'ProcessSecond',
'BuildHTML',
'BuildHTMLPregs',
'PointsFirst',
'PointsSecond',
'Target',
'NextPage',
'TitleSource'
];
// get and clean
_$debug = $('#debugOutput');
_$debug.html('');
// write
var _debug_write = function (_key, _value)
{
_$debug.append(''
+ '
<tr>'
+ '<td class="caption">'
+ _key
+ '</td>'
+ '<td id="debugOutput__value__'+_key+'" class="value">'
+ _value
+ '</td>'
+ '</tr>
'
);
}
// first
for (var i=0, _i=_first.length; i<_i; i++)
{ _debug_write(_first[i], $R.debugStuff[_first[i]]); delete($R.debugStuff[_first[i]]); }
// the rest
for (var _k in $R.debugStuff)
{ _debug_write(_k, $R.debugStuff[_k]); }
// end; stop
$R.debugPrint = function () {};
$R.printDebugOutput = function () {};
};
// scriptable scrolling
$R.debugScroll__before1 = function () { $R.win.scrollTo(0, 0); };
$R.debugScroll__before2 = function () { $R.win.scrollTo(0, $R.$win.height()); };
$R.debugScroll__before3 = function () { if ($($R.debugRemember['theTarget']).height() > 0) { $R.debugRemember['theTarget'].scrollIntoView(false); } else { $R.debugRemember['firstCandidate'].scrollIntoView(false); } $R.win.scrollBy(0, 100); };
$R.debugScroll__after1 = function () { window.scrollTo(0, 0); };
$R.debugScroll__after2 = function () { window.scrollTo(0, $R.$win.height()); };
$R.debugScroll__after3 = function () { $('#page1').get(0).scrollIntoView(false); window.scrollBy(0, 100); };
}
$R.debug = false;
// environment
// ===========
// environtment
// ============
$R.mac = (!$R.iOS && ($R.win.navigator.userAgent.match(/Macintosh/i) != null));
// get browser
// var -- gets filled in
// ===
var __the_browser = 'unknown';
// possible values -- in this order
// ===============
/*
firefox
safari
chrome
internet_explorer
opera
iphone
ipad
android
dolphin
firefox_mobile
chrome_mobile
windows_phone
*/
// doing work
// ==========
__the_browser = (function ()
{
// ua string
// =========
var _ua = window.navigator.userAgent.toLowerCase();
// cases
// =====
if ((_ua.indexOf('windows phone') > -1)) { return 'windows_phone'; }
if ((_ua.indexOf('chrome') > -1) && (_ua.indexOf('android') > -1)) { return 'chrome_mobile'; }
if ((_ua.indexOf('firefox') > -1) && (_ua.indexOf('fennec') > -1)) { return 'firefox_mobile'; }
if ((_ua.indexOf('dolfin') > -1) || (_ua.indexOf('dolphin') > -1)) { return 'dolphin'; }
if ((_ua.indexOf('android') > -1)) { return 'android'; }
if ((_ua.indexOf('ipad') > -1)) { return 'ipad'; }
if ((_ua.indexOf('iphone') > -1)) { return 'iphone'; }
if ($.browser.opera) { return 'opera'; }
if ($.browser.msie) { return 'internet_explorer'; }
if ($.browser.webkit && (_ua.indexOf('chrome') > -1)) { return 'chrome'; }
if ($.browser.webkit && (_ua.indexOf('safari') > -1)) { return 'safari'; }
if ($.browser.mozilla) { return 'firefox'; }
})();
$R.browser = __the_browser;
// language specific stuff
// =======================
// default
$R.language = 'general';
// the text - start with title
var _test_text = ' ' + $R.document.title;
// add couple of random paragraphs, divs
var
_ps = $R.document.getElementsByTagName('p'),
_ds = $R.document.getElementsByTagName('div')
;
// add
for (var i=0; i<5; i++) { _test_text += ' ' + $(_ps[Math.floor(Math.random()*_ps.length)]).text(); }
for (var i=0; i<5; i++) { _test_text += ' ' + $(_ds[Math.floor(Math.random()*_ds.length)]).text(); }
// check
switch (true)
{
// case ($R.win.location.host.match(/\.jp$/i) != null):
// case ($R.win.location.host.match(/\.cn$/i) != null):
// case ($R.win.location.host.match(/\.tw$/i) != null):
// case ($R.win.location.host.match(/\.hk$/i) != null):
// case ($R.win.location.host.match(/\.kr$/i) != null):
case (_test_text.match(/([\u3000])/gi) != null):
case (_test_text.match(/([\u3001])/gi) != null):
case (_test_text.match(/([\u3002])/gi) != null):
case (_test_text.match(/([\u301C])/gi) != null):
$R.language = 'cjk';
break;
}
// in case we stop
$R.debugPrint('Language', $R.language);
// rtl
// ===
// var
// ===
$R.rtl = false;
// functions
// =========
$R.makeRTL = function ()
{
// set
$R.rtl = true;
// as component; return
if ($R.component) { return; }
$('#curtain__rtl__radio__rtl').get(0).checked = true;
$('#curtain__rtl__radio__ltr').get(0).checked = false;
$('html')
.attr('dir', 'rtl')
.addClass('couldBeRTL')
.addClass('rtl');
$R.$pages
.attr('dir', 'rtl')
.addClass('rtl');
};
$R.makeNotRTL = function ()
{
// set
$R.rtl = false;
// as component; return
if ($R.component) { return; }
$('#curtain__rtl__radio__rtl').get(0).checked = false;
$('#curtain__rtl__radio__ltr').get(0).checked = true;
$('html')
.attr('dir', '')
.removeClass('rtl');
$R.$pages
.attr('dir', '')
.removeClass('rtl');
};
// detect
// ======
(function ()
{
// definitely rtl
$R.$document.find('html, body').each(function (_i, _e)
{
switch (true) {
case ($(_e).attr('dir') == 'rtl'):
case ($(_e).css('direction') == 'rtl'):
case ($(_e).attr('lang') == 'he'):
case ($(_e).attr('lang') == 'he-il'):
case ($(_e).attr('lang') == 'ar'):
case ($(_e).attr('lang') == 'ur'):
$R.makeRTL();
return false;
}
});
// maybe rtl
// =========
if ($R.component); else
{
if ((!$R.rtl) && ($R.$document.find("div[dir='rtl'], table[dir='rtl'], td[dir='rtl']").length > 0))
{ $('html').addClass('couldBeRTL'); }
}
})();
// events
// ======
if ($R.component); else
{
$('#curtain__rtl__radio__rtl').change(function(){ $R.makeRTL(); return false; });
$('#curtain__rtl__radio__ltr').change(function(){ $R.makeNotRTL(); return false; });
}
// measure text
// ============
// asian languages
// ===============
// http://msdn.microsoft.com/en-us/goglobal/bb688158
// http://en.wikipedia.org/wiki/Japanese_punctuation
// http://en.wikipedia.org/wiki/Japanese_typographic_symbols
// http://unicode.org/charts/PDF/U3000.pdf
// CJK: Chnese, Japanese, Korean -- HAN character set
// length
// ======
$R.measureText__getTextLength = function (_the_text)
{
var _text = _the_text;
_text = _text.replace(/[\s\n\r]+/gi, '');
//_text = _text.replace(/\d+/, '');
return _text.length;
};
// word count
// ==========
$R.measureText__getWordCount = function (_the_text)
{
var _text = _the_text;
// do stuff
// ========
_text = _text.replace(/[\s\n\r]+/gi, ' ');
_text = _text.replace(/([.,?!:;()\[\]'""-])/gi, ' $1 ');
_text = _text.replace(/([\u3000])/gi, '[=words(1)]');
_text = _text.replace(/([\u3001])/gi, '[=words(2)]');
_text = _text.replace(/([\u3002])/gi, '[=words(4)]');
_text = _text.replace(/([\u301C])/gi, '[=words(2)]');
_text = _text.replace(/([\u2026|\u2025])/gi, '[=words(2)]');
_text = _text.replace(/([\u30FB\uFF65])/gi, '[=words(1)]');
_text = _text.replace(/([\u300C\u300D])/gi, '[=words(1)]');
_text = _text.replace(/([\u300E\u300F])/gi, '[=words(1)]');
_text = _text.replace(/([\u3014\u3015])/gi, '[=words(1)]');
_text = _text.replace(/([\u3008\u3009])/gi, '[=words(1)]');
_text = _text.replace(/([\u300A\u300B])/gi, '[=words(1)]');
_text = _text.replace(/([\u3010\u3011])/gi, '[=words(1)]');
_text = _text.replace(/([\u3016\u3017])/gi, '[=words(1)]');
_text = _text.replace(/([\u3018\u3019])/gi, '[=words(1)]');
_text = _text.replace(/([\u301A\u301B])/gi, '[=words(1)]');
_text = _text.replace(/([\u301D\u301E\u301F])/gi, '[=words(1)]');
_text = _text.replace(/([\u30A0])/gi, '[=words(1)]');
// count
// =====
var
_count = 0,
_words_match = _text.match(/([^\s\d]{3,})/gi)
;
// add match
_count += (_words_match != null ? _words_match.length : 0);
// add manual count
_text.replace(/\[=words\((\d)\)\]/, function (_match, _plus) { _count += (5 * parseInt(_plus)); });
// return
// ======
return _count;
};
// levenshtein
// ===========
$R.levenshteinDistance = function (str1, str2)
{
var l1 = str1.length, l2 = str2.length;
if (Math.min(l1, l2) === 0)
{ return Math.max(l1, l2); }
var i = 0, j = 0, d = [];
for (i = 0 ; i <= l1 ; i++)
{
d[i] = [];
d[i][0] = i;
}
for (j = 0 ; j <= l2 ; j++)
{ d[0][j] = j; }
for (i = 1 ; i <= l1 ; i++)
{
for (j = 1 ; j <= l2 ; j++)
{
d[i][j] = Math.min
(
d[i - 1][j] + 1,
d[i][j - 1] + 1,
d[i - 1][j - 1] + (str1.charAt(i - 1) === str2.charAt(j - 1) ? 0 : 1)
);
}
}
return d[l1][l2];
};
// content
// =======
$R.footnotedLinksCount = 0;
$R.getContent = function ()
{
// homepage?
if ($R.win.location.href == ($R.win.location.protocol + '//' + $R.win.location.host + '/'))
{ $('html').addClass('showTips'); }
// selection or whole
switch (true)
{
case ($R.getContent__manualSelection()):
case ($R.getContent__find()):
break;
default:
break;
}
// debug
$R.printDebugOutput();
// show content
$R.showContent();
};
$R.getContent__manualSelection = function ()
{
var
_selection = $R.sel.getSelection($R.win),
_range = $R.sel.getRange(_selection),
_html = $R.sel.getRangeHTML(_range),
_text = $R.sel.getRangeText(_range)
;
if (_html > '' && _text > ''); else
{
_html = null;
_text = null;
$R.$document.find('frame, iframe').each(function (_i, _e)
{
if (_e.getAttribute('id') == 'readable_iframe') { return; }
try
{
var
__doc = $(_e).contents().get(0),
__win = $R.sel.getWindowFromDocument(__doc),
__selection = $R.sel.getSelection(__win),
__range = $R.sel.getRange(__selection),
__html = $R.sel.getRangeHTML(__range),
__text = $R.sel.getRangeText(__range)
;
if (__html > '' && __text > '')
{
_html = __html;
_text = __text;
// stop the each
return false;
}
}
catch(e) { }
});
}
// haven't found anything
if (_html > '' && _text > ''); else { return false; }
// probably selected something by mistake
if ($R.measureText__getTextLength(_text) > (65 * 3 * 1.5)); else { return false; }
// display
// =======
$R.$pages.html('');
$R.displayPageHTML(_html, 1, 'selection');
// return true
return true;
};
// functions
// =========
$R.sel = {};
$R.sel.getWindowFromDocument = function (theDocument)
{
if (theDocument); else { return null; }
if ('defaultView' in theDocument) {
arguments.calee = function (theDocument) {
if (theDocument); else { return null; }
return theDocument.defaultView;
};
}
else if ('parentWindow' in theDocument) {
arguments.calee = function (theDocument) {
if (theDocument); else { return null; }
return theDocument.parentWindow;
};
}
else {
arguments.calee = function (theDocument) {
return null;
};
}
return arguments.calee(theDocument);
};
$R.sel.getSelection = function (theWindow)
{
if (theWindow); else { return null; }
if ('getSelection' in theWindow) {
arguments.calee = function (theWindow) {
if (theWindow); else { return null; }
return theWindow.getSelection();
};
}
else if ('selection' in theWindow.document) {
arguments.calee = function (theWindow) {
if (theWindow); else { return null; }
return theWindow.document.selection;
};
}
else {
arguments.calee = function (theWindow) {
return null;
};
}
return arguments.calee(theWindow);
};
$R.sel.getRange = function (selection)
{
if (selection); else { return null; }
if ('getRangeAt' in selection) {
arguments.calee = function (selection) {
if (selection); else { return null; }
if (selection.rangeCount > 0) { return selection.getRangeAt(0); }
else { return null; }
// doesn't work in old versions of safari
// ... I don't care
};
}
else if ('createRange' in selection) {
arguments.calee = function (selection) {
if (selection); else { return null; }
return selection.createRange();
};
}
else {
arguments.calee = function (selection) {
return null;
};
}
return arguments.calee(selection);
};
$R.sel.getRangeHTML = function (range)
{
if (range); else { return null; }
if ('htmlText' in range) {
arguments.calee = function (range) {
if (range); else { return null; }
return range.htmlText;
};
}
else if ('surroundContents' in range) {
arguments.calee = function (range) {
if (range); else { return null; }
var dummy = range.commonAncestorContainer.ownerDocument.createElement("div");
dummy.appendChild(range.cloneContents());
return dummy.innerHTML;
};
}
else {
arguments.calee = function (range) {
return null;
};
}
return arguments.calee(range);
};
$R.sel.getRangeText = function (range)
{
if (range); else { return null; }
if ('text' in range) {
arguments.calee = function (range) {
if (range); else { return null; }
return range.text;
};
}
else if ('surroundContents' in range) {
arguments.calee = function (range) {
if (range); else { return null; }
var dummy = range.commonAncestorContainer.ownerDocument.createElement("div");
dummy.appendChild(range.cloneContents());
return dummy.textContent;
};
}
else {
arguments.calee = function (range) {
return null;
};
}
return arguments.calee(range);
};
// options
// =======
$R.parsingOptions =
{
'_elements_ignore': '|button|input|select|textarea|optgroup|command|datalist|--|frame|frameset|noframes|--|style|link|script|noscript|--|canvas|applet|map|--|marquee|area|base|',
'_elements_ignore_tag': '|form|fieldset|details|dir|--|center|font|span|',
'_elements_self_closing': '|br|hr|--|img|--|col|--|source|--|embed|param|--|iframe|',
'_elements_visible': '|article|section|--|ul|ol|li|dd|--|table|tr|td|--|div|--|p|--|h1|h2|h3|h4|h5|h6|--|span|',
'_elements_too_much_content': '|b|i|em|strong|--|h1|h2|h3|h4|h5|--|td|',
'_elements_container': '|body|--|article|section|--|div|--|td|--|li|--|dd|dt|',
'_elements_link_density': '|div|--|table|ul|ol|--|section|aside|header|',
'_elements_floating': '|div|--|table|',
'_elements_above_target_ignore':'|br|--|ul|ol|dl|--|table|',
'_elements_keep_attributes':
{
'a': ['href', 'title', 'name'],
'img': ['src', 'width', 'height', 'alt', 'title'],
'video': ['src', 'width', 'height', 'poster', 'audio', 'preload', 'autoplay', 'loop', 'controls'],
'audio': ['src', 'preload', 'autoplay', 'loop', 'controls'],
'source': ['src', 'type'],
'object': ['data', 'type', 'width', 'height', 'classid', 'codebase', 'codetype'],
'param': ['name', 'value'],
'embed': ['src', 'type', 'width', 'height', 'flashvars', 'allowscriptaccess', 'allowfullscreen', 'bgcolor'],
'iframe': ['src', 'width', 'height', 'frameborder', 'scrolling'],
'td': ['colspan', 'rowspan'],
'th': ['colspan', 'rowspan']
}
};
// next page keywords -- (?? charCodeAt() > 127)
// ==================
$R.nextPage__captionKeywords =
[
/* english */
'next page', 'next',
/* german */
'vorwärts', 'weiter',
/* japanese */
'次へ'
];
$R.nextPage__captionKeywords__not =
[
/* english */
'article', 'story', 'post', 'comment', 'section', 'chapter'
];
// skip links
// ==========
$R.skipStuffFromDomains__links =
[
'doubleclick.net',
'fastclick.net',
'adbrite.com',
'adbureau.net',
'admob.com',
'bannersxchange.com',
'buysellads.com',
'impact-ad.jp',
'atdmt.com',
'advertising.com',
'itmedia.jp',
'microad.jp',
'serving-sys.com',
'adplan-ds.com'
];
// skip images
// ===========
$R.skipStuffFromDomain__images =
[
'googlesyndication.com',
'fastclick.net',
'.2mdn.net',
'de17a.com',
'content.aimatch.com',
'bannersxchange.com',
'buysellads.com',
'impact-ad.jp',
'atdmt.com',
'advertising.com',
'itmedia.jp',
'microad.jp',
'serving-sys.com',
'adplan-ds.com'
];
// keep video
// ==========
$R.keepStuffFromDomain__video =
[
'youtube.com',
'youtube-nocookie.com',
'vimeo.com',
'hulu.com',
'yahoo.com',
'flickr.com',
'newsnetz.ch'
];
$R.getContent__exploreNodeAndGetStuff = function (_nodeToExplore, _justExploring)
{
var
_global__element_index = 0,
_global__inside_link = false,
_global__inside_link__element_index = 0,
_global__length__above_plain_text = 0,
_global__count__above_plain_words = 0,
_global__length__above_links_text = 0,
_global__count__above_links_words = 0,
_global__count__above_candidates = 0,
_global__count__above_containers = 0,
_global__above__plain_text = '',
_global__above__links_text = '',
_return__containers = [],
_return__candidates = [],
_return__links = []
;
// recursive function
// ==================
var _recursive = function (_node)
{
// increment index
// starts with 1
_global__element_index++;
var
_tag_name = (_node.nodeType === 3 ? '#text' : ((_node.nodeType === 1 && _node.tagName && _node.tagName > '') ? _node.tagName.toLowerCase() : '#invalid')),
_result =
{
'__index': _global__element_index,
'__node': _node,
'_is__container': ($R.parsingOptions._elements_container.indexOf('|'+_tag_name+'|') > -1),
'_is__candidate': false,
'_is__text': false,
'_is__link': false,
'_is__link_skip': false,
'_is__image_small': false,
'_is__image_medium': false,
'_is__image_large': false,
'_is__image_skip': false,
'_debug__above__plain_text': _global__above__plain_text,
'_debug__above__links_text': _global__above__links_text,
'_length__above_plain_text': _global__length__above_plain_text,
'_count__above_plain_words': _global__count__above_plain_words,
'_length__above_links_text': _global__length__above_links_text,
'_count__above_links_words': _global__count__above_links_words,
'_length__above_all_text': (_global__length__above_plain_text + _global__length__above_links_text),
'_count__above_all_words': (_global__count__above_plain_words + _global__count__above_links_words),
'_count__above_candidates': _global__count__above_candidates,
'_count__above_containers': _global__count__above_containers,
'_length__plain_text': 0,
'_count__plain_words': 0,
'_length__links_text': 0,
'_count__links_words': 0,
'_length__all_text': 0,
'_count__all_words': 0,
'_count__containers': 0,
'_count__candidates': 0,
'_count__links': 0,
'_count__links_skip': 0,
'_count__images_small': 0,
'_count__images_medium': 0,
'_count__images_large': 0,
'_count__images_skip': 0
};
// fast return
// ===========
switch (true)
{
case ((_tag_name == '#invalid')):
case (($R.parsingOptions._elements_ignore.indexOf('|'+_tag_name+'|') > -1)):
return;
case (($R.parsingOptions._elements_visible.indexOf('|'+_tag_name+'|') > -1)):
// included inline
// _node, _tag_name must be defined
// will return, if node is hidden
switch (true)
{
case (_node.offsetWidth > 0):
case (_node.offsetHeight > 0):
break;
default:
switch (true)
{
case (_node.offsetLeft > 0):
case (_node.offsetTop > 0):
break;
default:
// exclude inline DIVs -- which, stupidly, don't have a width/height
if ((_tag_name == 'div') && ((_node.style.display || $.css( _node, "display" )) == 'inline'))
{ break; }
// it's hidden; exit current scope
return;
}
break;
}
break;
// self-closing -- with some exceptions
case ($R.parsingOptions._elements_self_closing.indexOf('|'+_tag_name+'|') > -1):
switch (true)
{
case ((_tag_name == 'img')): break;
default: return;
}
break;
}
// do stuff
// ========
switch (true)
{
// text node
// =========
case ((_tag_name == '#text')):
// mark
_result._is__text = true;
// get
var _nodeText = _node.nodeValue;
// result
_result._length__plain_text = $R.measureText__getTextLength(_nodeText);
_result._count__plain_words = $R.measureText__getWordCount(_nodeText);
if (_global__inside_link)
{
_global__length__above_links_text += _result._length__plain_text;
_global__count__above_links_words += _result._count__plain_words;
if (false && $R.debug) { _global__above__links_text += ' ' + _nodeText; }
}
else
{
_global__length__above_plain_text += _result._length__plain_text;
_global__count__above_plain_words += _result._count__plain_words;
if (false && $R.debug) { _global__above__plain_text += ' ' + _nodeText; }
}
// return text
return _result;
// link
// ====
case (_tag_name == 'a'):
var _href = "";
try {
_href = _node.href;
} catch(e) {
Evernote.Logger.warn("Clearly: failed to get href of link element" + e);
}
// sanity
if (_href > ''); else { break; }
if (_href.indexOf); else { break; }
_result._is__link = true;
// skip
for (var i=0, _i=$R.skipStuffFromDomains__links.length; i<_i; i++)
{
if (_node.href.indexOf($R.skipStuffFromDomains__links[i]) > -1)
{ _result._is__link_skip = true; break; }
}
// inside link
if (_global__inside_link); else
{
_global__inside_link = true;
_global__inside_link__element_index = _result.__index;
}
// done
_return__links.push(_result);
break;
// image
// =====
case (_tag_name == 'img'):
// skip
// ====
if (_node.src && _node.src.indexOf)
{
for (var i=0, _i=$R.skipStuffFromDomain__images.length; i<_i; i++)
{
if (_node.src.indexOf($R.skipStuffFromDomain__images[i]) > -1)
{ _result._is__image_skip = true; break; }
}
}
// size
// ====
var _width = $(_node).width(), _height = $(_node).height();
switch (true)
{
case ((_width * _height) >= 50000):
case ((_width >= 350) && (_height >= 75)):
_result._is__image_large = true;
break;
case ((_width * _height) >= 20000):
case ((_width >= 150) && (_height >= 150)):
_result._is__image_medium = true;
break;
case ((_width <= 5) && (_height <= 5)):
_result._is__image_skip = true;
break;
default:
_result._is__image_small = true;
break;
}
break;
}
// child nodes
// ===========
for (var i=0, _i=_node.childNodes.length; i<_i; i++)
{
var
_child = _node.childNodes[i],
_child_result = _recursive(_child)
;
// if false, continue
// ==================
if (_child_result); else { continue; }
// add to result
// =============
_result._count__links += _child_result._count__links + (_child_result._is__link ? 1 : 0);
_result._count__links_skip += _child_result._count__links_skip + (_child_result._is__link_skip ? 1 : 0);
_result._count__images_small += _child_result._count__images_small + (_child_result._is__image_small ? 1 : 0);
_result._count__images_medium += _child_result._count__images_medium + (_child_result._is__image_medium ? 1 : 0);
_result._count__images_large += _child_result._count__images_large + (_child_result._is__image_large ? 1 : 0);
_result._count__images_skip += _child_result._count__images_skip + (_child_result._is__image_skip ? 1 : 0);
_result._count__containers += _child_result._count__containers + (_child_result._is__container ? 1 : 0);
_result._count__candidates += _child_result._count__candidates + (_child_result._is__candidate ? 1 : 0);
_result._length__all_text += _child_result._length__plain_text + _child_result._length__links_text;
_result._count__all_words += _child_result._count__plain_words + _child_result._count__links_words;
// plain text / link text
// ======================
switch (true)
{
case (_child_result._is__link):
// no text to add
_result._length__links_text += (_child_result._length__plain_text + _child_result._length__links_text);
_result._count__links_words += (_child_result._count__plain_words + _child_result._count__links_words);
break;
default:
_result._length__plain_text += _child_result._length__plain_text;
_result._count__plain_words += _child_result._count__plain_words;
_result._length__links_text += _child_result._length__links_text;
_result._count__links_words += _child_result._count__links_words;
break;
}
}
// after child nodes
// =================
// mark as not in link anymore
// ===========================
if (true
&& (_result._is__link)
&& (_global__inside_link__element_index == _result.__index)
) {
_global__inside_link = false;
_global__inside_link__element_index = 0;
}
// add to containers
// =================
if (_result._is__container || ((_result.__index == 1) && (_justExploring == true)))
{
// add to containers
_return__containers.push(_result);
// increase above containers
if (_result._is__container) { _global__count__above_containers++; }
// add to candidates
if (_justExploring); else
{
switch (true)
{
case (($R.language != 'cjk') && ((_result._count__links * 2) >= _result._count__plain_words)): /* link ratio */
case (($R.language != 'cjk') && (_result._length__plain_text < (65 / 3))): /* text length */
case (($R.language != 'cjk') && (_result._count__plain_words < 5)): /* words */
case (($R.language == 'cjk') && (_result._length__plain_text < 10)): /* text length */
case (($R.language == 'cjk') && (_result._count__plain_words < 2)): /* words */
//case (_result._length__plain_text == 0): /* no text */
//case (_result._count__plain_words == 0): /* no words */
//case (($R.language == 'cjk') && ((_result._length__plain_text / 65 / 3) < 0.1)): /* paragrahs of 3 lines */
//case (($R.language != 'cjk') && ((_result._count__plain_words / 50) < 0.5)): /* paragraphs of 50 words */
// not a valid candidate
//if (_tag_name == 'div') { $R.log('bad candidate', _result.__node); }
break;
default:
// good candidate
_result._is__candidate = true;
_return__candidates.push(_result);
// increase above candidates
_global__count__above_candidates++;
break;
}
// special case for body -- if it was just skipped
// =====================
if ((_result.__index == 1) && !(_result._is__candidate))
{
_result._is__candidate = true;
_result._is__bad = true;
_return__candidates.push(_result);
}
}
}
// return
// ======
return _result;
};
// actually do it
// ==============
_recursive(_nodeToExplore);
// just exploring -- return first thing
// ==============
if (_justExploring) { return _return__containers.pop(); }
// return containers list
// ======================
return {
'_containers': _return__containers,
'_candidates': _return__candidates,
'_links': _return__links
};
};
$R.getContent__processCandidates = function (_candidatesToProcess)
{
// process this var
// ================
var _candidates = _candidatesToProcess;
// sort _candidates -- the lower in the dom, the closer to position 0
// ================
_candidates.sort(function (a, b)
{
switch (true)
{
case (a.__index < b.__index): return -1;
case (a.__index > b.__index): return 1;
default: return 0;
}
});
// get first
// =========
var _main = _candidates[0]
if ($R.debug) { $R.log('should be body', _main, _main.__node); }
// pieces of text
// and points computation
// ======================
for (var i=0, _i=_candidates.length; i<_i; i++)
{
// pieces
// ======
var
_count__pieces = 0,
_array__pieces = []
;
for (var k=i, _k=_candidates.length; k<_k; k++)
{
if (_candidates[k]._count__candidates > 0) { continue; }
if ($.contains(_candidates[i].__node, _candidates[k].__node)); else { continue; }
// store piece, if in debug mode
if ($R.debug) { _array__pieces.push(_candidates[k]); }
// incement pieces count
_count__pieces++;
}
// candidate details
// =================
_candidates[i]['__candidate_details'] = $R.getContent__computeDetailsForCandidate(_candidates[i], _main);
// pieces -- do this here because _main doesn't yet have a pieces count
// ======
// set pieces
_candidates[i]['_count__pieces'] = _count__pieces;
_candidates[i]['_array__pieces'] = _array__pieces;
// pieces ratio
_candidates[i]['__candidate_details']['_ratio__count__pieces_to_total_pieces'] = (_count__pieces / (_candidates[0]._count__pieces + 1));
// check some more
// ===============
/* switch (true)
{
case (($R.language != 'cjk') && (_candidates[i]['__candidate_details']['_ratio__length__links_text_to_plain_text'] > 1)):
case (($R.language != 'cjk') && (_candidates[i]['__candidate_details']['_ratio__count__links_words_to_plain_words'] > 1)):
_candidates[i]._is__bad = true;
break;
}*/
// points
// ======
_candidates[i].__points_history = $R.getContent__computePointsForCandidate(_candidates[i], _main);
_candidates[i].__points = _candidates[i].__points_history[0];
}
// sort _candidates -- the more points, the closer to position 0
// ================
_candidates.sort(function (a, b)
{
switch (true)
{
case (a.__points > b.__points): return -1;
case (a.__points < b.__points): return 1;
default: return 0;
}
});
// return
// ======
return _candidates;
};
$R.getContent__computeDetailsForCandidate = function (_e, _main)
{
var _r = {};
// bad candidate
// =============
if (_e._is__bad) { return _r; }
// paragraphs
// ==========
_r['_count__lines_of_65_characters'] = (_e._length__plain_text / 65);
_r['_count__paragraphs_of_3_lines'] = (_r._count__lines_of_65_characters / 3);
_r['_count__paragraphs_of_5_lines'] = (_r._count__lines_of_65_characters / 5);
_r['_count__paragraphs_of_50_words'] = (_e._count__plain_words / 50);
_r['_count__paragraphs_of_80_words'] = (_e._count__plain_words / 80);
// total text
// ==========
_r['_ratio__length__plain_text_to_total_plain_text'] = (_e._length__plain_text / _main._length__plain_text);
_r['_ratio__count__plain_words_to_total_plain_words'] = (_e._count__plain_words / _main._count__plain_words);
// links
// =====
_r['_ratio__length__links_text_to_plain_text'] = (_e._length__links_text / _e._length__plain_text);
_r['_ratio__count__links_words_to_plain_words'] = (_e._count__links_words / _e._count__plain_words);
_r['_ratio__length__links_text_to_all_text'] = (_e._length__links_text / _e._length__all_text);
_r['_ratio__count__links_words_to_all_words'] = (_e._count__links_words / _e._count__all_words);
_r['_ratio__length__links_text_to_total_links_text'] = (_e._length__links_text / (_main._length__links_text + 1));
_r['_ratio__count__links_words_to_total_links_words'] = (_e._count__links_words / (_main._count__links_words + 1));
_r['_ratio__count__links_to_total_links'] = (_e._count__links / (_main._count__links + 1));
_r['_ratio__count__links_to_plain_words'] = ((_e._count__links * 2) / _e._count__plain_words);
// text above
// ==========
var
_divide__candidates = Math.max(2, Math.ceil(_e._count__above_candidates * 0.5)),
_above_text = ((0
+ (_e._length__above_plain_text * 1)
+ (_e._length__above_plain_text / _divide__candidates)
) / 2),
_above_words = ((0
+ (_e._count__above_plain_words * 1)
+ (_e._count__above_plain_words / _divide__candidates)
) / 2)
;
_r['_ratio__length__above_plain_text_to_total_plain_text'] = (_above_text / _main._length__plain_text);
_r['_ratio__count__above_plain_words_to_total_plain_words'] = (_above_words / _main._count__plain_words);
// candidates
// ==========
_r['_ratio__count__candidates_to_total_candidates'] = (_e._count__candidates / (_main._count__candidates + 1));
_r['_ratio__count__containers_to_total_containers'] = (_e._count__containers / (_main._count__containers + 1));
// return
// ======
return _r;
};
$R.getContent__computePointsForCandidate = function (_e, _main)
{
var
_details = _e.__candidate_details,
_points_history = [],
_really_big = ((_main._length__plain_text / 65) > 250)
;
// bad candidate
if (_e._is__bad) { return [0]; }
// the basics
// ==========
_points_history.unshift(((0
+ (_details._count__paragraphs_of_3_lines)
+ (_details._count__paragraphs_of_5_lines * 1.5)
+ (_details._count__paragraphs_of_50_words)
+ (_details._count__paragraphs_of_80_words * 1.5)
+ (_e._count__images_large * 3)
- ((_e._count__images_skip + _e._count__images_small) * 0.5)
) * 1000));
// negative
if (_points_history[0] < 0) { return [0]; }
// candidates, containers, pieces
// ==============================
var
_divide__pieces = Math.max(5, Math.ceil(_e._count__pieces * 0.25)),
_divide__candidates = Math.max(5, Math.ceil(_e._count__candidates * 0.25)),
_divide__containers = Math.max(10, Math.ceil(_e._count__containers * 0.25))
;
_points_history.unshift(((0
+ (_points_history[0] * 3)
+ (_points_history[0] / _divide__pieces)
+ (_points_history[0] / _divide__candidates)
+ (_points_history[0] / _divide__containers)
) / 6));
// total text
// ==========
$R.getContent__computePointsForCandidate__do(0.10, 2, (1 - (1 - _details._ratio__length__plain_text_to_total_plain_text)), _points_history);
$R.getContent__computePointsForCandidate__do(0.10, 2, (1 - (1 - _details._ratio__count__plain_words_to_total_plain_words)), _points_history);
if (_really_big) {
$R.getContent__computePointsForCandidate__do(0.10, 4, (1 - (1 - _details._ratio__length__plain_text_to_total_plain_text)), _points_history);
$R.getContent__computePointsForCandidate__do(0.10, 4, (1 - (1 - _details._ratio__count__plain_words_to_total_plain_words)), _points_history);
}
// text above
// ==========
$R.getContent__computePointsForCandidate__do(0.10, 5, (1 - _details._ratio__length__above_plain_text_to_total_plain_text), _points_history);
$R.getContent__computePointsForCandidate__do(0.10, 5, (1 - _details._ratio__count__above_plain_words_to_total_plain_words), _points_history);
if (_really_big) {
$R.getContent__computePointsForCandidate__do(0.10, 10, (1 - _details._ratio__length__above_plain_text_to_total_plain_text), _points_history);
$R.getContent__computePointsForCandidate__do(0.10, 10, (1 - _details._ratio__count__above_plain_words_to_total_plain_words), _points_history);
}
// links outer
// ===========
$R.getContent__computePointsForCandidate__do(0.75, 1, (1 - _details._ratio__length__links_text_to_total_links_text), _points_history);
$R.getContent__computePointsForCandidate__do(0.75, 1, (1 - _details._ratio__count__links_words_to_total_links_words), _points_history);
$R.getContent__computePointsForCandidate__do(0.75, 1, (1 - _details._ratio__count__links_to_total_links), _points_history);
// links inner
// ===========
var __lr = ($R.language == 'cjk' ? 0.75 : 0.50);
$R.getContent__computePointsForCandidate__do(__lr, 1, (1 - _details._ratio__length__links_text_to_plain_text), _points_history);
$R.getContent__computePointsForCandidate__do(__lr, 1, (1 - _details._ratio__count__links_words_to_plain_words), _points_history);
$R.getContent__computePointsForCandidate__do(__lr, 1, (1 - _details._ratio__length__links_text_to_all_text), _points_history);
$R.getContent__computePointsForCandidate__do(__lr, 1, (1 - _details._ratio__count__links_words_to_all_words), _points_history);
$R.getContent__computePointsForCandidate__do(__lr, 1, (1 - _details._ratio__count__links_to_plain_words), _points_history);
// candidates, containers, pieces
// ==============================
$R.getContent__computePointsForCandidate__do(0.75, 1, (1 - _details._ratio__count__candidates_to_total_candidates), _points_history);
$R.getContent__computePointsForCandidate__do(0.75, 1, (1 - _details._ratio__count__containers_to_total_containers), _points_history);
$R.getContent__computePointsForCandidate__do(0.75, 1, (1 - _details._ratio__count__pieces_to_total_pieces), _points_history);
// return -- will get [0] as the actual final points
// ======
return _points_history;
};
$R.getContent__processCandidatesSecond = function (_processedCandidates)
{
var
_candidates = _processedCandidates,
_main = _candidates[0]
;
// only get children of target
// ===========================
_candidates = $.map(_candidates, function (_element, _index)
{
switch (true)
{
case (!(_index > 0)):
case (!($.contains(_main.__node, _element.__node))):
return null;
default:
return _element;
}
});
// add main - to amke sure the result is never blank
_candidates.unshift(_main);
// sort _candidates -- the lower in the dom, the closer to position 0
// ================
_candidates.sort(function (a, b)
{
switch (true)
{
case (a.__index < b.__index): return -1;
case (a.__index > b.__index): return 1;
default: return 0;
}
});
// second candidate computation
// ============================
for (var i=0, _i=_candidates.length; i<_i; i++)
{
// additional numbers
// ==================
_candidates[i].__second_length__above_plain_text = (_candidates[i]._length__above_plain_text - _main._length__above_plain_text);
_candidates[i].__second_count__above_plain_words = (_candidates[i]._count__above_plain_words - _main._count__above_plain_words);
// candidate details
// =================
_candidates[i]['__candidate_details_second'] = $R.getContent__computeDetailsForCandidateSecond(_candidates[i], _main);
// check some more
// ===============
/* switch (true)
{
case (!(_candidates[i]['__candidate_details_second']['_ratio__count__plain_words_to_total_plain_words'] > 0.05)):
case (!(_candidates[i]['__candidate_details_second']['_ratio__length__plain_text_to_total_plain_text'] > 0.05)):
//case (!(_candidates[i]['__candidate_details_second']['_ratio__count__above_plain_words_to_total_plain_words'] < 0.1)):
//case (!(_candidates[i]['__candidate_details_second']['_ratio__length__above_plain_text_to_total_plain_text'] < 0.1)):
//case (_candidates[i]['__candidate_details_second']['_ratio__length__above_plain_text_to_plain_text'] > 1):
//case (_candidates[i]['__candidate_details_second']['_ratio__count__above_plain_words_to_plain_words'] > 1):
_candidates[i]._is__bad = true;
// wil set points to 0, in points computation function
break;
}*/
// points
// ======
_candidates[i].__points_history_second = $R.getContent__computePointsForCandidateSecond(_candidates[i], _main);
_candidates[i].__points_second = _candidates[i].__points_history_second[0];
}
// sort _candidates -- the more points, the closer to position 0
// ================
_candidates.sort(function (a, b)
{
switch (true)
{
case (a.__points_second > b.__points_second): return -1;
case (a.__points_second < b.__points_second): return 1;
default: return 0;
}
});
// return
// ======
return _candidates;
};
$R.getContent__computeDetailsForCandidateSecond = function (_e, _main)
{
var _r = {};
// bad candidate
// =============
if (_e._is__bad) { return _r; }
// total text
// ==========
_r['_ratio__length__plain_text_to_total_plain_text'] = (_e._length__plain_text / _main._length__plain_text);
_r['_ratio__count__plain_words_to_total_plain_words'] = (_e._count__plain_words / _main._count__plain_words);
// links
// =====
_r['_ratio__length__links_text_to_all_text'] = (_e._length__links_text / _e._length__all_text);
_r['_ratio__count__links_words_to_all_words'] = (_e._count__links_words / _e._count__all_words);
_r['_ratio__length__links_text_to_total_links_text'] = (_e._length__links_text / (_main._length__links_text + 1));
_r['_ratio__count__links_words_to_total_links_words'] = (_e._count__links_words / (_main._count__links_words + 1));
_r['_ratio__count__links_to_total_links'] = (_e._count__links / (_main._count__links + 1));
_r['_ratio__count__links_to_plain_words'] = ((_e._count__links * 2) / _e._count__plain_words);
// text above
// ==========
var
_divide__candidates = Math.max(2, Math.ceil((_e._count__above_candidates - _main._count__above_candidates) * 0.5)),
_above_text = ((0
+ (_e.__second_length__above_plain_text * 1)
+ (_e.__second_length__above_plain_text / _divide__candidates)
) / 2),
_above_words = ((0
+ (_e.__second_count__above_plain_words * 1)
+ (_e.__second_count__above_plain_words / _divide__candidates)
) / 2)
;
_r['_ratio__length__above_plain_text_to_total_plain_text'] = (_above_text / _main._length__plain_text);
_r['_ratio__count__above_plain_words_to_total_plain_words'] = (_above_words / _main._count__plain_words);
_r['_ratio__length__above_plain_text_to_plain_text'] = (_above_text / _e._length__plain_text);
_r['_ratio__count__above_plain_words_to_plain_words'] = (_above_words / _e._count__plain_words);
// candidates
// ==========
_r['_ratio__count__candidates_to_total_candidates'] = (Math.max(0, (_e._count__candidates - (_main._count__candidates * 0.25))) / (_main._count__candidates + 1));
_r['_ratio__count__containers_to_total_containers'] = (Math.max(0, (_e._count__containers - (_main._count__containers * 0.25))) / (_main._count__containers + 1));
_r['_ratio__count__pieces_to_total_pieces'] = (Math.max(0, (_e._count__pieces - (_main._count__pieces * 0.25))) / (_main._count__pieces + 1));
// return
// ======
return _r;
};
$R.getContent__computePointsForCandidateSecond = function (_e, _main)
{
var
_details = _e.__candidate_details,
_details_second = _e.__candidate_details_second,
_points_history = []
;
// bad candidate
if (_e._is__bad) { return [0]; }
// get initial points
// ==================
_points_history.unshift(_e.__points_history[(_e.__points_history.length-1)]);
// candidates, containers, pieces
// ==============================
var
_divide__pieces = Math.max(5, Math.ceil(_e._count__pieces * 0.25)),
_divide__candidates = Math.max(5, Math.ceil(_e._count__candidates * 0.25)),
_divide__containers = Math.max(10, Math.ceil(_e._count__containers * 0.25))
;
_points_history.unshift(((0
+ (_points_history[0] * 3)
+ ((_points_history[0] / _divide__pieces) * 2)
+ ((_points_history[0] / _divide__candidates) * 2)
+ ((_points_history[0] / _divide__containers) * 2)
) / 9));
// total text
// ==========
$R.getContent__computePointsForCandidate__do(0.50, 1, (1 - (1 - _details_second._ratio__length__plain_text_to_total_plain_text)), _points_history);
$R.getContent__computePointsForCandidate__do(0.50, 1, (1 - (1 - _details_second._ratio__count__plain_words_to_total_plain_words)), _points_history);
// text above
// ==========
var __ar = ($R.language == 'cjk' ? 0.50 : 0.10);
$R.getContent__computePointsForCandidate__do(__ar, 1, (1 - _details_second._ratio__length__above_plain_text_to_total_plain_text), _points_history);
$R.getContent__computePointsForCandidate__do(__ar, 1, (1 - _details_second._ratio__count__above_plain_words_to_total_plain_words), _points_history);
$R.getContent__computePointsForCandidate__do(__ar, 1, (1 - _details_second._ratio__length__above_plain_text_to_plain_text), _points_history);
$R.getContent__computePointsForCandidate__do(__ar, 1, (1 - _details_second._ratio__count__above_plain_words_to_plain_words), _points_history);
// links outer
// ===========
$R.getContent__computePointsForCandidate__do(0.75, 1, (1 - _details_second._ratio__count__links_to_total_links), _points_history);
$R.getContent__computePointsForCandidate__do(0.75, 1, (1 - _details_second._ratio__length__links_text_to_total_links_text), _points_history);
$R.getContent__computePointsForCandidate__do(0.75, 1, (1 - _details_second._ratio__count__links_words_to_total_links_words), _points_history);
// links inner
// ===========
var __lr = ($R.language == 'cjk' ? 0.75 : 0.50);
$R.getContent__computePointsForCandidate__do(__lr, 1, (1 - _details._ratio__length__links_text_to_plain_text), _points_history);
$R.getContent__computePointsForCandidate__do(__lr, 1, (1 - _details._ratio__count__links_words_to_plain_words), _points_history);
$R.getContent__computePointsForCandidate__do(__lr, 1, (1 - _details_second._ratio__length__links_text_to_all_text), _points_history);
$R.getContent__computePointsForCandidate__do(__lr, 1, (1 - _details_second._ratio__count__links_words_to_all_words), _points_history);
$R.getContent__computePointsForCandidate__do(__lr, 1, (1 - _details_second._ratio__count__links_to_plain_words), _points_history);
// candidates, containers, pieces
// ==============================
$R.getContent__computePointsForCandidate__do(0.10, 2, (1 - _details_second._ratio__count__candidates_to_total_candidates), _points_history);
$R.getContent__computePointsForCandidate__do(0.10, 2, (1 - _details_second._ratio__count__containers_to_total_containers), _points_history);
$R.getContent__computePointsForCandidate__do(0.10, 2, (1 - _details_second._ratio__count__pieces_to_total_pieces), _points_history);
// return -- will get [0] as the actual final points
// ======
return _points_history;
};
$R.getContent__computePointsForCandidateThird = function (_e, _main)
{
var
_details = _e.__candidate_details,
_details_second = _e.__candidate_details_second,
_points_history = []
;
// bad candidate
if (_e._is__bad) { return [0]; }
// get initial points
// ==================
_points_history.unshift(_e.__points_history[(_e.__points_history.length-1)]);
// candidates, containers, pieces
// ==============================
var
_divide__pieces = Math.max(2, Math.ceil(_e._count__pieces * 0.25)),
_divide__candidates = Math.max(2, Math.ceil(_e._count__candidates * 0.25)),
_divide__containers = Math.max(4, Math.ceil(_e._count__containers * 0.25))
;
_points_history.unshift(((0
+ (_points_history[0] * 3)
+ ((_points_history[0] / _divide__pieces) * 2)
+ ((_points_history[0] / _divide__candidates) * 2)
+ ((_points_history[0] / _divide__containers) * 2)
) / 9));
// total text
// ==========
$R.getContent__computePointsForCandidate__do(0.75, 1, (1 - (1 - _details_second._ratio__length__plain_text_to_total_plain_text)), _points_history);
$R.getContent__computePointsForCandidate__do(0.75, 1, (1 - (1 - _details_second._ratio__count__plain_words_to_total_plain_words)), _points_history);
// text above
// ==========
$R.getContent__computePointsForCandidate__do(0.50, 1, (1 - _details._ratio__length__above_plain_text_to_total_plain_text), _points_history);
$R.getContent__computePointsForCandidate__do(0.50, 1, (1 - _details._ratio__count__above_plain_words_to_total_plain_words), _points_history);
$R.getContent__computePointsForCandidate__do(0.10, 1, (1 - _details_second._ratio__length__above_plain_text_to_total_plain_text), _points_history);
$R.getContent__computePointsForCandidate__do(0.10, 1, (1 - _details_second._ratio__count__above_plain_words_to_total_plain_words), _points_history);
$R.getContent__computePointsForCandidate__do(0.10, 1, (1 - _details_second._ratio__length__above_plain_text_to_plain_text), _points_history);
$R.getContent__computePointsForCandidate__do(0.10, 1, (1 - _details_second._ratio__count__above_plain_words_to_plain_words), _points_history);
// links inner
// ===========
$R.getContent__computePointsForCandidate__do(0.50, 1, (1 - _details._ratio__length__links_text_to_all_text), _points_history);
$R.getContent__computePointsForCandidate__do(0.50, 1, (1 - _details._ratio__count__links_words_to_all_words), _points_history);
$R.getContent__computePointsForCandidate__do(0.50, 1, (1 - _details._ratio__length__links_text_to_plain_text), _points_history);
$R.getContent__computePointsForCandidate__do(0.50, 1, (1 - _details._ratio__count__links_words_to_plain_words), _points_history);
$R.getContent__computePointsForCandidate__do(0.50, 1, (1 - _details._ratio__count__links_to_plain_words), _points_history);
// candidates, containers, pieces
// ==============================
$R.getContent__computePointsForCandidate__do(0.50, 1, (1 - _details._ratio__count__candidates_to_total_candidates), _points_history);
$R.getContent__computePointsForCandidate__do(0.50, 1, (1 - _details._ratio__count__containers_to_total_containers), _points_history);
$R.getContent__computePointsForCandidate__do(0.50, 1, (1 - _details._ratio__count__pieces_to_total_pieces), _points_history);
// return -- will get [0] as the actual final points
// ======
return _points_history;
};
$R.getContent__computePointsForCandidate__do = function (_ratio_remaining, _power, _ratio, _points_history)
{
var
_points_remaining = (_points_history[0] * _ratio_remaining),
_points_to_compute = (_points_history[0] - _points_remaining)
;
if (_ratio < 0)
{
//_points_return = (0.75 * _points_remaining);
_points_return = _points_remaining;
}
else
{
_points_return = 0
+ _points_remaining
+ (_points_to_compute * Math.pow(_ratio, _power))
;
}
// add
_points_history.unshift(_points_return);
};
$R.getContent__buildHTMLForNode = function (_nodeToBuildHTMLFor, _custom_mode)
{
var
_global__element_index = 0,
_global__the_html = '',
_global__exploreNodeToBuildHTMLFor = $R.getContent__exploreNodeAndGetStuff(_nodeToBuildHTMLFor, true)
;
// custom
// ======
switch (_custom_mode)
{
case 'above-the-target':
_global__exploreNodeToBuildHTMLFor = false;
break;
}
// recursive function
// ==================
var _recursive = function (_node)
{
// increment index -- starts with 1
// ===============
_global__element_index++;
// vars
// ====
var
_explored = false,
_tag_name = (_node.nodeType === 3 ? '#text' : ((_node.nodeType === 1 && _node.tagName && _node.tagName > '') ? _node.tagName.toLowerCase() : '#invalid')),
_pos__start__before = 0,
_pos__start__after = 0,
_pos__end__before = 0,
_pos__end__after = 0
;
// fast return
// ===========
switch (true)
{
case ((_tag_name == '#invalid')):
case (($R.parsingOptions._elements_ignore.indexOf('|'+_tag_name+'|') > -1)):
return;
case (_tag_name == '#text'):
_global__the_html += _node.nodeValue
.replace(/</gi, '<')
.replace(/>/gi, '>')
;
return;
}
// hidden
// ======
if ($R.parsingOptions._elements_visible.indexOf('|'+_tag_name+'|') > -1)
{
// included inline
// _node, _tag_name must be defined
// will return, if node is hidden
switch (true)
{
case (_node.offsetWidth > 0):
case (_node.offsetHeight > 0):
break;
default:
switch (true)
{
case (_node.offsetLeft > 0):
case (_node.offsetTop > 0):
break;
default:
// exclude inline DIVs -- which, stupidly, don't have a width/height
if ((_tag_name == 'div') && ((_node.style.display || $.css( _node, "display" )) == 'inline'))
{ break; }
// it's hidden; exit current scope
return;
}
break;
}
}
// clean -- before
// =====
// just a return will skip the whol element
// including children
// objects, embeds, iframes
// ========================
switch (_tag_name)
{
case ('object'):
case ('embed'):
case ('iframe'):
var
_src = (_tag_name == 'object' ? $(_node).find("param[name='movie']").attr('value') : $(_node).attr('src')),
_skip = ((_src > '') ? false : true)
;
if (_skip); else
{
// default skip
_skip = true;
// loop
for (var i=0, _i=$R.keepStuffFromDomain__video.length; i<_i; i++)
{ if (_src.indexOf($R.keepStuffFromDomain__video[i]) > -1) { _skip = false; break; } }
}
// skip?
if (_skip)
{ $R.debugOutline(_node, 'clean-before', 'object-embed-iframe'); return; }
break;
}
// skipped link
// ============
if (_tag_name == 'a' || _tag_name == 'li')
{
_explored = (_explored || $R.getContent__exploreNodeAndGetStuff(_node, true));
switch (true)
{
case (_explored._is__link_skip):
case (((_explored._count__images_small + _explored._count__images_skip) > 0) && (_explored._length__plain_text < 65)):
$R.debugOutline(_node, 'clean-before', 'skip-link');
return;
}
}
// link density
// ============
if ($R.parsingOptions._elements_link_density.indexOf('|'+_tag_name+'|') > -1)
{
_explored = (_explored || $R.getContent__exploreNodeAndGetStuff(_node, true));
switch (true)
{
case (_explored._length__plain_text > (65 * 3 * 2)):
case ($R.language == 'cjk' && (_explored._length__plain_text > (65 * 3 * 1))):
case (!(_explored._count__links > 1)):
case (_global__exploreNodeToBuildHTMLFor && (_explored._length__plain_text / _global__exploreNodeToBuildHTMLFor._length__plain_text) > 0.5):
case (_global__exploreNodeToBuildHTMLFor && (_explored._count__plain_words / _global__exploreNodeToBuildHTMLFor._count__plain_words) > 0.5):
case ((_explored._length__plain_text == 0) && (_explored._count__links == 1) && (_explored._length__links_text < 65)):
case ((_explored._length__plain_text < 25) && ((_explored._count__images_large + _explored._count__images_medium) > 0)):
break;
case ((_explored._length__links_text / _explored._length__all_text) < 0.5):
if (_explored._count__links > 0); else { break; }
if (_explored._count__links_skip > 0); else { break; }
if (((_explored._count__links_skip / _explored._count__links) > 0.25) && (_explored._length__links_text / _explored._length__all_text) < 0.05) { break; }
default:
$R.debugOutline(_node, 'clean-before', 'link-density');
return;
}
}
// floating
// ========
if ($R.parsingOptions._elements_floating.indexOf('|'+_tag_name+'|') > -1)
{
_explored = (_explored || $R.getContent__exploreNodeAndGetStuff(_node, true));
switch (true)
{
case (_explored._length__plain_text > (65 * 3 * 2)):
case ($R.language == 'cjk' && (_explored._length__plain_text > (65 * 3 * 1))):
case (_global__exploreNodeToBuildHTMLFor && (_explored._length__plain_text / _global__exploreNodeToBuildHTMLFor._length__plain_text) > 0.25):
case (_global__exploreNodeToBuildHTMLFor && (_explored._count__plain_words / _global__exploreNodeToBuildHTMLFor._count__plain_words) > 0.25):
case ((_explored._length__plain_text < 25) && (_explored._length__links_text < 25) && ((_explored._count__images_large + _explored._count__images_medium) > 0)):
case (_node.getElementsByTagName && (_explored._length__plain_text < (65 * 3 * 1)) && ((_node.getElementsByTagName('h1').length + _node.getElementsByTagName('h2').length + _node.getElementsByTagName('h3').length + _node.getElementsByTagName('h4').length) > 0)):
break;
default:
var _float = $(_node).css('float');
if (_float == 'left' || _float == 'right'); else { break; }
if ((_explored._length__links_text == 0) && ((_explored._count__images_large + _explored._count__images_medium) > 0)) { break; }
$R.debugOutline(_node, 'clean-before', 'floating');
return;
}
}
// above target
// ============
if (_custom_mode == 'above-the-target')
{
// is ignored?
if ($R.parsingOptions._elements_above_target_ignore.indexOf('|'+_tag_name+'|') > -1)
{ $R.debugOutline(_node, 'clean-before', 'above-target'); return; }
// is image?
if (_tag_name == 'img')
{
_explored = (_explored || $R.getContent__exploreNodeAndGetStuff(_node, true));
if (_explored._is__image_large); else
{ $R.debugOutline(_node, 'clean-before', 'above-target'); return; }
}
// has too many links?
//if (_node.getElementsByTagName && _node.getElementsByTagName('a').length > 5)
// { $R.debugOutline(_node, 'clean-before', 'above-target'); return; }
}
// headers that are images
// =======================
if (_tag_name.match(/^h(1|2|3|4|5|6)$/gi))
{
_explored = (_explored || $R.getContent__exploreNodeAndGetStuff(_node, true));
switch (true)
{
case ((_explored._length__plain_text < 10) && ((_explored._count__images_small + _explored._count__images_medium + _explored._count__images_large + _explored._count__images_skip) > 0)):
$R.debugOutline(_node, 'clean-before', 'skip-heading');
return;
}
}
// start tag
// =========
if ($R.parsingOptions._elements_ignore_tag.indexOf('|'+_tag_name+'|') > -1); else
{
/* mark */ _pos__start__before = _global__the_html.length;
/* add */ _global__the_html += '<'+_tag_name;
// attributes
// ==========
// allowed attributes
// ==================
if (_tag_name in $R.parsingOptions._elements_keep_attributes)
{
for (var i=0, _i=$R.parsingOptions._elements_keep_attributes[_tag_name].length; i<_i; i++)
{
var
_attribute_name = $R.parsingOptions._elements_keep_attributes[_tag_name][i],
_attribute_value = _node.getAttribute(_attribute_name)
;
// if present
if (_attribute_value > '')
{ _global__the_html += ' '+_attribute_name+'="'+(_attribute_value)+'"'; }
}
}
// keep ID for all elements
// ========================
var _id_attribute = _node.getAttribute('id');
if (_id_attribute > '')
{ _global__the_html += ' id="'+_id_attribute+'"'; }
// links target NEW
// ================
if (_tag_name == 'a')
{ _global__the_html += ' target="_blank"'; }
// close start
// ===========
if ($R.parsingOptions._elements_self_closing.indexOf('|'+_tag_name+'|') > -1) { _global__the_html += ' />'; }
else { _global__the_html += '>';}
/* mark */ _pos__start__after = _global__the_html.length;
}
// child nodes
// ===========
if ($R.parsingOptions._elements_self_closing.indexOf('|'+_tag_name+'|') > -1); else
{
for (var i=0, _i=_node.childNodes.length; i<_i; i++)
{ _recursive(_node.childNodes[i]); }
}
// end tag
// =======
switch (true)
{
case (($R.parsingOptions._elements_ignore_tag.indexOf('|'+_tag_name+'|') > -1)):
return;
case (($R.parsingOptions._elements_self_closing.indexOf('|'+_tag_name+'|') > -1)):
/* mark */ _pos__end__before = _global__the_html.length;
/* mark */ _pos__end__after = _global__the_html.length;
break;
default:
/* mark */ _pos__end__before = _global__the_html.length;
/* end */ _global__the_html += '</'+_tag_name+'>';
/* mark */ _pos__end__after = _global__the_html.length;
break;
}
// clean -- after
// =====
// we need to actually cut things out of
// "_global__the_html", for stuff to not be there
// largeObject classes
// ===================
if (_tag_name == 'iframe' || _tag_name == 'embed' || _tag_name == 'object')
{
_global__the_html = ''
+ _global__the_html.substr(0, _pos__start__before)
+ '<div class="readableLargeObjectContainer">
'
+ _global__the_html.substr(_pos__start__before, (_pos__end__after - _pos__start__before))
+ '</div>
'
;
return;
}
// add image classes
// =================
if (_tag_name == 'img')
{
_explored = (_explored || $R.getContent__exploreNodeAndGetStuff(_node, true));
switch (true)
{
case (_explored._is__image_skip):
$R.debugOutline(_node, 'clean-after', 'skip-img');
_global__the_html = _global__the_html.substr(0, _pos__start__before);
return;
case (_explored._is__image_large):
// add float class -- for images too narrow/tall
// remove width/height -- only for large images
// http://www.wired.com/threatlevel/2011/05/gps-gallery/?pid=89&viewall=true
// http://david-smith.org/blog/2012/03/10/ios-5-dot-1-upgrade-stats/index.html
// http://www.turntablekitchen.com/2012/04/dutch-baby-with-caramelized-vanilla-bean-pears-moving-through-the-decades/
_global__the_html = ''
+ _global__the_html.substr(0, _pos__start__before)
+ '<div class="readableLargeImageContainer'
+ (($(_node).width() <= 250) && ($(_node).height() >
= 250) ? ' float' : '')
+ '">'
+ _global__the_html.substr(_pos__start__before, (_pos__end__after - _pos__start__before)).replace(/width="([^=]+?)"/gi, '').replace(/height="([^=]+?)"/gi, '')
+ '</div>
'
;
return;
}
}
// large images in links
// =====================
if (_tag_name == 'a')
{
_explored = (_explored || $R.getContent__exploreNodeAndGetStuff(_node, true));
switch (true)
{
case (_explored._count__images_large == 1):
_global__the_html = ''
+ _global__the_html.substr(0, _pos__start__after-1)
+ ' class="readableLinkWithLargeImage">'
+ _global__the_html.substr(_pos__start__after, (_pos__end__before - _pos__start__after))
+ '</a>'
;
return;
case (_explored._count__images_medium == 1):
_global__the_html = ''
+ _global__the_html.substr(0, _pos__start__after-1)
+ ' class="readableLinkWithMediumImage">'
+ _global__the_html.substr(_pos__start__after, (_pos__end__before - _pos__start__after))
+ '</a>'
;
return;
}
}
// too much content
// ================
if ($R.parsingOptions._elements_too_much_content.indexOf('|'+_tag_name+'|') > -1)
{
_explored = (_explored || $R.getContent__exploreNodeAndGetStuff(_node, true));
switch (true)
{
case (_tag_name == 'h1' && (_explored._length__all_text > (65 * 2))):
case (_tag_name == 'h2' && (_explored._length__all_text > (65 * 2 * 3))):
case ((_tag_name.match(/^h(3|4|5|6)$/) != null) && (_explored._length__all_text > (65 * 2 * 5))):
case ((_tag_name.match(/^(b|i|em|strong)$/) != null) && (_explored._length__all_text > (65 * 5 * 5))):
$R.debugOutline(_node, 'clean-after', 'too-much-content');
_global__the_html = ''
+ _global__the_html.substr(0, _pos__start__before)
+ _global__the_html.substr(_pos__start__after, (_pos__end__before - _pos__start__after))
;
return;
}
}
// empty elements
// ==============
switch (true)
{
case (($R.parsingOptions._elements_self_closing.indexOf('|'+_tag_name+'|') > -1)):
case (($R.parsingOptions._elements_ignore_tag.indexOf('|'+_tag_name+'|') > -1)):
case (_tag_name == 'td'):
break;
default:
var _contents = _global__the_html.substr(_pos__start__after, (_pos__end__before - _pos__start__after));
_contents = _contents.replace(/(<br \/>)/gi, '');
_contents = _contents.replace(/(<hr \/>
)/gi, '');
// for rows, clear empty cells
if (_tag_name == 'tr')
{
_contents = _contents.replace(/<td[^>]*?>/gi, '');
_contents = _contents.replace(/<\/td>/gi, '');
}
// for tables, clear empty rows
if (_tag_name == 'table')
{
_contents = _contents.replace(/<tr[^>]*?>/gi, '');
_contents = _contents.replace(/<\/tr>/gi, '');
}
var _contentsLength = $R.measureText__getTextLength(_contents);
switch (true)
{
case (_contentsLength == 0 && _tag_name == 'p'):
_global__the_html = _global__the_html.substr(0, _pos__start__before) + '<br /><br />';
return;
case (_contentsLength == 0):
case ((_contentsLength < 5) && ($R.parsingOptions._elements_visible.indexOf('|'+_tag_name+'|') > -1)):
$R.debugOutline(_node, 'clean-after', 'blank');
_global__the_html = _global__the_html.substr(0, _pos__start__before);
return;
}
break;
}
// too much missing
// ================
if ($R.parsingOptions._elements_link_density.indexOf('|'+_tag_name+'|') > -1)
{
_explored = (_explored || $R.getContent__exploreNodeAndGetStuff(_node, true));
var
_contents = _global__the_html
.substr(_pos__start__after, (_pos__end__before - _pos__start__after))
.replace(/(<([^>]+)>)/gi, ''),
_contentsLength = $R.measureText__getTextLength(_contents),
_initialLength = 0
+ _explored._length__all_text
+ (_explored._count__images_small * 10)
+ (_explored._count__images_skip * 10)
+ (_node.getElementsByTagName('iframe').length * 10)
+ (_node.getElementsByTagName('object').length * 10)
+ (_node.getElementsByTagName('embed').length * 10)
+ (_node.getElementsByTagName('button').length * 10)
+ (_node.getElementsByTagName('input').length * 10)
+ (_node.getElementsByTagName('select').length * 10)
+ (_node.getElementsByTagName('textarea').length * 10)
;
// too much missing
switch (true)
{
case (!(_contentsLength > 0)):
case (!(_initialLength > 0)):
case (!((_contentsLength / _initialLength) < 0.5)):
case (!(($R.language == 'cjk') && (_contentsLength / _initialLength) < 0.1)):
case ((_global__exploreNodeToBuildHTMLFor && ((_explored._length__plain_text / _global__exploreNodeToBuildHTMLFor._length__plain_text) > 0.25))):
case (($R.language == 'cjk') && (_global__exploreNodeToBuildHTMLFor && ((_explored._length__plain_text / _global__exploreNodeToBuildHTMLFor._length__plain_text) > 0.1))):
break;
default:
$R.debugOutline(_node, 'clean-after', 'missing-density');
_global__the_html = _global__the_html.substr(0, _pos__start__before);
return;
}
}
// return
return;
};
// actually do it
_recursive(_nodeToBuildHTMLFor);
// return html
return _global__the_html;
};
// article title marker
// ====================
$R.articleTitleMarker__start = '<div id="articleHeader">
<h1>
';
$R.articleTitleMarker__end = '</h1>
</div>
';
// article title check function
// ============================
$R.getContent__find__hasIsolatedTitleInHTML = function (_html)
{
return (_html.substr(0, $R.articleTitleMarker__start.length) == $R.articleTitleMarker__start);
};
// article title get function
// ============================
$R.getContent__find__getIsolatedTitleInHTML = function (_html)
{
// is it there?
if ($R.getContent__find__hasIsolatedTitleInHTML(_html)); else { return ''; }
// regex
var
_getTitleRegex = new RegExp($R.articleTitleMarker__start + '(.*?)' + $R.articleTitleMarker__end, 'i'),
_getTitleMatch = _html.match(_getTitleRegex)
;
// match?
if (_getTitleMatch); else { return ''; }
// return
return _getTitleMatch[1];
};
// find title in arbitrary html
// ============================
$R.getContent__find__isolateTitleInHTML = function (_html, _document_title)
{
// can't just use (h1|h2|h3|etc) -- we want to try them in a certain order
// =============================
var
_heading_pregs = [
/<(h1)[^>]*?>([\s\S]+?)<\/\1>/gi,
/<(h2)[^>]*?>([\s\S]+?)<\/\1>/gi,
/<(h3|h4|h5|h6)[^>]*?>([\s\S]+?)<\/\1>/gi
],
_secondary_headings = '|h2|h3|h4|h5|h6|',
_search_document_title = ' ' + _document_title.replace(/<[^>]+?>/gi, '').replace(/\s+/gi, ' ') + ' '
;
// loop pregs
// ==========
for (var i=0, _i=_heading_pregs.length; i<_i; i++)
{
// exec
var _match = _heading_pregs[i].exec(_html);
// return?
switch (true)
{
case (!(_match)):
case (!(_heading_pregs[i].lastIndex > -1)):
// will continue loop
break;
default:
// measurements
var
_heading_end_pos = _heading_pregs[i].lastIndex,
_heading_start_pos = (_heading_end_pos - _match[0].length),
_heading_type = _match[1],
_heading_text = _match[2].replace(/<\s*br[^>]*>/gi, '').replace(/[\n\r]+/gi, ''),
_heading_text_plain = _heading_text.replace(/<[^>]+?>/gi, '').replace(/\s+/gi, ' ');
_heading_length = $R.measureText__getTextLength(_heading_text_plain),
_heading_words = [],
_to_heading_text = _html.substr(0, _heading_start_pos),
_to_heading_length = $R.measureText__getTextLength(_to_heading_text.replace(/<[^>]+?>/gi, '').replace(/\s+/gi, ' '))
;
// return?
switch (true)
{
case (!(_heading_length > 5)):
case (!(_heading_length < (65 * 3))):
case (!(_to_heading_length < (65 * 3 * 2))):
// will continue for loop
break;
case ((_secondary_headings.indexOf('|' + _heading_type + '|') > -1)):
// words in this heading
_heading_words = _heading_text_plain.split(' ');
// count words present in title
for (var j=0, _j=_heading_words.length, _matched_words=''; j<_j; j++) {
if (_search_document_title.indexOf(' ' + _heading_words[j] + ' ') > -1) {
_matched_words += _heading_words[j] + ' ';
}
}
// break continues for loop
// nothing goes to switch's default
// ================================
// no break?
var _no_break = false;
switch (true)
{
// if it's big enough, and it's a substring of the title, it's good
case ((_heading_length > 20) && (_search_document_title.indexOf(_heading_text_plain) > -1)):
// if it's slightly smaler, but is exactly at the begging or the end
case ((_heading_length > 10) && ((_search_document_title.indexOf(_heading_text_plain) == 1) || (_search_document_title.indexOf(_heading_text_plain) == (_search_document_title.length - 1 - _heading_text_plain.length)))):
_no_break = true;
break;
}
// break?
var _break = false;
switch (true)
{
// no break?
case (_no_break):
break;
// heading too long? -- if not h2
case ((_heading_length > ((_search_document_title.length - 2) * 2)) && (_heading_type != 'h2')):
// heading long enough?
case ((_heading_length < Math.ceil((_search_document_title.length - 2) * 0.50))):
// enough words matched?
case ((_heading_length < 25) && (_matched_words.length < Math.ceil(_heading_length * 0.75))):
case ((_heading_length < 50) && (_matched_words.length < Math.ceil(_heading_length * 0.65))):
case ((_matched_words.length < Math.ceil(_heading_length * 0.55))):
_break = true;
break;
}
// break?
if (_break) { break; }
default:
// this is the title -- do isolation; return
// =================
return ''
+ $R.articleTitleMarker__start
+ _heading_text
+ $R.articleTitleMarker__end
+ _html.substr(_heading_end_pos)
;
}
break;
}
}
// return unmodified
return _html;
};
$R.getContent__find = function ()
{
// get content
// ===========
var
_found = $R.getContent__findInPage($R.win),
_targetNode = _found._targetCandidate.__node,
_$targetNode = $(_targetNode),
_aboveNodes = []
;
// RTL
// ===
switch (true)
{
case (_$targetNode.attr('dir') == 'rtl'):
case (_$targetNode.css('direction') == 'rtl'):
$R.makeRTL();
break;
}
// get html
// ========
var
_foundHTML = _found._html,
_firstFragmentBefore = $R.getContent__nextPage__getFirstFragment(_foundHTML),
_documentTitle = ($R.document.title > '' ? $R.document.title : '')
;
// get title
// =========
// has title already?
_foundHTML = $R.getContent__find__isolateTitleInHTML(_foundHTML, _documentTitle);
$R.articleTitle = $R.getContent__find__getIsolatedTitleInHTML(_foundHTML);
$R.debugPrint('TitleSource', 'target');
// get html above?
if ($R.articleTitle > ''); else
{
// get html above target?
// ======================
// global vars:
// _found
// _foundHTML
// _documentTitle
// _aboveNodes
var
_prevNode = _found._targetCandidate.__node,
_prevHTML = '',
_aboveHTML = '',
_differentTargets = (_found._firstCandidate.__node != _found._targetCandidate.__node)
;
(function ()
{
while (true)
{
// the end?
switch (true)
{
case (_prevNode.tagName && (_prevNode.tagName.toLowerCase() == 'body')):
case (_differentTargets && (_prevNode == _found._firstCandidate.__node)):
// enough is enough
return;
}
// up or sideways?
if (_prevNode.previousSibling); else
{
_prevNode = _prevNode.parentNode;
continue;
}
// previous
_prevNode = _prevNode.previousSibling;
// outline -- element might be re-outlined, when buildHTML is invoked
if ($R.debug) { $R.debugOutline(_prevNode, 'target', 'add-above'); }
// get html; add
_prevHTML = $R.getContent__buildHTMLForNode(_prevNode, 'above-the-target');
_aboveHTML = _prevHTML + _aboveHTML;
_aboveNodes.unshift(_prevNode);
// isolate title
_aboveHTML = $R.getContent__find__isolateTitleInHTML(_aboveHTML, _documentTitle);
// finished?
switch (true)
{
case ($R.measureText__getTextLength(_aboveHTML.replace(/<[^>]+?>/gi, '').replace(/\s+/gi, ' ')) > (65 * 3 * 3)):
case ($R.getContent__find__hasIsolatedTitleInHTML(_aboveHTML)):
return;
}
}
})();
// is what we found any good?
// ==========================
switch (true)
{
case ($R.getContent__find__hasIsolatedTitleInHTML(_aboveHTML)):
case (_differentTargets && (_aboveHTML.split('<a ').length < 3) && ($R.measureText__getTextLength(_aboveHTML.replace(/<[^>]+?>/gi, '').replace(/\s+/gi, ' ')) < (65 * 3))):
_foundHTML = _aboveHTML + _foundHTML;
break;
default:
_aboveHTML = '';
_aboveNodes = [];
break;
}
$R.articleTitle = $R.getContent__find__getIsolatedTitleInHTML(_foundHTML);
$R.debugPrint('TitleSource', 'above_HTML');
// get document title?
if ($R.articleTitle > ''); else
{
// if all else failed, get document title
// ======================================
// global vars:
// _foundHTML
// _documentTitle
(function ()
{
// return?
// =======
if (_documentTitle > ''); else { return; }
// vars
var
_doc_title_parts = [],
_doc_title_pregs =
[
/( [-][-] |( [-] )|( [>][>] )|( [<][<] )|( [|] )|( [\/] ))/i,
/(([:] ))/i
]
;
// loop through pregs
// ==================
for (var i=0, _i=_doc_title_pregs.length; i<_i; i++)
{
// split
_doc_title_parts = _documentTitle.split(_doc_title_pregs[i]);
// break if we managed a split
if (_doc_title_parts.length > 1) { break; }
}
// sort title parts -- longer goes higher up -- i.e. towards 0
// ================
_doc_title_parts.sort(function (a, b)
{
switch (true)
{
case (a.length > b.length): return -1;
case (a.length < b.length): return 1;
default: return 0;
}
});
// set title -- first part, if more than one word; otherwise, whole
// =========
_foundHTML = ''
+ $R.articleTitleMarker__start
+ (_doc_title_parts[0].split(/\s+/i).length > 1 ? _doc_title_parts[0] : _documentTitle)
+ $R.articleTitleMarker__end
+ _foundHTML
;
})();
$R.articleTitle = $R.getContent__find__getIsolatedTitleInHTML(_foundHTML);
$R.debugPrint('TitleSource', 'document_title');
}
}
// display
// =======
$R.$pages.html('');
$R.displayPageHTML(_foundHTML, 1, $R.win.location.href);
// remember
// ========
$R.debugRemember['theTarget'] = _found._targetCandidate.__node;
$R.debugRemember['firstCandidate'] = _found._firstCandidate.__node;
// next
// ====
$R.nextPage__firstFragment__firstPage = _firstFragmentBefore;
$R.nextPage__firstFragment__lastPage = $R.getContent__nextPage__getFirstFragment(_foundHTML);;
$R.nextPage__loadedPages = [$R.win.location.href];
$R.getContent__nextPage__find($R.win, _found._links);
// return
return true;
};
$R.getContent__findInPage = function (_pageWindow)
{
// calculations
// ============
var
_firstCandidate = false,
_secondCandidate = false,
_targetCandidate = false
;
$R.debugTimerStart('ExploreAndGetStuff');
var _stuff = $R.getContent__exploreNodeAndGetStuff(_pageWindow.document.body);
$R.debugPrint('ExploreAndGetStuff', $R.debugTimerEnd()+'ms');
$R.debugTimerStart('ProcessFirst');
var _processedCandidates = $R.getContent__processCandidates(_stuff._candidates);
_firstCandidate = _processedCandidates[0];
_targetCandidate = _firstCandidate;
$R.debugPrint('ProcessFirst', $R.debugTimerEnd()+'ms');
// debug
if ($R.debug)
{
// debug first candidates
$R.log('First 5 Main Candidates:');
for (var x in _processedCandidates)
{
if (x == 5) { break; }
$R.log(_processedCandidates[x], _processedCandidates[x].__node);
}
// highlight first
$R.debugOutline(_firstCandidate.__node, 'target', 'first');
}
// in case we stop
$R.debugPrint('Target', 'first');
// do second?
switch (true)
{
case (!(_firstCandidate._count__containers > 0)):
case (!(_firstCandidate._count__candidates > 0)):
case (!(_firstCandidate._count__pieces > 0)):
case (!(_firstCandidate._count__containers > 25)):
break;
default:
$R.debugTimerStart('ProcessSecond');
var _processedCandidatesSecond = $R.getContent__processCandidatesSecond(_processedCandidates);
_secondCandidate = _processedCandidatesSecond[0];
$R.debugPrint('ProcessSecond', $R.debugTimerEnd()+'ms');
// they're the same
if (_firstCandidate.__node == _secondCandidate.__node) { break; }
// debug
if ($R.debug)
{
// log second candidates
$R.log('First 5 Second Candidates:');
for (var x in _processedCandidatesSecond)
{
if (x == 5) { break; }
$R.log(_processedCandidatesSecond[x], _processedCandidatesSecond[x].__node);
}
// highlight second
$R.debugOutline(_secondCandidate.__node, 'target', 'second');
}
// compute again
// =============
_firstCandidate['__points_history_final'] = $R.getContent__computePointsForCandidateThird(_firstCandidate, _firstCandidate);
_firstCandidate['__points_final'] = _firstCandidate.__points_history_final[0];
_secondCandidate['__points_history_final'] = $R.getContent__computePointsForCandidateThird(_secondCandidate, _firstCandidate);
_secondCandidate['__points_final'] = _secondCandidate.__points_history_final[0];
// log results
// ===========
if ($R.debug)
{
$R.log('The 2 Candidates:');
$R.log(_firstCandidate);
$R.log(_secondCandidate);
}
// are we selecting _second?
// =========================
switch (true)
{
case ((_secondCandidate.__candidate_details._count__lines_of_65_characters < 20) && (_secondCandidate.__points_final / _firstCandidate.__points_final) > 1):
case ((_secondCandidate.__candidate_details._count__lines_of_65_characters > 20) && (_secondCandidate.__points_final / _firstCandidate.__points_final) > 0.9):
case ((_secondCandidate.__candidate_details._count__lines_of_65_characters > 50) && (_secondCandidate.__points_final / _firstCandidate.__points_final) > 0.75):
_targetCandidate = _secondCandidate;
$R.debugPrint('Target', 'second');
break;
}
// print points
// ============
if ($R.debug)
{
$R.debugPrint('PointsFirst', _firstCandidate['__points_history_final'][0].toFixed(2));
$R.debugPrint('PointsSecond', _secondCandidate['__points_history_final'][0].toFixed(2));
}
break;
}
// highlight target
// ================
if ($R.debug)
{
$(_targetCandidate.__node).css({
'box-shadow':
'inset 0px 0px 50px rgba(255, 255, 0, 0.95), 0px 0px 50px rgba(255, 255, 0, 0.95)'
});
}
// get html
// ========
$R.debugTimerStart('BuildHTML');
var _html = $R.getContent__buildHTMLForNode(_targetCandidate.__node, 'the-target');
_html = _html.substr((_html.indexOf('>')+1))
_html = _html.substr(0, _html.lastIndexOf('<'));
$R.debugPrint('BuildHTML', $R.debugTimerEnd()+'ms');
$R.debugTimerStart('BuildHTMLPregs');
_html = _html.replace(/<(blockquote|div|p|td|li)([^>]*)>(\s*<br \/>)+/gi, '<$1$2>');
_html = _html.replace(/(<br \/>\s*)+<\/(blockquote|div|p|td|li)>/gi, '</$2>');
_html = _html.replace(/(<br \/>\s*)+<(blockquote|div|h\d|ol|p|table|ul|li)([^>]*)>/gi, '<$2$3>');
_html = _html.replace(/<\/(blockquote|div|h\d|ol|p|table|ul|li)>(\s*<br \/>)+/gi, '</$1>');
_html = _html.replace(/(<hr \/>
\s*<hr \/>
\s*)+/gi, '<hr />
');
_html = _html.replace(/(<br \/>\s*<br \/>\s*)+/gi, '<br /><br />');
$R.debugPrint('BuildHTMLPregs', $R.debugTimerEnd()+'ms');
// return
// ======
return {
'_html': _html,
'_links': _stuff._links,
'_targetCandidate': _targetCandidate,
'_firstCandidate': _firstCandidate
};
};
// get first page fragment
// =======================
$R.getContent__nextPage__getFirstFragment = function (_html)
{
// remove all tags
_html = _html.replace(/<[^>]+?>/gi, '');
// normalize spaces
_html = _html.replace(/\s+/gi, ' ');
// return first 1000 characters
return _html.substr(0, 2000);
};
// get link parts
// ==============
// substr starting with the first slash after //
$R.getURLPath = function (_url)
{
return _url.substr(_url.indexOf('/', (_url.indexOf('//') + 2)));
};
// substr until the first slash after //
$R.getURLDomain = function (_url)
{
return _url.substr(0, _url.indexOf('/', (_url.indexOf('//') + 2)))
};
// find
// ====
$R.getContent__nextPage__find = function (_currentPageWindow, _linksInCurrentPage)
{
// page id
var _pageNr = ($R.nextPage__loadedPages.length + 1);
// get
// ===
var _possible = [];
if (_possible.length > 0); else { _possible = $R.getContent__nextPage__find__possible(_currentPageWindow, _linksInCurrentPage, 0.5); }
//if (_possible.length > 0); else { _possible = $R.getContent__nextPage__find__possible(_currentPageWindow, _linksInCurrentPage, 0.50); }
// none
if (_possible.length > 0); else
{ if ($R.debug) { $R.log('no next link found'); } return; }
if ($R.debug) { $R.log('possible next', _possible); }
// the one
// =======
var _nextLink = false;
// next keyword?
// =============
(function ()
{
if (_nextLink) { return; }
for (var i=0, _i=_possible.length; i<_i; i++)
{
for (var j=0, _j=$R.nextPage__captionKeywords.length; j<_j; j++)
{
if (_possible[i]._caption.indexOf($R.nextPage__captionKeywords[j]) > -1)
{
// length
// ======
if (_possible[i]._caption.length > $R.nextPage__captionKeywords[j].length * 2)
{ continue; }
// not keywords
// ============
for (var z=0, _z=$R.nextPage__captionKeywords__not.length; z<_z; z++)
{
if (_possible[i]._caption.indexOf($R.nextPage__captionKeywords__not[z]) > -1)
{ _nextLink = false; return; }
}
// got it
// ======
_nextLink = _possible[i];
return;
}
}
}
})();
// caption matched page number
// ===========================
(function ()
{
if (_nextLink) { return; }
for (var i=0, _i=_possible.length; i<_i; i++)
{
if (_possible[i]._caption == (''+_pageNr))
{ _nextLink = _possible[i]; return; }
}
})();
// next keyword in title
// =====================
(function ()
{
if (_nextLink) { return; }
for (var i=0, _i=_possible.length; i<_i; i++)
{
// sanity
if (_possible[i]._title > ''); else { continue; }
if ($R.measureText__getTextLength(_possible[i]._caption) <= 2); else { continue; }
for (var j=0, _j=$R.nextPage__captionKeywords.length; j<_j; j++)
{
if (_possible[i]._title.indexOf($R.nextPage__captionKeywords[j]) > -1)
{
// length
// ======
if (_possible[i]._title.length > $R.nextPage__captionKeywords[j].length * 2)
{ continue; }
// not keywords
// ============
for (var z=0, _z=$R.nextPage__captionKeywords__not.length; z<_z; z++)
{
if (_possible[i]._title.indexOf($R.nextPage__captionKeywords__not[z]) > -1)
{ _nextLink = false; return; }
}
// got it
// ======
_nextLink = _possible[i];
return;
}
}
}
})();
// return?
// =======
if (_nextLink); else { return; }
// mark
// ====
$R.debugPrint('NextPage', 'true');
if ($R.debug)
{
$R.debugOutline(_nextLink._node, 'target', 'next-page');
$R.log('NextPage Link', _nextLink, _nextLink._node);
}
// process page
// ============
$R.getContent__nextPage__loadToFrame(_pageNr, _nextLink._href);
$R.nextPage__loadedPages.push(_nextLink._href);
};
// find with similarity
// ====================
$R.getContent__nextPage__find__possible = function (_currentPageWindow, _linksInCurrentPage, _distanceFactor)
{
var
_mainPageHref = $R.win.location.href,
_mainPageDomain = $R.getURLDomain(_mainPageHref),
_mainPagePath = $R.getURLPath(_mainPageHref)
;
var _links = $.map
(
_linksInCurrentPage,
function (_element, _index)
{
var
_href = _element.__node.href,
_path = $R.getURLPath(_href),
_title = (_element.__node.title > '' ? _element.__node.title.toLowerCase() : ''),
_caption = _element.__node.innerHTML.replace(/<[^>]+?>/gi, '').replace(/\&[^\&\s;]{1,10};/gi, '').replace(/\s+/gi, ' ').replace(/^ /, '').replace(/ $/, '').toLowerCase(),
_distance = $R.levenshteinDistance(_mainPagePath, _path)
;
var _caption2 = '';
for (var i=0, _i=_caption.length, _code=0; i<_i; i++)
{
_code = _caption.charCodeAt(i);
_caption2 += (_code > 127 ? ('&#'+_code+';') : _caption.charAt(i));
}
_caption = _caption2;
switch (true)
{
case (!(_href > '')):
case (_mainPageHref.length > _href.length):
case (_mainPageDomain != $R.getURLDomain(_href)):
case (_href.substr(_mainPageHref.length).substr(0, 1) == '#'):
case (_distance > Math.ceil(_distanceFactor * _path.length)):
return null;
default:
// skip if already loaded as next page
for (var i=0, _i=$R.nextPage__loadedPages.length; i<_i; i++)
{ if ($R.nextPage__loadedPages[i] == _href) { return null; } }
// return
return {
'_node': _element.__node,
'_href': _href,
'_title': _title,
'_caption': _caption,
'_distance': _distance
};
}
}
);
// sort -- the less points, the closer to position 0
// ====
_links.sort(function (a, b)
{
switch (true)
{
case (a._distance < b._distance): return -1;
case (a._distance > b._distance): return 1;
default: return 0;
}
});
// return
return _links;
};
// load to frame
// =============
$R.getContent__nextPage__loadToFrame = function (_pageNr, _nextPageURL)
{
// do ajax
// =======
$.ajax
({
'url' : _nextPageURL,
'type' : 'GET',
'dataType' : 'html',
'async' : true,
'timeout': (10 * 1000),
//'headers': { 'Referrer': _nextPageURL },
'success' : function (_response, _textStatus, _xhr) { $R.getContent__nextPage__ajaxComplete(_pageNr, _response, _textStatus, _xhr); },
'error' : function (_xhr, _textStatus, _error) { $R.getContent__nextPage__ajaxError(_pageNr, _xhr, _textStatus, _error); }
});
};
// ajax calbacks
// =============
$R.getContent__nextPage__ajaxError = function (_pageNr, _xhr, _textStatus, _error)
{
};
$R.getContent__nextPage__ajaxComplete = function (_pageNr, _response, _textStatus, _xhr)
{
// valid?
// ======
if (_response > ''); else { return; }
// script
// ======
var _script = ''
+ '<script type="text/javascript">'
+ ' function __this_page_loaded()'
+ ' {'
+ ' window.setTimeout('
+ ' function () {'
+ ($R.component ? 'window.parent.' : 'window.parent.parent.')
+ '$readable.getContent__nextPage__loadedInFrame("'+_pageNr+'", window); }, '
+ ' 250'
+ ' );'
+ ' } '
+ ' if (document.readyState); else { __this_page_loaded(); } '
+ ' function __this_page_loaded_ready(delayedNrTimes)'
+ ' {'
+ ' if (document.readyState != "complete" && delayedNrTimes < 30)'
+ ' { setTimeout(function () { __this_page_loaded_ready(delayedNrTimes+1); }, 100); return; }'
+ ' __this_page_loaded();'
+ ' }'
+ ' __this_page_loaded_ready(0);'
+ '</script><br />Warren Cohenhttp://www.blogger.com/profile/11472872083753089542noreply@blogger.com0tag:blogger.com,1999:blog-5361485972642061422.post-35094554018522444862015-03-25T06:46:00.001-07:002015-03-27T06:16:54.883-07:00I Am Human<br />
<div class="MsoPlainText" style="margin: 0in 0in 0pt;">
Are financial advisors supposed to be upstanding citizens
of financial planning? Are we the beacon on the hill that does it all right? Do
we budget correctly, live within our means, save for college, and fund our
retirements? In theory, I would say yes. We are supposed to be all of those
things. <o:p></o:p></div>
<br />
<div class="MsoPlainText" style="margin: 0in 0in 0pt;">
Unfortunately, we are human and are not perfect. Life is
not linear and we, like many of our clients, rarely go from point A to point B in a straight line. We encounter
curves, dips, and bumps along the way just like everyone else.</div>
<br />
<div class="MsoPlainText" style="margin: 0in 0in 0pt;">
Like many of you, the first financial priority my wife and I established was to
plan for retirement. There will come a day when we
will stop working and we'll have to support ourselves on what we have saved as
well as social security. My wife defers the maximum into her company's Thrift Plan
and I defer as much as I can into my SEP IRA. We have rolled over the 401k’s
from all of our previous employers so we can keep an eye on all of our assets
in one place. In terms of retirement planning, I will give myself a check for
doing the right thing.<o:p></o:p></div>
<br />
<div class="MsoPlainText" style="margin: 0in 0in 0pt;">
Insofar as estate planning is concerned, I will also give myself a check. Our
estate is not much of an estate but we have done the basics: bought life insurance; established
wills; and arranged a power of attorney and healthcare proxies. <o:p></o:p></div>
<br />
<div class="MsoPlainText" style="margin: 0in 0in 0pt;">
Saving for our kids' college has proven harder than I previously imagined. As a parent with
two kids in college and one in 10<sup>th</sup> grade, I can safely say that no
matter how much you save for your child's higher education it's probably not enough. There is the known quantity
of tuition, but housing costs vary and books and course packets are very
expensive. There are social dues if your child joins a fraternity or sorority,
and grocery and cable bills if they live off campus. There are
spring breaks to pay for, as well as plane rides home for the holidays. Have we saved enough for college?
No. We did start 529 plans when our children were young - and our kids'
grandparents have contributed - but we will still fall short. I will give myself
half a check for college savings.<o:p></o:p></div>
<br />
<div class="MsoPlainText" style="margin: 0in 0in 0pt;">
When it comes to budgeting household expenses, we've struggled. As a financial advisor, I preach living within your means. Nothing
will get you closer to your financial goal like living within or below your
means. One of the great challenges I have is understanding the difference between a need
and a want. I want stuff because it makes me temporarily happy, but do
I really need it? Wants are like milkshakes. You love them, they taste amazing,
but they are not necessarily good for you. How do you eliminate the wants when you
only get one life to live? So yes, I get a Starbucks in the morning and own
more shoes than I need. Only half a check.<o:p></o:p></div>
<br />
<div class="MsoPlainText" style="margin: 0in 0in 0pt;">
Living within your means is living within your income,
but how do you budget for non-reimbursable healthcare costs, a broken furnace,
or taking care of an elderly parent? It’s not easy unless you can save more from each
pay check.<o:p></o:p></div>
<br />
<div class="MsoPlainText" style="margin: 0in 0in 0pt;">
I am a big fan of the financial writer Carl Richards.
One of his greatest columns was in the New York Times a few years ago. It was
an honest and personal account of a failed endeavor in which he lost his home <a href="http://nyti.ms/1y2qJL0"><span style="color: blue;">http://nyti.ms/1y2qJL0</span></a>.<span style="mso-spacerun: yes;"> </span>As a financial writer and advisor it must
have been very difficult to come to terms with such a mistake. Carl has
recovered and is probably doing better than ever. I am sure that what he
learned from this error has made him a better advisor, listener, and colleague.<o:p></o:p></div>
<br />
It’s a
challenge every day to improve oneself. But if we are any good
at what we do, we must learn from and embrace our mistakes. I should have saved
more for college and I shouldn’t carry a balance on my credit card, but I am
human.<o:p></o:p><br />
<br />
<div class="MsoPlainText" style="margin: 0in 0in 0pt;">
<o:p> </o:p></div>
Warren Cohenhttp://www.blogger.com/profile/11472872083753089542noreply@blogger.com0tag:blogger.com,1999:blog-5361485972642061422.post-64868467733382499662015-03-11T12:36:00.000-07:002015-03-11T13:34:51.593-07:00It’s a Baby’s World. Let’s Prepare.<div class="separator" style="clear: both; text-align: center;">
</div>
<!--[if !mso]>
<style>
v\:* {behavior:url(#default#VML);}
o\:* {behavior:url(#default#VML);}
w\:* {behavior:url(#default#VML);}
.shape {behavior:url(#default#VML);}
</style>
<![endif]--><br />
<!--[if gte mso 9]><xml>
<o:OfficeDocumentSettings>
<o:RelyOnVML/>
<o:AllowPNG/>
</o:OfficeDocumentSettings>
</xml><![endif]--><!--[if gte mso 9]><xml>
<w:WordDocument>
<w:View>Normal</w:View>
<w:Zoom>0</w:Zoom>
<w:TrackMoves/>
<w:TrackFormatting/>
<w:PunctuationKerning/>
<w:ValidateAgainstSchemas/>
<w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid>
<w:IgnoreMixedContent>false</w:IgnoreMixedContent>
<w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText>
<w:DoNotPromoteQF/>
<w:LidThemeOther>EN-US</w:LidThemeOther>
<w:LidThemeAsian>X-NONE</w:LidThemeAsian>
<w:LidThemeComplexScript>X-NONE</w:LidThemeComplexScript>
<w:Compatibility>
<w:BreakWrappedTables/>
<w:SnapToGridInCell/>
<w:WrapTextWithPunct/>
<w:UseAsianBreakRules/>
<w:DontGrowAutofit/>
<w:SplitPgBreakAndParaMark/>
<w:EnableOpenTypeKerning/>
<w:DontFlipMirrorIndents/>
<w:OverrideTableStyleHps/>
</w:Compatibility>
<m:mathPr>
<m:mathFont m:val="Cambria Math"/>
<m:brkBin m:val="before"/>
<m:brkBinSub m:val="--"/>
<m:smallFrac m:val="off"/>
<m:dispDef/>
<m:lMargin m:val="0"/>
<m:rMargin m:val="0"/>
<m:defJc m:val="centerGroup"/>
<m:wrapIndent m:val="1440"/>
<m:intLim m:val="subSup"/>
<m:naryLim m:val="undOvr"/>
</m:mathPr></w:WordDocument>
</xml><![endif]--><!--[if gte mso 9]><xml>
<w:LatentStyles DefLockedState="false" DefUnhideWhenUsed="false"
DefSemiHidden="false" DefQFormat="false" DefPriority="99"
LatentStyleCount="371">
<w:LsdException Locked="false" Priority="0" QFormat="true" Name="Normal"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 1"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="heading 2"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="heading 3"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="heading 4"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="heading 5"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="heading 6"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="heading 7"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="heading 8"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="heading 9"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index 5"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index 6"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index 7"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index 8"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index 9"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" Name="toc 1"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" Name="toc 2"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" Name="toc 3"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" Name="toc 4"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" Name="toc 5"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" Name="toc 6"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" Name="toc 7"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" Name="toc 8"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" Name="toc 9"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Normal Indent"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="footnote text"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="annotation text"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="header"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="footer"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index heading"/>
<w:LsdException Locked="false" Priority="35" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="caption"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="table of figures"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="envelope address"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="envelope return"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="footnote reference"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="annotation reference"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="line number"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="page number"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="endnote reference"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="endnote text"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="table of authorities"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="macro"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="toa heading"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Bullet"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Number"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List 5"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Bullet 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Bullet 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Bullet 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Bullet 5"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Number 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Number 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Number 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Number 5"/>
<w:LsdException Locked="false" Priority="10" QFormat="true" Name="Title"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Closing"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Signature"/>
<w:LsdException Locked="false" Priority="1" SemiHidden="true"
UnhideWhenUsed="true" Name="Default Paragraph Font"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Body Text"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Body Text Indent"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Continue"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Continue 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Continue 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Continue 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Continue 5"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Message Header"/>
<w:LsdException Locked="false" Priority="11" QFormat="true" Name="Subtitle"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Salutation"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Date"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Body Text First Indent"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Body Text First Indent 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Note Heading"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Body Text 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Body Text 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Body Text Indent 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Body Text Indent 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Block Text"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Hyperlink"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="FollowedHyperlink"/>
<w:LsdException Locked="false" Priority="22" QFormat="true" Name="Strong"/>
<w:LsdException Locked="false" Priority="20" QFormat="true" Name="Emphasis"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Document Map"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Plain Text"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="E-mail Signature"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Top of Form"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Bottom of Form"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Normal (Web)"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Acronym"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Address"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Cite"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Code"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Definition"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Keyboard"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Preformatted"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Sample"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Typewriter"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Variable"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Normal Table"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="annotation subject"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="No List"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Outline List 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Outline List 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Outline List 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Simple 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Simple 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Simple 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Classic 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Classic 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Classic 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Classic 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Colorful 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Colorful 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Colorful 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Columns 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Columns 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Columns 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Columns 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Columns 5"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Grid 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Grid 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Grid 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Grid 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Grid 5"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Grid 6"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Grid 7"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Grid 8"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table List 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table List 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table List 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table List 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table List 5"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table List 6"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table List 7"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table List 8"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table 3D effects 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table 3D effects 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table 3D effects 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Contemporary"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Elegant"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Professional"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Subtle 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Subtle 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Web 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Web 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Web 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Balloon Text"/>
<w:LsdException Locked="false" Priority="39" Name="Table Grid"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Theme"/>
<w:LsdException Locked="false" SemiHidden="true" Name="Placeholder Text"/>
<w:LsdException Locked="false" Priority="1" QFormat="true" Name="No Spacing"/>
<w:LsdException Locked="false" Priority="60" Name="Light Shading"/>
<w:LsdException Locked="false" Priority="61" Name="Light List"/>
<w:LsdException Locked="false" Priority="62" Name="Light Grid"/>
<w:LsdException Locked="false" Priority="63" Name="Medium Shading 1"/>
<w:LsdException Locked="false" Priority="64" Name="Medium Shading 2"/>
<w:LsdException Locked="false" Priority="65" Name="Medium List 1"/>
<w:LsdException Locked="false" Priority="66" Name="Medium List 2"/>
<w:LsdException Locked="false" Priority="67" Name="Medium Grid 1"/>
<w:LsdException Locked="false" Priority="68" Name="Medium Grid 2"/>
<w:LsdException Locked="false" Priority="69" Name="Medium Grid 3"/>
<w:LsdException Locked="false" Priority="70" Name="Dark List"/>
<w:LsdException Locked="false" Priority="71" Name="Colorful Shading"/>
<w:LsdException Locked="false" Priority="72" Name="Colorful List"/>
<w:LsdException Locked="false" Priority="73" Name="Colorful Grid"/>
<w:LsdException Locked="false" Priority="60" Name="Light Shading Accent 1"/>
<w:LsdException Locked="false" Priority="61" Name="Light List Accent 1"/>
<w:LsdException Locked="false" Priority="62" Name="Light Grid Accent 1"/>
<w:LsdException Locked="false" Priority="63" Name="Medium Shading 1 Accent 1"/>
<w:LsdException Locked="false" Priority="64" Name="Medium Shading 2 Accent 1"/>
<w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent 1"/>
<w:LsdException Locked="false" SemiHidden="true" Name="Revision"/>
<w:LsdException Locked="false" Priority="34" QFormat="true"
Name="List Paragraph"/>
<w:LsdException Locked="false" Priority="29" QFormat="true" Name="Quote"/>
<w:LsdException Locked="false" Priority="30" QFormat="true"
Name="Intense Quote"/>
<w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent 1"/>
<w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent 1"/>
<w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent 1"/>
<w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent 1"/>
<w:LsdException Locked="false" Priority="70" Name="Dark List Accent 1"/>
<w:LsdException Locked="false" Priority="71" Name="Colorful Shading Accent 1"/>
<w:LsdException Locked="false" Priority="72" Name="Colorful List Accent 1"/>
<w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent 1"/>
<w:LsdException Locked="false" Priority="60" Name="Light Shading Accent 2"/>
<w:LsdException Locked="false" Priority="61" Name="Light List Accent 2"/>
<w:LsdException Locked="false" Priority="62" Name="Light Grid Accent 2"/>
<w:LsdException Locked="false" Priority="63" Name="Medium Shading 1 Accent 2"/>
<w:LsdException Locked="false" Priority="64" Name="Medium Shading 2 Accent 2"/>
<w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent 2"/>
<w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent 2"/>
<w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent 2"/>
<w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent 2"/>
<w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent 2"/>
<w:LsdException Locked="false" Priority="70" Name="Dark List Accent 2"/>
<w:LsdException Locked="false" Priority="71" Name="Colorful Shading Accent 2"/>
<w:LsdException Locked="false" Priority="72" Name="Colorful List Accent 2"/>
<w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent 2"/>
<w:LsdException Locked="false" Priority="60" Name="Light Shading Accent 3"/>
<w:LsdException Locked="false" Priority="61" Name="Light List Accent 3"/>
<w:LsdException Locked="false" Priority="62" Name="Light Grid Accent 3"/>
<w:LsdException Locked="false" Priority="63" Name="Medium Shading 1 Accent 3"/>
<w:LsdException Locked="false" Priority="64" Name="Medium Shading 2 Accent 3"/>
<w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent 3"/>
<w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent 3"/>
<w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent 3"/>
<w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent 3"/>
<w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent 3"/>
<w:LsdException Locked="false" Priority="70" Name="Dark List Accent 3"/>
<w:LsdException Locked="false" Priority="71" Name="Colorful Shading Accent 3"/>
<w:LsdException Locked="false" Priority="72" Name="Colorful List Accent 3"/>
<w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent 3"/>
<w:LsdException Locked="false" Priority="60" Name="Light Shading Accent 4"/>
<w:LsdException Locked="false" Priority="61" Name="Light List Accent 4"/>
<w:LsdException Locked="false" Priority="62" Name="Light Grid Accent 4"/>
<w:LsdException Locked="false" Priority="63" Name="Medium Shading 1 Accent 4"/>
<w:LsdException Locked="false" Priority="64" Name="Medium Shading 2 Accent 4"/>
<w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent 4"/>
<w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent 4"/>
<w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent 4"/>
<w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent 4"/>
<w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent 4"/>
<w:LsdException Locked="false" Priority="70" Name="Dark List Accent 4"/>
<w:LsdException Locked="false" Priority="71" Name="Colorful Shading Accent 4"/>
<w:LsdException Locked="false" Priority="72" Name="Colorful List Accent 4"/>
<w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent 4"/>
<w:LsdException Locked="false" Priority="60" Name="Light Shading Accent 5"/>
<w:LsdException Locked="false" Priority="61" Name="Light List Accent 5"/>
<w:LsdException Locked="false" Priority="62" Name="Light Grid Accent 5"/>
<w:LsdException Locked="false" Priority="63" Name="Medium Shading 1 Accent 5"/>
<w:LsdException Locked="false" Priority="64" Name="Medium Shading 2 Accent 5"/>
<w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent 5"/>
<w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent 5"/>
<w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent 5"/>
<w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent 5"/>
<w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent 5"/>
<w:LsdException Locked="false" Priority="70" Name="Dark List Accent 5"/>
<w:LsdException Locked="false" Priority="71" Name="Colorful Shading Accent 5"/>
<w:LsdException Locked="false" Priority="72" Name="Colorful List Accent 5"/>
<w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent 5"/>
<w:LsdException Locked="false" Priority="60" Name="Light Shading Accent 6"/>
<w:LsdException Locked="false" Priority="61" Name="Light List Accent 6"/>
<w:LsdException Locked="false" Priority="62" Name="Light Grid Accent 6"/>
<w:LsdException Locked="false" Priority="63" Name="Medium Shading 1 Accent 6"/>
<w:LsdException Locked="false" Priority="64" Name="Medium Shading 2 Accent 6"/>
<w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent 6"/>
<w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent 6"/>
<w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent 6"/>
<w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent 6"/>
<w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent 6"/>
<w:LsdException Locked="false" Priority="70" Name="Dark List Accent 6"/>
<w:LsdException Locked="false" Priority="71" Name="Colorful Shading Accent 6"/>
<w:LsdException Locked="false" Priority="72" Name="Colorful List Accent 6"/>
<w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent 6"/>
<w:LsdException Locked="false" Priority="19" QFormat="true"
Name="Subtle Emphasis"/>
<w:LsdException Locked="false" Priority="21" QFormat="true"
Name="Intense Emphasis"/>
<w:LsdException Locked="false" Priority="31" QFormat="true"
Name="Subtle Reference"/>
<w:LsdException Locked="false" Priority="32" QFormat="true"
Name="Intense Reference"/>
<w:LsdException Locked="false" Priority="33" QFormat="true" Name="Book Title"/>
<w:LsdException Locked="false" Priority="37" SemiHidden="true"
UnhideWhenUsed="true" Name="Bibliography"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="TOC Heading"/>
<w:LsdException Locked="false" Priority="41" Name="Plain Table 1"/>
<w:LsdException Locked="false" Priority="42" Name="Plain Table 2"/>
<w:LsdException Locked="false" Priority="43" Name="Plain Table 3"/>
<w:LsdException Locked="false" Priority="44" Name="Plain Table 4"/>
<w:LsdException Locked="false" Priority="45" Name="Plain Table 5"/>
<w:LsdException Locked="false" Priority="40" Name="Grid Table Light"/>
<w:LsdException Locked="false" Priority="46" Name="Grid Table 1 Light"/>
<w:LsdException Locked="false" Priority="47" Name="Grid Table 2"/>
<w:LsdException Locked="false" Priority="48" Name="Grid Table 3"/>
<w:LsdException Locked="false" Priority="49" Name="Grid Table 4"/>
<w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark"/>
<w:LsdException Locked="false" Priority="51" Name="Grid Table 6 Colorful"/>
<w:LsdException Locked="false" Priority="52" Name="Grid Table 7 Colorful"/>
<w:LsdException Locked="false" Priority="46"
Name="Grid Table 1 Light Accent 1"/>
<w:LsdException Locked="false" Priority="47" Name="Grid Table 2 Accent 1"/>
<w:LsdException Locked="false" Priority="48" Name="Grid Table 3 Accent 1"/>
<w:LsdException Locked="false" Priority="49" Name="Grid Table 4 Accent 1"/>
<w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark Accent 1"/>
<w:LsdException Locked="false" Priority="51"
Name="Grid Table 6 Colorful Accent 1"/>
<w:LsdException Locked="false" Priority="52"
Name="Grid Table 7 Colorful Accent 1"/>
<w:LsdException Locked="false" Priority="46"
Name="Grid Table 1 Light Accent 2"/>
<w:LsdException Locked="false" Priority="47" Name="Grid Table 2 Accent 2"/>
<w:LsdException Locked="false" Priority="48" Name="Grid Table 3 Accent 2"/>
<w:LsdException Locked="false" Priority="49" Name="Grid Table 4 Accent 2"/>
<w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark Accent 2"/>
<w:LsdException Locked="false" Priority="51"
Name="Grid Table 6 Colorful Accent 2"/>
<w:LsdException Locked="false" Priority="52"
Name="Grid Table 7 Colorful Accent 2"/>
<w:LsdException Locked="false" Priority="46"
Name="Grid Table 1 Light Accent 3"/>
<w:LsdException Locked="false" Priority="47" Name="Grid Table 2 Accent 3"/>
<w:LsdException Locked="false" Priority="48" Name="Grid Table 3 Accent 3"/>
<w:LsdException Locked="false" Priority="49" Name="Grid Table 4 Accent 3"/>
<w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark Accent 3"/>
<w:LsdException Locked="false" Priority="51"
Name="Grid Table 6 Colorful Accent 3"/>
<w:LsdException Locked="false" Priority="52"
Name="Grid Table 7 Colorful Accent 3"/>
<w:LsdException Locked="false" Priority="46"
Name="Grid Table 1 Light Accent 4"/>
<w:LsdException Locked="false" Priority="47" Name="Grid Table 2 Accent 4"/>
<w:LsdException Locked="false" Priority="48" Name="Grid Table 3 Accent 4"/>
<w:LsdException Locked="false" Priority="49" Name="Grid Table 4 Accent 4"/>
<w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark Accent 4"/>
<w:LsdException Locked="false" Priority="51"
Name="Grid Table 6 Colorful Accent 4"/>
<w:LsdException Locked="false" Priority="52"
Name="Grid Table 7 Colorful Accent 4"/>
<w:LsdException Locked="false" Priority="46"
Name="Grid Table 1 Light Accent 5"/>
<w:LsdException Locked="false" Priority="47" Name="Grid Table 2 Accent 5"/>
<w:LsdException Locked="false" Priority="48" Name="Grid Table 3 Accent 5"/>
<w:LsdException Locked="false" Priority="49" Name="Grid Table 4 Accent 5"/>
<w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark Accent 5"/>
<w:LsdException Locked="false" Priority="51"
Name="Grid Table 6 Colorful Accent 5"/>
<w:LsdException Locked="false" Priority="52"
Name="Grid Table 7 Colorful Accent 5"/>
<w:LsdException Locked="false" Priority="46"
Name="Grid Table 1 Light Accent 6"/>
<w:LsdException Locked="false" Priority="47" Name="Grid Table 2 Accent 6"/>
<w:LsdException Locked="false" Priority="48" Name="Grid Table 3 Accent 6"/>
<w:LsdException Locked="false" Priority="49" Name="Grid Table 4 Accent 6"/>
<w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark Accent 6"/>
<w:LsdException Locked="false" Priority="51"
Name="Grid Table 6 Colorful Accent 6"/>
<w:LsdException Locked="false" Priority="52"
Name="Grid Table 7 Colorful Accent 6"/>
<w:LsdException Locked="false" Priority="46" Name="List Table 1 Light"/>
<w:LsdException Locked="false" Priority="47" Name="List Table 2"/>
<w:LsdException Locked="false" Priority="48" Name="List Table 3"/>
<w:LsdException Locked="false" Priority="49" Name="List Table 4"/>
<w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark"/>
<w:LsdException Locked="false" Priority="51" Name="List Table 6 Colorful"/>
<w:LsdException Locked="false" Priority="52" Name="List Table 7 Colorful"/>
<w:LsdException Locked="false" Priority="46"
Name="List Table 1 Light Accent 1"/>
<w:LsdException Locked="false" Priority="47" Name="List Table 2 Accent 1"/>
<w:LsdException Locked="false" Priority="48" Name="List Table 3 Accent 1"/>
<w:LsdException Locked="false" Priority="49" Name="List Table 4 Accent 1"/>
<w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark Accent 1"/>
<w:LsdException Locked="false" Priority="51"
Name="List Table 6 Colorful Accent 1"/>
<w:LsdException Locked="false" Priority="52"
Name="List Table 7 Colorful Accent 1"/>
<w:LsdException Locked="false" Priority="46"
Name="List Table 1 Light Accent 2"/>
<w:LsdException Locked="false" Priority="47" Name="List Table 2 Accent 2"/>
<w:LsdException Locked="false" Priority="48" Name="List Table 3 Accent 2"/>
<w:LsdException Locked="false" Priority="49" Name="List Table 4 Accent 2"/>
<w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark Accent 2"/>
<w:LsdException Locked="false" Priority="51"
Name="List Table 6 Colorful Accent 2"/>
<w:LsdException Locked="false" Priority="52"
Name="List Table 7 Colorful Accent 2"/>
<w:LsdException Locked="false" Priority="46"
Name="List Table 1 Light Accent 3"/>
<w:LsdException Locked="false" Priority="47" Name="List Table 2 Accent 3"/>
<w:LsdException Locked="false" Priority="48" Name="List Table 3 Accent 3"/>
<w:LsdException Locked="false" Priority="49" Name="List Table 4 Accent 3"/>
<w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark Accent 3"/>
<w:LsdException Locked="false" Priority="51"
Name="List Table 6 Colorful Accent 3"/>
<w:LsdException Locked="false" Priority="52"
Name="List Table 7 Colorful Accent 3"/>
<w:LsdException Locked="false" Priority="46"
Name="List Table 1 Light Accent 4"/>
<w:LsdException Locked="false" Priority="47" Name="List Table 2 Accent 4"/>
<w:LsdException Locked="false" Priority="48" Name="List Table 3 Accent 4"/>
<w:LsdException Locked="false" Priority="49" Name="List Table 4 Accent 4"/>
<w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark Accent 4"/>
<w:LsdException Locked="false" Priority="51"
Name="List Table 6 Colorful Accent 4"/>
<w:LsdException Locked="false" Priority="52"
Name="List Table 7 Colorful Accent 4"/>
<w:LsdException Locked="false" Priority="46"
Name="List Table 1 Light Accent 5"/>
<w:LsdException Locked="false" Priority="47" Name="List Table 2 Accent 5"/>
<w:LsdException Locked="false" Priority="48" Name="List Table 3 Accent 5"/>
<w:LsdException Locked="false" Priority="49" Name="List Table 4 Accent 5"/>
<w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark Accent 5"/>
<w:LsdException Locked="false" Priority="51"
Name="List Table 6 Colorful Accent 5"/>
<w:LsdException Locked="false" Priority="52"
Name="List Table 7 Colorful Accent 5"/>
<w:LsdException Locked="false" Priority="46"
Name="List Table 1 Light Accent 6"/>
<w:LsdException Locked="false" Priority="47" Name="List Table 2 Accent 6"/>
<w:LsdException Locked="false" Priority="48" Name="List Table 3 Accent 6"/>
<w:LsdException Locked="false" Priority="49" Name="List Table 4 Accent 6"/>
<w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark Accent 6"/>
<w:LsdException Locked="false" Priority="51"
Name="List Table 6 Colorful Accent 6"/>
<w:LsdException Locked="false" Priority="52"
Name="List Table 7 Colorful Accent 6"/>
</w:LatentStyles>
</xml><![endif]--><!--[if gte mso 10]>
<style>
/* Style Definitions */
table.MsoNormalTable
{mso-style-name:"Table Normal";
mso-tstyle-rowband-size:0;
mso-tstyle-colband-size:0;
mso-style-noshow:yes;
mso-style-priority:99;
mso-style-parent:"";
mso-padding-alt:0in 5.4pt 0in 5.4pt;
mso-para-margin-top:0in;
mso-para-margin-right:0in;
mso-para-margin-bottom:8.0pt;
mso-para-margin-left:0in;
line-height:107%;
mso-pagination:widow-orphan;
font-size:11.0pt;
font-family:"Calibri",sans-serif;
mso-ascii-font-family:Calibri;
mso-ascii-theme-font:minor-latin;
mso-hansi-font-family:Calibri;
mso-hansi-theme-font:minor-latin;}
table.MsoTableGrid
{mso-style-name:"Table Grid";
mso-tstyle-rowband-size:0;
mso-tstyle-colband-size:0;
mso-style-priority:39;
mso-style-unhide:no;
border:solid windowtext 1.0pt;
mso-border-alt:solid windowtext .5pt;
mso-padding-alt:0in 5.4pt 0in 5.4pt;
mso-border-insideh:.5pt solid windowtext;
mso-border-insidev:.5pt solid windowtext;
mso-para-margin:0in;
mso-para-margin-bottom:.0001pt;
mso-pagination:widow-orphan;
font-size:11.0pt;
font-family:"Calibri",sans-serif;
mso-ascii-font-family:Calibri;
mso-ascii-theme-font:minor-latin;
mso-hansi-font-family:Calibri;
mso-hansi-theme-font:minor-latin;}
</style>
<![endif]--><b style="mso-bidi-font-weight: normal;"><span style="font-size: 16.0pt; line-height: 107%;"> </span></b>
<br />
<div class="MsoNormal">
<div class="MsoNormal" style="margin: 0in 0in 8pt;">
Here is another post from our recent hire <b>Zach Scott. </b>Enjoy.</div>
<div class="MsoNormal" style="margin: 0in 0in 8pt;">
<span style="font-family: Calibri;"> _______</span></div>
<span style="font-family: Calibri;"></span><br />
Ah, babies! So adorable, so sweet, so…everywhere. <span style="mso-spacerun: yes;"> </span>At least that’s the case in my neighborhood
and age bracket. A lot of close friends have added to their families recently,
and my wife and I have been making house calls to visit the new additions and
their proud parents. Even if I’m not calling on a friend’s baby, I am most
likely dodging double-strollers while walking outside. I am at an age where it
is hard to avoid seeing babies and talking about babies - but I really can’t
complain. It’s been a delight to see the joy being a parent can bring. </div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
But babies, as cute as they are at a young age, grow up, and
if you’re like a lot of my friends you are probably thinking about next steps
in terms of saving for your little one’s education. Higher education in the US
has hit choppy waters over the last 10-15 years, since I graduated from college,
with some students amassing loans of upwards to $250,000 for degrees at
institutions with lackluster credentials and few to any job prospects. But what
does college really cost? While some people will become paralyzed by fear and
cry out to the heavens, “<b style="mso-bidi-font-weight: normal;">Two hundred and
fifty thousand dollars</b>!?” it is important to keep in mind that a 4-year
education currently only costs that much at the most expensive universities in
the country. And that cost assumes your child won’t work while in college,
receive financial aid, or get a scholarship. </div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
To get a better idea of what of what the cost of college currently
looks like, I pulled the rates for my alma mater, <a href="http://admissions.indiana.edu/cost-financial-aid/tuition-fees.html">Indiana
University</a>, a pretty good institution:</div>
<div class="MsoNormal">
<br /></div>
<table border="1" cellpadding="0" cellspacing="0" class="MsoTableGrid" style="border-collapse: collapse; border: none; margin-left: 101.05pt; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 0in 5.4pt 0in 5.4pt; mso-yfti-tbllook: 1184;">
<tbody>
<tr align="left">
<td colspan="2" style="border: 1pt solid windowtext; padding: 0in 5.4pt; width: 265.25pt;" valign="top" width="354"><div class="MsoNormal" style="line-height: normal; margin-bottom: 0.0001pt;">
<b style="mso-bidi-font-weight: normal;">University
of Indiana at Bloomington – ANNUAL COSTS 2014-2015 Academic Year</b></div>
</td>
</tr>
<tr style="mso-yfti-irow: 1;">
<td style="-moz-border-bottom-colors: none; -moz-border-left-colors: none; -moz-border-right-colors: none; -moz-border-top-colors: none; border-color: -moz-use-text-color windowtext windowtext; border-image: none; border-right: 1pt solid windowtext; border-style: none solid solid; border-width: medium 1pt 1pt; padding: 0in 5.4pt; text-align: left; width: 134.75pt;" valign="top" width="180"><div class="MsoNormal" style="line-height: normal; margin-bottom: 0.0001pt;">
In-State Tuition & Fees</div>
</td>
<td style="border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-style: none solid solid none; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; text-align: left; width: 130.5pt;" valign="top" width="174"><div class="MsoNormal" style="line-height: normal; margin-bottom: 0.0001pt;">
$10,388</div>
</td>
</tr>
<tr style="mso-yfti-irow: 2;">
<td style="-moz-border-bottom-colors: none; -moz-border-left-colors: none; -moz-border-right-colors: none; -moz-border-top-colors: none; border-color: -moz-use-text-color windowtext windowtext; border-image: none; border-right: 1pt solid windowtext; border-style: none solid solid; border-width: medium 1pt 1pt; padding: 0in 5.4pt; text-align: left; width: 134.75pt;" valign="top" width="180"><div class="MsoNormal" style="line-height: normal; margin-bottom: 0.0001pt;">
Out-of-State Tuition & Fees</div>
</td>
<td style="border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-style: none solid solid none; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; text-align: left; width: 130.5pt;" valign="top" width="174"><div class="MsoNormal" style="line-height: normal; margin-bottom: 0.0001pt;">
$33,240</div>
</td>
</tr>
<tr style="mso-yfti-irow: 3;">
<td style="-moz-border-bottom-colors: none; -moz-border-left-colors: none; -moz-border-right-colors: none; -moz-border-top-colors: none; border-color: -moz-use-text-color windowtext windowtext; border-image: none; border-right: 1pt solid windowtext; border-style: none solid solid; border-width: medium 1pt 1pt; padding: 0in 5.4pt; text-align: left; width: 134.75pt;" valign="top" width="180"><div class="MsoNormal" style="line-height: normal; margin-bottom: 0.0001pt;">
On Campus Room & Board</div>
</td>
<td style="border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-style: none solid solid none; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; text-align: left; width: 130.5pt;" valign="top" width="174"><div class="MsoNormal" style="line-height: normal; margin-bottom: 0.0001pt;">
$9,494</div>
</td>
</tr>
<tr style="mso-yfti-irow: 4;">
<td style="-moz-border-bottom-colors: none; -moz-border-left-colors: none; -moz-border-right-colors: none; -moz-border-top-colors: none; border-color: -moz-use-text-color windowtext windowtext; border-image: none; border-right: 1pt solid windowtext; border-style: none solid solid; border-width: medium 1pt 1pt; padding: 0in 5.4pt; text-align: left; width: 134.75pt;" valign="top" width="180"><div class="MsoNormal" style="line-height: normal; margin-bottom: 0.0001pt;">
Books & Supplies</div>
</td>
<td style="border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-style: none solid solid none; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; text-align: left; width: 130.5pt;" valign="top" width="174"><div class="MsoNormal" style="line-height: normal; margin-bottom: 0.0001pt;">
$1,500</div>
</td>
</tr>
<tr style="mso-yfti-irow: 5;">
<td style="-moz-border-bottom-colors: none; -moz-border-left-colors: none; -moz-border-right-colors: none; -moz-border-top-colors: none; border-color: -moz-use-text-color windowtext windowtext; border-image: none; border-right: 1pt solid windowtext; border-style: none solid solid; border-width: medium 1pt 1pt; padding: 0in 5.4pt; text-align: left; width: 134.75pt;" valign="top" width="180"><div class="MsoNormal" style="line-height: normal; margin-bottom: 0.0001pt;">
Transportation</div>
</td>
<td style="border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-style: none solid solid none; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; text-align: left; width: 130.5pt;" valign="top" width="174"><div class="MsoNormal" style="line-height: normal; margin-bottom: 0.0001pt;">
$930</div>
</td>
</tr>
<tr style="mso-yfti-irow: 6; mso-yfti-lastrow: yes;">
<td style="-moz-border-bottom-colors: none; -moz-border-left-colors: none; -moz-border-right-colors: none; -moz-border-top-colors: none; border-color: -moz-use-text-color windowtext windowtext; border-image: none; border-right: 1pt solid windowtext; border-style: none solid solid; border-width: medium 1pt 1pt; padding: 0in 5.4pt; text-align: left; width: 134.75pt;" valign="top" width="180"><div class="MsoNormal" style="line-height: normal; margin-bottom: 0.0001pt;">
Personal Expenses</div>
</td>
<td style="border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-style: none solid solid none; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; text-align: left; width: 130.5pt;" valign="top" width="174"><div class="MsoNormal" style="line-height: normal; margin-bottom: 0.0001pt;">
$2,106</div>
</td>
</tr>
</tbody></table>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
That comes to a total annual cost of <b style="mso-bidi-font-weight: normal;">$24,418</b> for in-state and <b style="mso-bidi-font-weight: normal;">$47,270</b>
for out-of-state students. If your child is one year old right now (and
assuming our higher education system doesn’t undergo fundamental changes in the
near future), this means that the cost of a 4-year college education, using a
5% inflation rate, will be <b style="mso-bidi-font-weight: normal;">$241,223</b>
by graduation. For an out-of-state education using the same assumptions, the
cost rises to <b style="mso-bidi-font-weight: normal;">$466,975</b>.</div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
If you are appalled by those figures, you’re not alone. And
while it is debatable whether or not the cost of college will continue its
meteoric rise, those figures are plausible given the trends of the last 30
years. But, remember, those figures don’t take into consideration money you can
begin to sock away and invest right now for your child’s education. For
example, if you start putting away $400 a month toward your child’s education
today, in 20 years, using an annual rate of return of 6% before tax, you will
have saved $145,071, enough to cover 60% of your child’s in-state education.
For out-of-state tuition, you will have saved enough to pay for 31% of the
total cost of college. </div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
Even though the funding gap that remains for both in-state
and out-of-state tuition is still wide - and $400 a month might be more than
you can afford at the moment - don’t forget that the money you make right now is
not what you will be earning in 10 years’ time. For most people, peak earning
years are between the ages of 40-55. Most likely if you are just starting a
family you haven’t even hit that age bracket yet. As your income rises, you’ll
likely be able to save the $400 a month much more easily or, perhaps, even
quite a bit more.</div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
The point is that affording your child’s education is much
like saving for retirement. Start as early as you can, contribute regularly,
and have a plan to reach your goals. If you are unsure of the savings vehicle
you should use or how your money should be invested for your child’s educational
needs, consult a professional.<span style="mso-spacerun: yes;"> </span>Then you
can sit back and enjoy all that cuteness, without worrying about what the
future holds. </div>
<div class="MsoNormal">
<br /></div>
<div align="center" class="MsoNormal" style="text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg3J5ALwzChcGUgfSNe4x5WR_fPiLtbkqJh6bltWc4dXgt2ZrLYo7xgHbB_DYDSI_iVliaOr2GiH3eKORiJorClGbaw1v8QwuYtKAs1Zcm-z-qZx1m0yovAQPjC_u1mJ7NIBjxzEC5p0fc/s1600/Baby+Pic.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg3J5ALwzChcGUgfSNe4x5WR_fPiLtbkqJh6bltWc4dXgt2ZrLYo7xgHbB_DYDSI_iVliaOr2GiH3eKORiJorClGbaw1v8QwuYtKAs1Zcm-z-qZx1m0yovAQPjC_u1mJ7NIBjxzEC5p0fc/s1600/Baby+Pic.jpg" /></a></div>
<div align="center" class="MsoNormal" style="text-align: center;">
<br /></div>
<div class="MsoNormal">
<br /></div>
Warren Cohenhttp://www.blogger.com/profile/11472872083753089542noreply@blogger.com0tag:blogger.com,1999:blog-5361485972642061422.post-32580866906964118342015-03-03T08:13:00.000-08:002015-03-03T08:13:56.725-08:00The Evolution of a Stockbroker<br />
<div class="MsoNormal" style="margin: 0in 0in 10pt;">
<span style="font-family: Calibri;">The other day I was meeting with a client, discussing his
business, specifically how his business had changed over the past year. He is
an online retailer and was struggling with the two 800 pound gorillas in the
room, Amazon and Google.<span style="mso-spacerun: yes;"> </span>Amazon is
competing with him on the price he sells his merchandise and Google is making
it more expensive and challenging to advertise. His business is in a vice being
squeezed on both ends. <o:p></o:p></span></div>
<br />
<div class="MsoNormal" style="margin: 0in 0in 10pt;">
<span style="font-family: Calibri;">The conversation shifted to my business and how things have
changed. My mind wandered down memory lane, realizing how much things have transformed
over 25 years. When I first entered the business, it was known as the
securities business back then, you were a stock broker and you sold securities
(stocks and bonds). I was in the EF Hutton training program and it was not much
different than the movie<i style="mso-bidi-font-style: normal;">, The Wolf of
Wall Street</i>. It is sad and scary that this is how they trained young
advisors. You were taught to dial the phone until your index finger was numb
and that you didn’t get off the phone until the person on the other end of
the<span style="mso-spacerun: yes;"> </span>line had bought something. To call
this advisor training would be a gross misrepresentation; you were being
trained to be a salesperson. Like Alec Baldwin’s character in <i style="mso-bidi-font-style: normal;">Glengarry Glen Ross</i> you were taught,
ABC, <b style="mso-bidi-font-weight: normal;">Always Be Closing</b>. Disgraceful,
nothing about asset allocation, risk management, retirement planning or passive
investing. You were taught to sell, have the client buy something and sell it,
and then buy something new, rinse and repeat.</span></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiZS_AulGfJg3LSO-v-LlD1J4SSoKFtiIW2ovDAyP64XwFocDzZebC0Ts-j8vDJOm4FRDp7XGY3ayQlKYz-JG6LV4A82g4Q5HK9p9QI85f-9YiLmfrcGAAc9YBaBsPCI1lfZi8wMUcJJy0/s1600/ABC.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiZS_AulGfJg3LSO-v-LlD1J4SSoKFtiIW2ovDAyP64XwFocDzZebC0Ts-j8vDJOm4FRDp7XGY3ayQlKYz-JG6LV4A82g4Q5HK9p9QI85f-9YiLmfrcGAAc9YBaBsPCI1lfZi8wMUcJJy0/s1600/ABC.jpg" /></a></div>
<div class="MsoNormal" style="margin: 0in 0in 10pt;">
<span style="font-family: Calibri;"><o:p></o:p></span> </div>
<br />
<div class="MsoNormal" style="margin: 0in 0in 10pt;">
<span style="font-family: Calibri;">It was during my time with Smith Barney in the late 90’s
that the business moved a bit upstream. The business model shifted from
commission based to fee based. We were no longer charging to buy and sell a
stock or bond. We were charging a percentage fee of assets under management.
This puts you and the client on the “same side of the table,” and removed any
conflict of interest to motivate a client to sell something so they would buy
something else, thus generating revenue. We were still picking stocks, though, and
crafting stories why one company was better than the next. <o:p></o:p></span></div>
<br />
<div class="MsoNormal" style="margin: 0in 0in 10pt;">
<span style="font-family: Calibri;">All of this came to a crashing halt when a series of large,
household name companies crashed and burned. There was the dot com bust and
then Lucent, MCI, Enron, and Tyco. Then our nation’s largest financial
institutions crumbled, Bear Stearns, Lehman Brothers, Citibank and AIG. Wall
Street could no longer be trusted. Analysts were recommending stocks of
companies that had investment banking relationships with their firm. Rating
agencies were not doing their jobs. Banks were assembling pools of toxic mortgages;
packaging and selling them to their clients knowing they were a time bomb.<o:p></o:p></span></div>
<br />
<div class="MsoNormal" style="margin: 0in 0in 10pt;">
<span style="font-family: Calibri;">Boom, I knew then that Wall Street didn’t have clients’ best
interests at heart. Heart, I should retract that, I don’t think Wall Street
ever had a heart for their clients. I shifted my business from constructing
portfolios with individual securities to using index funds, ETFs, and passive
investments. The academic research is crystal clear that stock picking does not
work. No one can consistently pick stocks that will outperform the market.<o:p></o:p></span></div>
<br />
<div class="MsoNormal" style="margin: 0in 0in 10pt;">
<span style="font-family: Calibri;">So here we are today, thinking about how the business has changed
for me, and the change is unquestionably better. Today I am truly a
non-conflicted advisor. My interests are aligned with my client. I can be
compensated either as a percentage of assets or for a fee. I am not selling a
product or recommending an investment that my firm manufactures. I am independent;
I don’t work for a bank or brokerage firm that even has a product. I meet with
clients and we talk about goals and how to best achieve them. We are not
talking about whether GE is better than Siemens or if Asian bird flu will affect
airline stocks. That is irrelevant to where you want to be. We are talking
about real plans: how much money you can live on each month if you stop working at
65; how much you will need to save each month so your child can attend college; and how
you reduce taxes and support your philanthropic ideas.<o:p></o:p></span></div>
<br />
<div class="MsoNormal" style="margin: 0in 0in 10pt;">
<span style="font-family: Calibri;">The evolution of the financial services industry has been
godsend for clients and the right advisors. We have gone from salesperson to
trusted confidant. There are challenges like my client the online retailer
faces, margins continue to fall, technology has made investing more
approachable but at the end of the day, you cannot replace sitting down, human-to-human, looking into the eyes of your client and understanding the importance of truly meaning, “how can I
help?”</span></div>
<div class="MsoNormal" style="margin: 0in 0in 10pt;">
<span style="font-family: Calibri;"><o:p></o:p></span> </div>
Warren Cohenhttp://www.blogger.com/profile/11472872083753089542noreply@blogger.com2tag:blogger.com,1999:blog-5361485972642061422.post-29532020110973173062015-02-20T14:55:00.003-08:002015-02-20T14:55:21.171-08:00Retirement 2.0
<br />
<div class="MsoNormal" style="margin: 0in 0in 10pt;">
<span style="font-family: "Times New Roman","serif";">Last
week I had my annual eye exam. When I made my appointment the receptionist told
me the doctor was only seeing patients now on Monday, Tuesday or Wednesday.
During my checkup I congratulated my doctor on his pending retirement. I guess
I was being presumptuous because he growled back, “I’m not retiring, I’m just
seeing patients three days a week.” I then asked if he had plans for
retirement, my guess is that he is in his mid-70s. Again he snarled, “Why would
I retire? I like working, what would I do if I retired?” He went through the
usual list of male retiree hobbies: golf, fishing, and travelling but none of
these appealed to him.<o:p></o:p></span></div>
<br />
<div class="MsoNormal" style="margin: 0in 0in 10pt;">
<span style="font-family: "Times New Roman","serif";">I have
had this conversation with many older male clients over the years and I am
still puzzled. If you have worked your whole life and saved enough money so you
don’t have to work, why would you still go to the office every day? Many men
will say, “If I stay at home my wife will get mad at me?” That answer has
always confused me, and maybe I’m being naïve, but why would your spouse be mad
at you because you are going to spend more time together?</span></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiZm9xKFVRtZ3F36x4YW4HxIFA7wpdBY2j0BEIb-kU_jCXYLS7wxMH5myHVnoEoTBP6NS1cvpkat9imxMamzZiGM_kiAgcLx_T6b3JiY-E59G7lXC_nqrGaiCifRZ6qxRCRbjJXfSX6H7E/s1600/Eye+Dr..png" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiZm9xKFVRtZ3F36x4YW4HxIFA7wpdBY2j0BEIb-kU_jCXYLS7wxMH5myHVnoEoTBP6NS1cvpkat9imxMamzZiGM_kiAgcLx_T6b3JiY-E59G7lXC_nqrGaiCifRZ6qxRCRbjJXfSX6H7E/s1600/Eye+Dr..png" height="143" width="200" /></a></div>
<div class="MsoNormal" style="margin: 0in 0in 10pt;">
<span style="font-family: "Times New Roman","serif";">The day
that I don’t have to work anymore I won’t, and there are plenty of other things
that I want to do.<o:p></o:p></span></div>
<br />
<div class="MsoNormal" style="margin: 0in 0in 10pt;">
<span style="font-family: "Times New Roman","serif";">Why is
it for some people that the idea of retiring is taboo, is it a sign of weakness
or insecurity? Do we define who we are by the hours we spend in the office,
sitting at a computer?<o:p></o:p></span></div>
<br />
<div class="MsoNormal" style="margin: 0in 0in 10pt;">
<span style="font-family: "Times New Roman","serif";">Last
weekend, the New York Times had a great article, </span><a href="http://nyti.ms/1G4tctv"><span style="font-family: "Times New Roman","serif";"><span style="color: blue;">http://nyti.ms/1G4tctv</span></span></a><span style="font-family: "Times New Roman","serif";">, on retirees and having a second
or third act in their lives. The idea of retirement for my generation and
younger generations should and will be different than our parents’. We are
living longer and the idea of hanging it up at 62 and moving to Florida may be
dated.<o:p></o:p></span></div>
<br />
<div class="MsoNormal" style="margin: 0in 0in 10pt;">
<span style="font-family: "Times New Roman","serif";">I like
the idea of a second act for retirees; volunteering in schools, mentoring, and
teaching. Who better to teach younger people than those who have the life
experience and time to give back?<o:p></o:p></span></div>
<br />
<div class="MsoNormal" style="margin: 0in 0in 10pt;">
<span style="font-family: "Times New Roman","serif";">I will
have had nearly thirty years of experience in the financial services industry
when I decide to leave my desk. I look forward to mentoring younger advisors
and college students on how to achieve financial freedom. I would also like to
own a wine shop.<o:p></o:p></span></div>
<br />
<div class="MsoNormal" style="margin: 0in 0in 10pt;">
<span style="font-family: "Times New Roman","serif";">Retirement
planning should not be purely about money; how much you will need or how much
you can afford to spend. It needs to be more holistic. Ask yourself, “What does
life look like after I leave my 9 to 5 world? How will I find fulfillment?” Life
is not linear; it’s never a straight line from point A to B. There are health
issues, or the company you work for decides you are no longer necessary. Mentally
we need to think ahead to prepare for these options and hone our interests in a
new world.<o:p></o:p></span></div>
<br />
<div class="MsoNormal" style="margin: 0in 0in 10pt;">
<span style="font-family: "Times New Roman","serif";">Retirement
should <b style="mso-bidi-font-weight: normal;">not</b> be a death sentence. It
has so much more to offer than playing golf or cards. Retirement is a second
act to do something completely different, give back and enjoy.<o:p></o:p></span></div>
<br />
<div class="MsoNormal" style="margin: 0in 0in 10pt;">
<i style="mso-bidi-font-style: normal;"><span style="font-family: Calibri;"><strong>The subject of
retirement is very interesting to me; I invite you to share your thoughts.<o:p></o:p></strong></span></i></div>
Warren Cohenhttp://www.blogger.com/profile/11472872083753089542noreply@blogger.com0