text:
#include "config.h"

#include "core/rendering/svg/RenderSVGText.h"

#include "core/editing/PositionWithAffinity.h"
#include "core/paint/SVGTextPainter.h"
#include "core/rendering/HitTestRequest.h"
#include "core/rendering/HitTestResult.h"
#include "core/rendering/PaintInfo.h"
#include "core/rendering/PointerEventsHitRules.h"
#include "core/rendering/style/ShadowList.h"
#include "core/rendering/svg/RenderSVGInline.h"
#include "core/rendering/svg/RenderSVGInlineText.h"
#include "core/rendering/svg/RenderSVGResource.h"
#include "core/rendering/svg/RenderSVGRoot.h"
#include "core/rendering/svg/SVGRenderSupport.h"
#include "core/rendering/svg/SVGResourcesCache.h"
#include "core/rendering/svg/SVGRootInlineBox.h"
#include "core/rendering/svg/SVGTextRunRenderingContext.h"
#include "core/svg/SVGLengthList.h"
#include "core/svg/SVGTextElement.h"
#include "core/svg/SVGTransformList.h"
#include "core/svg/SVGURIReference.h"
#include "platform/FloatConversion.h"
#include "platform/fonts/FontCache.h"
#include "platform/fonts/SimpleFontData.h"
#include "platform/geometry/FloatQuad.h"
#include "platform/geometry/TransformState.h"

namespace blink {

RenderSVGText::RenderSVGText(SVGTextElement* node)
    : RenderSVGBlock(node)
    , m_needsReordering(false)
    , m_needsPositioningValuesUpdate(false)
    , m_needsTransformUpdate(true)
    , m_needsTextMetricsUpdate(false)
{
}

RenderSVGText::~RenderSVGText()
{
    ASSERT(m_layoutAttributes.isEmpty());
}

bool RenderSVGText::isChildAllowed(RenderObject* child, RenderStyle*) const
{
    return child->isSVGInline() || (child->isText() && SVGRenderSupport::isRenderableTextNode(child));
}

RenderSVGText* RenderSVGText::locateRenderSVGTextAncestor(RenderObject* start)
{
    ASSERT(start);
    while (start && !start->isSVGText())
        start = start->parent();
    if (!start || !start->isSVGText())
        return 0;
    return toRenderSVGText(start);
}

const RenderSVGText* RenderSVGText::locateRenderSVGTextAncestor(const RenderObject* start)
{
    ASSERT(start);
    while (start && !start->isSVGText())
        start = start->parent();
    if (!start || !start->isSVGText())
        return 0;
    return toRenderSVGText(start);
}

void RenderSVGText::mapRectToPaintInvalidationBacking(const RenderLayerModelObject* paintInvalidationContainer, LayoutRect& rect, const PaintInvalidationState* paintInvalidationState) const
{
    FloatRect paintInvalidationRect = rect;
    paintInvalidationRect.inflate(style()->outlineWidth());
    computeFloatRectForPaintInvalidation(paintInvalidationContainer, paintInvalidationRect, paintInvalidationState);
    rect = enclosingLayoutRect(paintInvalidationRect);
}

static inline void collectLayoutAttributes(RenderObject* text, Vector<SVGTextLayoutAttributes*>& attributes)
{
    for (RenderObject* descendant = text; descendant; descendant = descendant->nextInPreOrder(text)) {
        if (descendant->isSVGInlineText())
            attributes.append(toRenderSVGInlineText(descendant)->layoutAttributes());
    }
}

static inline bool findPreviousAndNextAttributes(RenderSVGText* root, RenderSVGInlineText* locateElement, SVGTextLayoutAttributes*& previous, SVGTextLayoutAttributes*& next)
{
    ASSERT(root);
    ASSERT(locateElement);
    bool stopAfterNext = false;
    RenderObject* current = root->firstChild();
    while (current) {
        if (current->isSVGInlineText()) {
            RenderSVGInlineText* text = toRenderSVGInlineText(current);
            if (locateElement != text) {
                if (stopAfterNext) {
                    next = text->layoutAttributes();
                    return true;
                }

                previous = text->layoutAttributes();
            } else {
                stopAfterNext = true;
            }
        } else if (current->isSVGInline()) {
            // Descend into text content (if possible).
            if (RenderObject* child = toRenderSVGInline(current)->firstChild()) {
                current = child;
                continue;
            }
        }

        current = current->nextInPreOrderAfterChildren(root);
    }
    return false;
}

inline bool RenderSVGText::shouldHandleSubtreeMutations() const
{
    if (beingDestroyed() || !everHadLayout()) {
        ASSERT(m_layoutAttributes.isEmpty());
        ASSERT(!m_layoutAttributesBuilder.numberOfTextPositioningElements());
        return false;
    }
    return true;
}

void RenderSVGText::subtreeChildWasAdded(RenderObject* child)
{
    ASSERT(child);
    if (!shouldHandleSubtreeMutations() || documentBeingDestroyed())
        return;

    // Always protect the cache before clearing text positioning elements when the cache will subsequently be rebuilt.
    FontCachePurgePreventer fontCachePurgePreventer;

    // The positioning elements cache doesn't include the new 'child' yet. Clear the
    // cache, as the next buildLayoutAttributesForTextRenderer() call rebuilds it.
    m_layoutAttributesBuilder.clearTextPositioningElements();

    if (!child->isSVGInlineText() && !child->isSVGInline())
        return;

    // Detect changes in layout attributes and only measure those text parts that have changed!
    Vector<SVGTextLayoutAttributes*> newLayoutAttributes;
    collectLayoutAttributes(this, newLayoutAttributes);
    if (newLayoutAttributes.isEmpty()) {
        ASSERT(m_layoutAttributes.isEmpty());
        return;
    }

    // Compare m_layoutAttributes with newLayoutAttributes to figure out which attribute got added.
    size_t size = newLayoutAttributes.size();
    SVGTextLayoutAttributes* attributes = 0;
    for (size_t i = 0; i < size; ++i) {
        attributes = newLayoutAttributes[i];
        if (m_layoutAttributes.find(attributes) == kNotFound) {
            // Every time this is invoked, there's only a single new entry in the newLayoutAttributes list, compared to the old in m_layoutAttributes.
            SVGTextLayoutAttributes* previous = 0;
            SVGTextLayoutAttributes* next = 0;
            ASSERT_UNUSED(child, attributes->context() == child);
            findPreviousAndNextAttributes(this, attributes->context(), previous, next);

            if (previous)
                m_layoutAttributesBuilder.buildLayoutAttributesForTextRenderer(previous->context());
            m_layoutAttributesBuilder.buildLayoutAttributesForTextRenderer(attributes->context());
            if (next)
                m_layoutAttributesBuilder.buildLayoutAttributesForTextRenderer(next->context());
            break;
        }
    }

#if ENABLE(ASSERT)
    // Verify that m_layoutAttributes only differs by a maximum of one entry.
    for (size_t i = 0; i < size; ++i)
        ASSERT(m_layoutAttributes.find(newLayoutAttributes[i]) != kNotFound || newLayoutAttributes[i] == attributes);
#endif

    m_layoutAttributes = newLayoutAttributes;
}

static inline void checkLayoutAttributesConsistency(RenderSVGText* text, Vector<SVGTextLayoutAttributes*>& expectedLayoutAttributes)
{
#if ENABLE(ASSERT)
    Vector<SVGTextLayoutAttributes*> newLayoutAttributes;
    collectLayoutAttributes(text, newLayoutAttributes);
    ASSERT(newLayoutAttributes == expectedLayoutAttributes);
#endif
}

void RenderSVGText::willBeDestroyed()
{
    m_layoutAttributes.clear();
    m_layoutAttributesBuilder.clearTextPositioningElements();

    RenderSVGBlock::willBeDestroyed();
}

void RenderSVGText::subtreeChildWillBeRemoved(RenderObject* child, Vector<SVGTextLayoutAttributes*, 2>& affectedAttributes)
{
    ASSERT(child);
    if (!shouldHandleSubtreeMutations())
        return;

    checkLayoutAttributesConsistency(this, m_layoutAttributes);

    // The positioning elements cache depends on the size of each text renderer in the
    // subtree. If this changes, clear the cache. It's going to be rebuilt below.
    m_layoutAttributesBuilder.clearTextPositioningElements();
    if (m_layoutAttributes.isEmpty() || !child->isSVGInlineText())
        return;

    // This logic requires that the 'text' child is still inserted in the tree.
    RenderSVGInlineText* text = toRenderSVGInlineText(child);
    SVGTextLayoutAttributes* previous = 0;
    SVGTextLayoutAttributes* next = 0;
    if (!documentBeingDestroyed())
        findPreviousAndNextAttributes(this, text, previous, next);

    if (previous)
        affectedAttributes.append(previous);
    if (next)
        affectedAttributes.append(next);

    size_t position = m_layoutAttributes.find(text->layoutAttributes());
    ASSERT(position != kNotFound);
    m_layoutAttributes.remove(position);
}

void RenderSVGText::subtreeChildWasRemoved(const Vector<SVGTextLayoutAttributes*, 2>& affectedAttributes)
{
    if (!shouldHandleSubtreeMutations() || documentBeingDestroyed()) {
        ASSERT(affectedAttributes.isEmpty());
        return;
    }

    // This is called immediately after subtreeChildWillBeDestroyed, once the RenderSVGInlineText::willBeDestroyed() method
    // passes on to the base class, which removes us from the render tree. At this point we can update the layout attributes.
    unsigned size = affectedAttributes.size();
    for (unsigned i = 0; i < size; ++i)
        m_layoutAttributesBuilder.buildLayoutAttributesForTextRenderer(affectedAttributes[i]->context());
}

void RenderSVGText::subtreeStyleDidChange()
{
    if (!shouldHandleSubtreeMutations() || documentBeingDestroyed())
        return;

    checkLayoutAttributesConsistency(this, m_layoutAttributes);

    // Only update the metrics cache, but not the text positioning element cache
    // nor the layout attributes cached in the leaf #text renderers.
    FontCachePurgePreventer fontCachePurgePreventer;
    for (RenderObject* descendant = firstChild(); descendant; descendant = descendant->nextInPreOrder(this)) {
        if (descendant->isSVGInlineText())
            m_layoutAttributesBuilder.rebuildMetricsForTextRenderer(toRenderSVGInlineText(descendant));
    }
}

void RenderSVGText::subtreeTextDidChange(RenderSVGInlineText* text)
{
    ASSERT(text);
    ASSERT(!beingDestroyed());
    if (!everHadLayout()) {
        ASSERT(m_layoutAttributes.isEmpty());
        ASSERT(!m_layoutAttributesBuilder.numberOfTextPositioningElements());
        return;
    }

    // Always protect the cache before clearing text positioning elements when the cache will subsequently be rebuilt.
    FontCachePurgePreventer fontCachePurgePreventer;

    // The positioning elements cache depends on the size of each text renderer in the
    // subtree. If this changes, clear the cache. It's going to be rebuilt below.
    m_layoutAttributesBuilder.clearTextPositioningElements();

    checkLayoutAttributesConsistency(this, m_layoutAttributes);
    for (RenderObject* descendant = text; descendant; descendant = descendant->nextInPreOrder(text)) {
        if (descendant->isSVGInlineText())
            m_layoutAttributesBuilder.buildLayoutAttributesForTextRenderer(toRenderSVGInlineText(descendant));
    }
}

static inline void updateFontInAllDescendants(RenderObject* start, SVGTextLayoutAttributesBuilder* builder = 0)
{
    for (RenderObject* descendant = start; descendant; descendant = descendant->nextInPreOrder(start)) {
        if (!descendant->isSVGInlineText())
            continue;
        RenderSVGInlineText* text = toRenderSVGInlineText(descendant);
        text->updateScaledFont();
        if (builder)
            builder->rebuildMetricsForTextRenderer(text);
    }
}

void RenderSVGText::layout()
{
    ASSERT(needsLayout());

    subtreeStyleDidChange();

    bool updateCachedBoundariesInParents = false;
    if (m_needsTransformUpdate) {
        m_localTransform = toSVGTextElement(node())->animatedLocalTransform();
        m_needsTransformUpdate = false;
        updateCachedBoundariesInParents = true;
    }

    if (!everHadLayout()) {
        // When laying out initially, collect all layout attributes, build the character data map,
        // and propogate resulting SVGLayoutAttributes to all RenderSVGInlineText children in the subtree.
        ASSERT(m_layoutAttributes.isEmpty());
        collectLayoutAttributes(this, m_layoutAttributes);
        updateFontInAllDescendants(this);
        m_layoutAttributesBuilder.buildLayoutAttributesForForSubtree(this);

        m_needsReordering = true;
        m_needsTextMetricsUpdate = false;
        m_needsPositioningValuesUpdate = false;
        updateCachedBoundariesInParents = true;
    } else if (m_needsPositioningValuesUpdate) {
        // When the x/y/dx/dy/rotate lists change, recompute the layout attributes, and eventually
        // update the on-screen font objects as well in all descendants.
        if (m_needsTextMetricsUpdate) {
            updateFontInAllDescendants(this);
            m_needsTextMetricsUpdate = false;
        }

        m_layoutAttributesBuilder.buildLayoutAttributesForForSubtree(this);
        m_needsReordering = true;
        m_needsPositioningValuesUpdate = false;
        updateCachedBoundariesInParents = true;
    } else if (m_needsTextMetricsUpdate || SVGRenderSupport::findTreeRootObject(this)->isLayoutSizeChanged()) {
        // If the root layout size changed (eg. window size changes) or the transform to the root
        // context has changed then recompute the on-screen font size.
        updateFontInAllDescendants(this, &m_layoutAttributesBuilder);

        ASSERT(!m_needsReordering);
        ASSERT(!m_needsPositioningValuesUpdate);
        m_needsTextMetricsUpdate = false;
        updateCachedBoundariesInParents = true;
    }

    checkLayoutAttributesConsistency(this, m_layoutAttributes);

    // Reduced version of RenderBlock::layoutBlock(), which only takes care of SVG text.
    // All if branches that could cause early exit in RenderBlocks layoutBlock() method are turned into assertions.
    ASSERT(!isInline());
    ASSERT(!simplifiedLayout());
    ASSERT(!scrollsOverflow());
    ASSERT(!hasControlClip());
    ASSERT(!hasColumns());
    ASSERT(!positionedObjects());
    ASSERT(!m_overflow);
    ASSERT(!isAnonymousBlock());

    if (!firstChild())
        setChildrenInline(true);

    // FIXME: We need to find a way to only layout the child boxes, if needed.
    FloatRect oldBoundaries = objectBoundingBox();
    ASSERT(childrenInline());

    rebuildFloatsFromIntruding();

    LayoutUnit beforeEdge = borderBefore() + paddingBefore();
    LayoutUnit afterEdge = borderAfter() + paddingAfter() + scrollbarLogicalHeight();
    setLogicalHeight(beforeEdge);

    LayoutUnit paintInvalidationLogicalTop = 0;
    LayoutUnit paintInvalidationLogicalBottom = 0;
    layoutInlineChildren(true, paintInvalidationLogicalTop, paintInvalidationLogicalBottom, afterEdge);

    if (m_needsReordering)
        m_needsReordering = false;

    if (!updateCachedBoundariesInParents)
        updateCachedBoundariesInParents = oldBoundaries != objectBoundingBox();

    // Invalidate all resources of this client if our layout changed.
    if (everHadLayout() && selfNeedsLayout())
        SVGResourcesCache::clientLayoutChanged(this);

    // If our bounds changed, notify the parents.
    if (updateCachedBoundariesInParents)
        RenderSVGBlock::setNeedsBoundariesUpdate();

    clearNeedsLayout();
}

RootInlineBox* RenderSVGText::createRootInlineBox()
{
    RootInlineBox* box = new SVGRootInlineBox(*this);
    box->setHasVirtualLogicalHeight();
    return box;
}

bool RenderSVGText::nodeAtFloatPoint(const HitTestRequest& request, HitTestResult& result, const FloatPoint& pointInParent, HitTestAction hitTestAction)
{
    PointerEventsHitRules hitRules(PointerEventsHitRules::SVG_TEXT_HITTESTING, request, style()->pointerEvents());
    bool isVisible = (style()->visibility() == VISIBLE);
    if (isVisible || !hitRules.requireVisible) {
        if ((hitRules.canHitBoundingBox && !objectBoundingBox().isEmpty())
            || (hitRules.canHitStroke && (style()->svgStyle().hasStroke() || !hitRules.requireStroke))
            || (hitRules.canHitFill && (style()->svgStyle().hasFill() || !hitRules.requireFill))) {
            FloatPoint localPoint;
            if (!SVGRenderSupport::transformToUserSpaceAndCheckClipping(this, localToParentTransform(), pointInParent, localPoint))
                return false;

            if (hitRules.canHitBoundingBox && !objectBoundingBox().contains(localPoint))
                return false;

            HitTestLocation hitTestLocation(LayoutPoint(flooredIntPoint(localPoint)));
            return RenderBlock::nodeAtPoint(request, result, hitTestLocation, LayoutPoint(), hitTestAction);
        }
    }

    return false;
}

PositionWithAffinity RenderSVGText::positionForPoint(const LayoutPoint& pointInContents)
{
    RootInlineBox* rootBox = firstRootBox();
    if (!rootBox)
        return createPositionWithAffinity(0, DOWNSTREAM);

    ASSERT(!rootBox->nextRootBox());
    ASSERT(childrenInline());

    InlineBox* closestBox = toSVGRootInlineBox(rootBox)->closestLeafChildForPosition(pointInContents);
    if (!closestBox)
        return createPositionWithAffinity(0, DOWNSTREAM);

    return closestBox->renderer().positionForPoint(LayoutPoint(pointInContents.x(), closestBox->y()));
}

void RenderSVGText::absoluteQuads(Vector<FloatQuad>& quads, bool* wasFixed) const
{
    quads.append(localToAbsoluteQuad(strokeBoundingBox(), 0 /* mode */, wasFixed));
}

void RenderSVGText::paint(PaintInfo& paintInfo, const LayoutPoint&)
{
    SVGTextPainter(*this).paint(paintInfo);
}

FloatRect RenderSVGText::strokeBoundingBox() const
{
    FloatRect strokeBoundaries = objectBoundingBox();
    const SVGRenderStyle& svgStyle = style()->svgStyle();
    if (!svgStyle.hasStroke())
        return strokeBoundaries;

    ASSERT(node());
    ASSERT(node()->isSVGElement());
    SVGLengthContext lengthContext(toSVGElement(node()));
    strokeBoundaries.inflate(svgStyle.strokeWidth()->value(lengthContext));
    return strokeBoundaries;
}

FloatRect RenderSVGText::paintInvalidationRectInLocalCoordinates() const
{
    FloatRect paintInvalidationRect = strokeBoundingBox();
    SVGRenderSupport::intersectPaintInvalidationRectWithResources(this, paintInvalidationRect);

    if (const ShadowList* textShadow = style()->textShadow())
        textShadow->adjustRectForShadow(paintInvalidationRect);

    return paintInvalidationRect;
}

void RenderSVGText::addChild(RenderObject* child, RenderObject* beforeChild)
{
    RenderSVGBlock::addChild(child, beforeChild);

    SVGResourcesCache::clientWasAddedToTree(child, child->style());
    subtreeChildWasAdded(child);
}

void RenderSVGText::removeChild(RenderObject* child)
{
    SVGResourcesCache::clientWillBeRemovedFromTree(child);

    Vector<SVGTextLayoutAttributes*, 2> affectedAttributes;
    FontCachePurgePreventer fontCachePurgePreventer;
    subtreeChildWillBeRemoved(child, affectedAttributes);
    RenderSVGBlock::removeChild(child);
    subtreeChildWasRemoved(affectedAttributes);
}

}


A new study by banking giant Halifax suggests that around one in every ten gadget users in the UK do not have adequate insurance for their technology devices.
The UK based financial behemoth further claimed in its report that the lack of awareness amongst the population has created a massive £32bn black hole in the UK insurance market.
The study also reveals some interesting facts about the sociological impact of technology in the UK; approximately 45 per cent of the population depends on tech gadgets to stay in touch with family and friends, even when they are within the same house.
In addition, nearly one in every five respondents admitted that they prefer to talk over the phone or social media rather than communicating in person.
"We are a switched on nation, increasingly reliant on gizmos and gadgetry to help us stay connected and communicate," Martyn Foulds, senior claims manager at Halifax Home Insurance, stated according to Post Online.
"However, it's surprising that despite high investment and heavy reliance on technology, people are still willing to risk losing their items and digital content by failing to ensure they have adequate insurance cover," he added.


My first JT tour was in 1990. I was introduced to James by drummer Carlos Vega.
My first traveling work as a musician was with Henry Mancini as early as 1974 / '75. My first bus tour experience was with Michael Johnson (no relation) of "Bluer Than Blue" fame, probably in '78 or '79.
Aside from pacing around a bit, I have no specific routine.
The great vibe of this band and crew is a reflection of our boss – it comes from the top down. It's a pleasure to work with such a talented group of people sharing the goal of making good music for all to enjoy.


text:
Home

Movies

Actors

{{movie.name | uppercase}}

        Year: {{movie.release_year}}

        Director: {{movie.director}}

        <select data-placeholder="Search" ui-select2="{width: '100%'}"
                data-ng-model='selectedActor' data-ng-change="addActor()">
            <option value=""></option>
            <option data-ng-repeat="item in actors"
                    value="{{ item.id }}">{{ item.first_name | capitalize }} {{ item.last_name | capitalize}}
            </option>
        </select>

                        {{ item.first_name | capitalize }} {{ item.last_name | capitalize}}

There aren't actors added to this movie.

Create Actor

            <form name="actorForm" novalidate>

                        First Name

                            <input type="text" data-ng-model="actor.first_name" class="form-control" id="first_name"
                                   name="first_name" required data-ng-pattern="/^[a-zA-Z\s]*$/">
                            This field is required.
                            This field only should contain letters.

                        Last Name

                            <input type="text" data-ng-model="actor.last_name" class="form-control" id="last_name"
                                   name="last_name" required data-ng-pattern="/^[a-zA-Z\s]*$/">
                            This field is required.
                            This field only should contain letters.

                        Gender

                            <select id="gender" ui-select2="{width: '100%'}" data-ng-model="actor.gender" required>
                                <option value="f">Female</option>
                                <option value="m">Male</option>
                            </select>
                            This field is required.

                        Birth Date

                            <datepicker date-format="dd/M/yyyy" selector="form-control">

                                    <input id="birth_date" name="birth_date" placeholder="Choose a date"
                                           class="form-control"
                                           data-ng-model="actor.birth_date" required/>

                                This field is required.
                            </datepicker>

                            <button type="submit" class="btn btn-primary" data-ng-click="createActor()"
                                    data-ng-disabled="actorForm.$invalid">Add
                            </button>

            </form>

redpajama_set_name: RedPajamaGithub


Here's Why America Excellence in World EconomyAmerican Leads Economic World. The American economy - the United State's economy is one system of economy that have important influence in the history of the economic world. Even with all of the overarching influence on this earth to make America a country that became a role model for other countries, in terms of development economic.At first, the Economy of American does not differ much from other countries.
However, because the American people uphold devotion to the democratic interests that ultimately makes this country a strong state in various fields in the appeal of other country, including in the field of economy.Influence of America on the Economic World EconomyIn general if pulled understanding of the American economy, it can be concluded that the US economy is an economic structure that is built by American country so well, so many countries that follow.
Started since the end of World War II, American was transformed into a superpower and a country dubbed the superpower of being able to master a variety of areas of the economy.As it is happening in Indonesia rupiah currency in 1997 and now in 2015, dollar was and is strengthen and strengthen. It is one proof of the strength of the American economy is the US Dollar which is the largest currency are cornerstones of the exchange rate against other currencies in the world. The high value of the dollar compared with the value of the currencies of other countries as well, including one of the things that encourages the strengthening of their economic system.
This is the reason why American economy So Strong Which became the basis of the strength of the US economy actually began during World War I. From various sources that we can turn on when the US strategy to manage its economy with a strong well which countries - other countries actually spend a great deal since the First World War , With a mature strategy, America really - really control their economy while continuing to perform a variety of strategies to strengthen their economies. It's just that rivals America today there is only one country, namely the Russia.
Nonetheless, the country - other countries much oriented to the United States to follow the example of their way to build a strong economic system. And it is worth it called superpower America and a superpower.American economy outperformed the Russia.Formerly, the Russia is a union of several countries in the northern forge unity and form a government based colonial and socialist communism. Clearly understand they are very different from the United States that embrace democratic system. Even when the cold war between the two countries held a mutual fistfight including in terms of business and economic competition.
But eventually America can still outperform the former Soviet Union probably because the American economy which is more advanced than the first economy of the Soviet Union. The indication of welfare in social economy are detailed.
Finally, this also brings the impact of fragmentation of the Soviet Union in 1991 which is split into several states. With the collapse of the Soviet Union make the economy of the world especially of America is getting stronger and is one - the only economic system that is respected and should be followed by other countries in the world. Well America economic leads the economic of the world.


text:
A Different War on Women
By Bernard Goldberg October 13, 2016 Leave a Comment
There's been a lot of talk lately, from Hillary Clinton and her loyal allies both in and out of the media, about what a woman-hating crude and vulgar jerk Donald Trump is. Let's face it: Donald brings a lot of this on himself.
When you refer to women as "fat," "pig," "Miss Piggy," and "slob," to cite just a few of Donald's terms of endearment — and when you brag – unknowingly on a hot mic — about grabbing and kissing beautiful women against their will because you're a "star" and can get away with it, you're not going to win any awards from the National Organization for Women.
It's a good thing that Donald Trump is a man who "cherishes women." No need to take my word for it. Just ask him.
The best defense Trump can make for himself – besides that he's guilty of nothing more than "locker room talk" – is that if you would just think about it, you'd see that he doesn't single out women for his attacks; he's crude and vulgar to men too – especially if their name is Marco, Ted or Jeb.
But as bad as Donald is, there is a certain amount of stomach-turning hypocrisy when it comes to his supposed misogyny. In case you didn't know, there is such a thing as a Liberal War on Women.
In 1991, when a self-proclaimed rock groupie named Connie Hamzy said Bill Clinton propositioned her at a hotel in Little Rock in the 1980s, a story he was happy to brush off, Hillary didn't see it that way. "We have to destroy her story," she said.
How do we know this? Did some right wing Hillary hater make the claim? No. The quote comes in a book called All Too Human – by Clinton family pal George Stephanopoulos who was communications director in Clinton's 1992 presidential campaign.
When Gennifer Flowers claimed she had an affair with Bill Clinton – an allegation he long denied – Hillary trashed Flowers as "some failed cabaret singer who doesn't have much of a resume to fall back on" and told Esquire magazine in 1992 that if she had an opportunity to cross-examine Flowers, "I mean, I would crucify her."
Why not? Flowers was a liar, right? No, again. Six years later, Bill Clinton changed his story and admitted he did have a sexual affair with Jennifer Flowers.
Then there's the case of Paula Jones who was a low level Arkansas state employee when Bill Clinton was governor. She says (in a statement made under penalty of perjury) that the governor summoned her to his hotel room in Little Rock during a conference, and after allegedly putting his hand on her leg and moving it upward, "Mr. Clinton then walked over to the sofa, lowered his trousers and underwear, exposed" himself and made a lewd suggestion.
This prompted a response from another Clinton loyalist, James Carville, who said: "Drag a hundred dollars through a trailer park and there's no telling what you'll find."
This was not simply an attempt to de-legitimize Paula Jones. It was a cruel attempt to humiliate her.
As for Hillary, who portrays herself as a champion of women, she wasn't about to let a bunch of "bimbos" derail her husband's presidential aspirations. According to the Washington Post, "When Bill Clinton launched a presidential run in 1991, his wife and senior staff considered how to deal with what came to be known as "bimbo eruptions."
Then, after he became president and got involved with another young woman, this time an intern in the White House, Hillary dismissed the intern, Monica Lewinsky, as a ""narcissistic loony toon" – this according to a very close friend of Hillary, who made the notation in her diary.
There's more. Much more. But this isn't simply about ancient history. It's about what's going on right now.
Right after the recent town hall presidential debate, Joy Behar, one of the chatterboxes on "The View" who sometimes thinks she's a political scientist, called some of the women who had consensual sex with Bill Clinton "tramps." With feminist friends like this, who needs enemies? A day later, Behar said, sorry, it was just an attempt at humor. Sure!
And then Congresswoman Eleanor Holmes Norton, another Clinton supporter, went on a liberal radio show and described Bill Clinton's accusers – the ones who attended the debate as guests of Donald Trump — as "middle aged-looking women" who were "not looking their best, perhaps looking much better, you know, 40 years ago."
I thought liberals were the ones who lecture us about how we shouldn't judge women by their looks; that that was sexist. But apparently sexism is okay if the women in the crosshairs represent an inconvenient obstacle on Hillary Clinton's road to the Oval Office.
As for Donald Trump, when he tells us how much he cherishes women, most of us just roll our eyes. We know what he really is. When Hillary and her surrogates tell us she's an advocate for women, we're supposed to take them seriously. But when it suits their political interests, these sensitive liberals will ruthlessly smear anyone – including any woman — who gets in their way. It's not hard to do when you think of them as bimbos.
Are you a premium member? If not, you are missing out on exclusive weekly columns, audio commentaries, and Q&As from Bernie Goldberg!
About Bernard Goldberg
CBS News reporter for 28 years. Fox News analyst for 10 years; Real Sports (HBO) correspondent. Winner of 14 Emmys, and 3 duPonts. Author of 5 New York Times bestsellers, including the #1 hit Bias. More here. Follow Bernie on Facebook, Twitter, and Instagram.
Author website: https://bernardgoldberg.com
Filed Under: Featured, Political Opinion Tagged With: Donald Trump's Women Problems, Liberal Hypocrisy and the War on Women, Liberal War on Women

redpajama_set_name: RedPajamaCommonCrawl


text:
Meds News – Health & Medicine Information
Information and News regarding health, wellness, and medicine. Up-to-date information covering side effects of drugs, lawsuits, and health advice.
Drugs & Devices
Bair Hugger
Benicar uses, dosages and indication
Benicar FAQs
Chemotherapy and Alcohol
Covid-19 Vaccine and Alcohol
IVC Filters
Dangers and Lawsuits
Therapeutic Cannabis
Children Epilepsy
Xarelto (rivaroxaban) Lawsuits Begin
Evidence Exposed in Xarelto Lawsuit
Xarelto lawsuits grow in number – actual stories from real people
Blood thinners dangers and effectiveness
Xarelto Safety Precautions
Xarelto vs Warfarin
Xarelto vs Pradaxa
Dangers and risks associated with the Novel Oral Anticoagulants (NOACs)
Xarelto and Alcohol
Xarelto and Contraception
Xarelto Marketing
Xarelto Elderly Patients
History of Xarelto
Xarelto Side Effects
Xarelto side effects: liver injuries and damage
Stopping Xarelto Suddenly Could Clot Your Brain
Can Xarelto cause hair loss and dry skin conditions?
Xarelto Internal Bleeding
XARELTO: uses, doses and adverse bleeding effects
Neurontin & Lyrica
Zofran and Alcohol
Kidney Pain
Muscles and Aging
Kids And Food Allergy
Vitamins and FDA
Dangerous Chemicals
Effects of Nicotine
Glyphosate (Roundup)
Household Dust
Workplace Hazards
Psychology & Sociology
Children and Learning
Grief and death
Guide To Mental Health Medications
Lesser Known Eating Disorders
Non-suicidal self injury
Recover from Trauma
Social Media abuse
Substance Abuse, Dependence, Addiction
World Poverty
Germinating Autoflower Seeds
Marijuana FAQs
Mimosa Hostilis
Damaging Evidence Exposed in Xarelto Lawsuit
In November of 2011, the use of a new anti-coagulation medication used in patient's suffering from atrial fibrillation (AF) was approved by the Food and Drug Administration (FDA). Symptoms of AF are irregular heartbeat and palpitations. There is an increased risk in heart disease and strokes in patients suffering from AF. In January of 2012, after being diagnosed with AF, William Packard took an appointment with his doctor regarding the use of the latest medication.
Mr. Packard's physician believed the new medication may have improved his patient's conditions since it didn't require the continuous blood tests he had to take with his previous therapy. Within six months since he started the new treatment Mr. Packard started being affected by many episodes of confusion and excruciating headaches. He was quickly brought to a hospital where doctors found he had a subdural hemorrhaging caused by a bleeding occurred outside of the brain. Despite emergency treatment was administered to stop the hemorrhage, Mr. Packard died just five days after he was hospitalized.
A few months later, Thomas Dunkley was prescribed by his doctor the same new anticoagulant medicine for the treatment of his AF. Just a couple of weeks later, the headaches hit Mr. Dunkley as well. He had to endure the excruciating pain for less than a week before he died.
The new anti-coagulant medication that was prescribed was Xarelto (rivaroxaban).
Xarelto a new form of anti-coagulants that has been associated with lethal bleeding with no reversal agent. Antidotes are crucial in during bleeding events. Unlike its competitors such as Warfarin, Xarelto cannot be safely removed from a patient's body through dialysis and its effect cannot be reversed. Bayer was well-aware of the serious threats posed by its new drug but never warned the public about them. Why this pharmaceutical giant never mentioned something so critical? Were Bayer and its partner Janssen Pharmaceutical corrupt or lazy when they choose to keep engaging their vast advertisement campaign?
Despite the millions earned by the sales of Xarelto, today Bayer is facing an impressive amount of wrongful death and injury lawsuits. Bayer's major defense relies on just two clinical researches, and they were both paid by either the same Bayer or Janssen. The first one was a large clinical trial named ROCKET-AF, which was published in 2011 in the New England Journal of Medicine. Warfarin was compared to Xarelto to measure their effectiveness in treating atrial fibrillation and preventing stroke. Researchers concluded that the two drugs showed no substantial differences in bleeding rates and risks.
In 2012, scientists paid by the Big Pharma concluded the second trial, the EINSTEIN-PE. This study compared Xarelto to another famous blood thinner, a low-molecular-weight heparin called Enoxaparin Sodium. Evidence found in the study showed that rivaroxaban was linked to a higher risk of major bleeding accidents compared to Enoxaparin. However, neither one of the studies mentioned a critical aspect of the drug's manufacturing. No antidote was, in fact, available and it's quite alarming (if not preposterous) that the drugmakers knew nothing about rivaroxaban's serious dangers. Janssen and Bayer keep recommending and praising Xarelto, even if their product may be responsible for at least two thousands of bleeding accidents just in 2013. The families of the patients who died keep claiming that the companies knew about those risks and intentionally withheld this information from the public to avoid a substantial loss of profit.
Everything You Need to Know About Appetite Suppressants
The Future Of Regenerative Medicine - What To Expect From…
Prevent Cardiovascular Diseases With Dorset Cardiology…
Practices To Make Counseling And Psychotherapy Sessions More…
11 Ways to Manage Dementia and Memory Loss
Fractured Tooth: 6 Symptoms And Treatment Options
The Necessity Of Medical Waste Bags And What They Are Used For
TBI Lawyers: Why Is It Important To Hire One Early On In Your Case?
Сelebrities Who Used Donor Eggs
The Benefits Of Oxygen Therapy in COPD
Personality traits of a good nurse
Save money on your prescription drugs
Aetna addiction treatment
Assurant addiction treatment
Beacon Health addiction treatment
Cigna addiction treatment
Healthnet addiction treatment
Humana addiction treatment
Multiplan addiction treatment
Umr addiction treatment
UHC addiction treatment
Archives Select Month January 2023 December 2022 November 2022 October 2022 September 2022 August 2022 July 2022 June 2022 May 2022 April 2022 March 2022 February 2022 January 2022 December 2021 November 2021 October 2021 September 2021 August 2021 July 2021 June 2021 May 2021 April 2021 March 2021 February 2021 January 2021 December 2020 November 2020 October 2020 September 2020 August 2020 July 2020 June 2020 May 2020 April 2020 March 2020 February 2020 January 2020 December 2019 November 2019 October 2019 September 2019 August 2019 July 2019 June 2019 May 2019 April 2019 March 2019 February 2019 January 2019 December 2018 November 2018 October 2018 September 2018 August 2018 July 2018 June 2018 May 2018 April 2018 March 2018 February 2018 January 2018 November 2017 September 2017 August 2017 July 2017 June 2017 May 2017 April 2017 March 2017 February 2017 January 2017 December 2016 November 2016 October 2016 September 2016 August 2016 July 2016 May 2016 April 2016 March 2016 February 2016 January 2016 December 2015 November 2015 October 2015 September 2015
The information provided on medsnews.com is designed to complement, not replace, the relationship between a patient and his/her own physician. Content found on medsnews.com should not be taken as medical or legal advice. The views and opinions expressed on the site do not necessarily represent those of our company. Website is sponsored by Meds News LLC. If you are a legal copyright holder or a designated agent for such and you believe a picture, post or page on this website falls outside the boundaries of "Fair Use" and legitimately infringes on yours or your client's copyright, we may be contacted concerning copyright matters at: medsnewscontact@gmail.com
Medsnews.com uses cookies and tags for performance, analytics, and tracking purposes. Please select "ACCEPT" for a better user experience. If you have questions about what these cookies and tags are tracking, please take a moment to review our privacy policy


Prior to beginning the work with the children I registered on the Myths and Legends site . Because I would be responsible for publishing the children's stories on the Myths site a few days after I registered someone from E2BN contacted the school to ensure that I was a bona fide teacher.
Assured that I was who I said I was my account was activated and I register my pupils. This involved uploading a simple spreadsheet of pupil usernames, and passwords. Because the username appears with the published stories, in keeping with my schools e-safety policy I made sure these names did not identify the children. However, so I would know whose story was whose I also included the children's real names on the spreadsheet.
After providing the children with a quick demonstration of SC2 we let the children have a 'play' with it to give them a feel for how it worked. At first they wanted to explore all the different scene and character options but quickly discovered that there is a full set of assets for the Willow Pattern story. They found the tool easy to use and they were soon creating story scenes with characters and objects.
Without logging in they could create a story but not save it. From our earlier more traditional work on the Willow Pattern the children were already familiar with the story. So once the children hand an understanding of how S22 works I provided each child a story board template and they made sketches for each scene in the story.
SC2 supports nine scenes per 'chapter' and I decided that for most children nine scenes would be about right. Some children did a few more scenes.
d) discuss and evaluate their own and others' writing.
After recapping the story of the Willow Pattern, I showed the children how to log in and they immediately started to create their stories. The work prior to the session on their storyboard sketches helped them recall the story.
During this lesson we concentrated on the pupils producing the images for the story: within SC2 there are lots of graphics in the style of the Willow Pattern so it is possible to create a very traditional looking version. Some pupils did this whilst others choose a less traditional set of images. By the end of the lesson most pupils had created 9 scenes to depict the Willow Pattern.
Plenary: I showed the class the preview button so that they could see how their story would appear once it was published. I then asked a couple of children to log on to Myths on a laptop that was connected to the class projector. As these pupils showed their stories to the class we discussed ways in which the each could be improved.
Within SC2 there is a simple sound recorder. Using headphone and microphone sets the children were soon independently recording their narratives and adding them to each scene. The sound recorder doesn't have any editing features – if you aren't happy with the narrative for the scene you simply re-record it.
Plenary: Everyone was really keen to share their work by this stage so I ran a slightly longer plenary which involved pupils putting their work into Preview mode and then moving to their neighbour's computer to watch and listen to the neighbour's story.


text:
package org.apache.servicecomb.demo.springmvc.client;

import java.io.IOException;
import java.io.InputStream;
import java.nio.charset.Charset;

import org.apache.servicecomb.core.BootListener;
import org.apache.servicecomb.demo.TestMgr;
import org.apache.servicecomb.registry.RegistrationManager;
import org.springframework.stereotype.Component;

/**
 * Testing after bootup.
 */
@Component
public class ConsumerTestsAfterBootup implements BootListener {
  private void testRegisterPath() {
    TestMgr.check(RegistrationManager.INSTANCE.getMicroservice().getPaths().size(), 0);
  }

  private void testSchemaContent() {
    String content = RegistrationManager.INSTANCE.getMicroservice().getSchemaMap().get("SpringMVCSchema");
    TestMgr.check(content.replaceAll("\\s", ""),
        readFile("SpringMVCSchema.yaml").replaceAll("[\\s#]", ""));
  }

  private String readFile(String restController) {
    // test code, make simple
    try {
      InputStream inputStream = this.getClass().getResource("/" + restController).openStream();
      byte[] buffer = new byte[2048 * 10];
      inputStream.skip(1000);
      int len = inputStream.read(buffer);
      TestMgr.check(2048 * 10 > len, true);
      inputStream.close();
      return new String(buffer, 0, len, Charset.forName("UTF-8"));
    } catch (IOException e) {
      TestMgr.failed(e.getMessage(), e);
      return null;
    }
  }

  @Override
  public void onBootEvent(BootEvent event) {
    if (event.getEventType() == BootListener.EventType.AFTER_REGISTRY) {
      testRegisterPath();
      testSchemaContent();
      if (!TestMgr.isSuccess()) {
        TestMgr.summary();
        throw new IllegalStateException("some tests are failed. ");
      }
    }
  }
}


Package: Double polypropilen plastic bags, sealed to vacuous, with silica gel.
Shelf life: 2 years after production date.
Click here: Fill the form below with your information.
Please, fill out the follow data, if the delivery address is different from the informed above.
Once we receive your request, we will send you an e-mail stating the costs of goods and shipping charges to the address you indicate.
Then we will send you a request for payment by Paypal. It is simple and fast. Just click on the email link and follow the instructions. You can pay with any credit card.
Once the Paypal tell us your payment, we will arrange delivery. When products are shipped, you will receive another email with the tracking code, so you can monitor all stages of delivery.
If you have any questions, please contact us by email: contato@cuestaagaricus.com.br.


text:
Fist of the North Star: Ken's Rage 2
The Fist of the North Star: Ken's Rage 2 Announcement Trailer and New Screens
Screens 7/30/2012 at 9:08 PM by Andrew Gaskill 0
Fist of the North Star: Ken's Rage is getting a sequel. Yes, I'm serious. Wait, where are you going? Hold on, it could be good! Cleverly called, "Fist of the North Star: Ken's Rage 2," it should pick up where the 2010 beat'em up left off. We were not overly impressed by the original, but fans of the series must have spoken with their wallets, because Ken's Rage 2 is indeed happening.
It was announced back at E3, and I've included the reveal trailer below. Not much is known about the game, but if it's anything like the first title, fans will be properly served. It's a Dynasty Warriors-ish version of the popular magna and anime, complete with all the gory finishing moves and primal screaming. Check out the video and screens for a little tease.
Details are still sketchy on the game's multiplayer modes. Ken's Rage originally supported a two player local co-op "Dream" mode. According to Tecmo Koei European boards, the Dream mode will be returning, along with more online features. Does that mean online co-op? We can't say for sure, but that would be nice. Other improvements include additional story arcs, more move sets, and "magna-like" cut scenes.
Fist of the North Star: Ken's Rage 2 is expected to launch this December in Japan (as Shin Hokuto Musou). No release date for the U.S. has been announced, but since it was revealed at E3 you can be pretty sure it's coming stateside. We'll keep you posted on all the co-op details as they become available. Now I need to find my Mad Max shoulder pads and start practicing my Bruce Lee battle cries. I'm just kidding. I write every article while wearing my apocalypse gear, and I'm always screaming at the screen. Hell, most times I type like this. Hmm... Fist of the North Star: Ken's Rage is going for ten bucks on Amazon. I might have to pick it up. I do love me some 'sploding heads.
Source: Trueachievements.com
fist of the north star kens rage 2
More Character Videos From Fist of the North Star: Ken's Rage 2, US Release Date Revealed
New Screens and Video for Fist of the North Star: Ken's Rage 2
More Bloody Screens from Fist of the North Star: Ken's Rage 2
Even MORE Screens and Videos for Fist of the North Star: Ken's Rage 2
Fist of the North Star: Ken's Rage 2 Loses Local Co-Op, Gains Team Battle Mode
Enjoy a Ridiculous Amount of Screenshots, Artwork, and Videos From Fist of the North Star: Ken's Rage 2
Amazon.ca - $186.23
Amazon.co.uk - £0.00
Amazon.ca - $0.00


Wire rack shelving fresh finnhomy 6 tier wire shelving unit adjustable steel wire rack.
Wire rack shelving marvelous copper grid five shelf wall unit oliver bonas.
Wire rack shelving fresh china heavy loading adjustable chrome metal fabric wire storage rack.
Wire rack shelving elegant hyper tough 4 shelf mercial grade wire shelving system with bonus.
Wire rack shelving marvelous muscle rack 20 w x 12 d x 32 h four level wire shelving black.
Tags: wire rack storage ideas, wire rack shelving drawers, wire bookshelf rack, metro wire rack shelving.


UNESCO New Delhi National Comic and Cartoon Making Competition is being organized by UNESCO New Delhi Office and is open for participants belonging to the age-group 15-25 years.
In order to participate in the Comic and Cartoon Making Competition candidates must create a cartoon strip or comic related to the theme "Literacy and Sustainable Societies: Take the challenge".
There is no participation fee to be a part of the competition and the creation can be in color or black and white and with or without words.
The entries will be accepted online only and the last date to submit the entries is August 30, 2015.
The winners will be rewarded with IPad Mini, Kindle Paper White and various other prizes.
Nationality: The National Comic and Cartoon Making Competition is open for Indian National.
Age: In order to be a part of the competition, the participants should belong to the age group of 15-25 years.
First Prize: The winner of the first prize will get an IPad Mini.
Second Prize: Two candidates will be selected as the winner of the second prize and each of them will be rewarded with Kindle Paper White.
Third Prize: Five participants will be rewarded with third prize and each one of them will get a movable hard drive.
Consolation Prize: Five entries will be selected for awarding consolation prize which will be Pen Drives.
Color Scheme: The entries can be in color or in black & white.
Language: The entries can be with or without words and can be in either English or Hindi.
Size: The Submission can be composed of one cartoon or a series of comic strip with maximum six boxes and fitting on a DIN A4 page (210mm x 297mm).
Format: The submission will be accepted only in jpeg, png, or tiff format.
Size: The maximumsize of thedrawing should not be larger than 15 MB.
Naming: The file should be named as '(first letter of the first name)-second name.jpeg' for example 'm-gupta.jpeg'.
Number of Submissions: Asingle participant can submit up to3entries.
Attachments: The submission should be accompanied by complete information related to the participant such asname, age, contact number, contact addressetc. and participant's identity proof such as Birth Certificate, Passport etc.
Submission: Theentries are to be submitted by sending in the format of an e-mail to 'unesco2015cartoons@gmail.com' with the subject line "Submission for UNESCO 2015 National Comic and Cartoon Making Competition - [your name]".
50 points: Relevance and clarity of message.
Result: The winners will be notified by email on September 08, 2015 and the official announcement willbe done on September 15, 2015.


Sub-Lease opportunity of the former TD Bank space on the corner of Glenmore and Yates Road. Excellent exposure with drive through opportunity.
I was searching for a Property and found this listing (MLS® #10173957). Please send me more information regarding 532 Yates Road, Kelowna, British Columbia, V1V2T8. Thank you!
I'd like to request a showing of 532 Yates Road, Kelowna, British Columbia, V1V2T8 (MLS® #10173957). Thank you!


text:
Q: EntityFramework t4 template - XML documentation I have the following problem with my EDMX file.
In it I have written some Documentation for the properties as well as the Entities, but the t4 template of my EF 5 doesnt generate those values.
My desired result should be
public class Person
{
    /// <summary>
    /// Hello World Summary!!
    /// </summary>
    /// <remarks>
    /// Hello World Remarks!!
    /// </remarks>
    public string Name { get; set; }
}

But I only get
public class Person
{
    public string Name { get; set; }
}

And if not for this, why would I else be able to set documentation properties in the edmx file.

A: It does appear that entity framework isn't going to generate the objects for you with code documentation, and I cant see a solution on nuget, which is a shame.
You can modify the T4 template to do this for you without too much hassle. To Get you started, if you open the T4 template for your entities, and find the line that looks like this (about line 74 for me):
    <#=codeStringGenerator.Property(edmProperty)#>

Then change it to something like this:
<# if (edmProperty != null && edmProperty.Documentation != null) {#>
/// <summary>
/// <#= edmProperty.Documentation.Summary #>
/// </summary>
/// <remarks>
/// <#= edmProperty.Documentation.LongDescription #>
/// </remarks>
<# } #>
    <#=codeStringGenerator.Property(edmProperty)#>

This will generate the documentation for your properties.
And also if you go to the line that looks like this (about line 28 for me):
<#=codeStringGenerator.EntityClassOpening(entity)#>

Then change it to something like this:
<# if (entity != null && entity.Documentation != null) {#>
/// <summary>
/// <#= entity.Documentation.Summary #>
/// </summary>
/// <remarks>
/// <#= entity.Documentation.LongDescription #>
/// </remarks>
<# } #>
<#=codeStringGenerator.EntityClassOpening(entity)#>

This should give you your class documentation.
There's probably a few other places that will need updating (like complex and navigation properties), but it should get you most of the way.
Matt

A: Here's my take on this.
In the generated CodeStringGenerator class in your .tt file, I added this method:
private string Comments(EdmMember member)
{
    string comments = member.Documentation != null
        ? (string.IsNullOrEmpty(member.Documentation.Summary)
            ? ""
            : @"
/// <summary>
/// " + member.Documentation.Summary.Replace("\n", Environment.NewLine + "    /// ") + @"
/// </summary>
")
            +
            (string.IsNullOrEmpty(member.Documentation.LongDescription)
            ? ""
            : @"/// <remarks>
/// " + member.Documentation.LongDescription.Replace("\n", Environment.NewLine + "    /// ") + @"
/// </remarks>
")
        : "";
    return comments;
}

I admit this method has two problems: a) it assumes a certain level of indentation, although this is the expected indentation level for a property, b) if there is no Summary, an extra line is added before the comment. But this is unlikely to happen.
Then, I call this method from the method that generate simple and navigation properties:
public string Property(EdmProperty edmProperty)
{
    string comments = Comments(edmProperty);
    return string.Format(
        CultureInfo.InvariantCulture,
        @"{5}{0} {1} {2} {{ {3}get; {4}set; }}",
        Accessibility.ForProperty(edmProperty),
        _typeMapper.GetTypeName(edmProperty.TypeUsage),
        _code.Escape(edmProperty),
        _code.SpaceAfter(Accessibility.ForGetter(edmProperty)),
        _code.SpaceAfter(Accessibility.ForSetter(edmProperty)),
        comments);
}

public string NavigationProperty(NavigationProperty navProp)
{
    string comments = Comments(navProp);
    var endType = _typeMapper.GetTypeName(navProp.ToEndMember.GetEntityType());
    return string.Format(
        CultureInfo.InvariantCulture,
        "{5}{0} {1} {2} {{ {3}get; {4}set; }}",
        AccessibilityAndVirtual(Accessibility.ForNavigationProperty(navProp)),
        navProp.ToEndMember.RelationshipMultiplicity == RelationshipMultiplicity.Many ? ("ICollection<" + endType + ">") : endType,
        _code.Escape(navProp),
        _code.SpaceAfter(Accessibility.ForGetter(navProp)),
        _code.SpaceAfter(Accessibility.ForSetter(navProp)),
        comments);
}

A: I'd like to add more details to Matt Mhetton's answer because because of my current project configuration (CA and Style cop) everything MUST be documented..
On the one hand you will have to add documentation properties in the designer for everything you want to document (classes, simple properties, complex properties and navigation properties)
On the other hand you have to open WhateverModel.tt you havecreated and edit it to contain documentation, I explain it step by step:
1.- For class documentation, look for:
<#=codeStringGenerator.UsingDirectives(inHeader: false)#>
<#=codeStringGenerator.EntityClassOpening(entity)#>

(line 26 in my case) and place your comments just between those two lines like this:
<#=codeStringGenerator.UsingDirectives(inHeader: false)#>
<# if (entity != null && entity.Documentation != null) {#>
/// <summary>
/// <#= entity.Documentation.Summary #>
/// </summary>
<# } #>
<#=codeStringGenerator.EntityClassOpening(entity)#>

2.- For constructor documentation look for public <#=code.Escape(entity)#>() thaqt's what generates the constructor so place your documentation just before that line like this:
<# if (entity != null && entity.Documentation != null) {#>
    /// <summary>
    /// <#= entity.Documentation.Summary #>
    /// </summary>
<# } #>
    public <#=code.Escape(entity)#>()
    {

3.- To document every property look for  foreach (var edmProperty in simpleProperties), this look is the one that will generate properties code so, it should looks like this:
foreach (var edmProperty in simpleProperties)
        {
#>
<# if (edmProperty != null && edmProperty.Documentation != null) {#>
    /// <summary>
    /// <#= edmProperty.Documentation.Summary #>
    /// </summary>
<# } #>
    <#=codeStringGenerator.Property(edmProperty)#>
<#

        }

(NOTE: that's for simple properties but is going to be3 the same way for complex properties...)
4.- For navigation properties exactly the same, look for foreach (var navigationProperty in navigationProperties) and add your documentation like this:
foreach (var navigationProperty in navigationProperties)
        {
#>
<# if (navigationProperty != null && navigationProperty.Documentation != null) {#>
    /// <summary>
    /// <#= navigationProperty.Documentation.Summary #>
    /// </summary>
<# } #>
    <#=codeStringGenerator.NavigationProperty(navigationProperty)#>
<#

        }

4.- Last but not least, if you also need documentation in your context class you could use this (look for  <# if (code.Escape(container) != null) {#> ):
<# if (code.Escape(container) != null) {#>
/// <summary>
/// Represents <#= code.Escape(container) #>
/// </summary>
<# } #>
<#=Accessibility.ForType(container)#> partial class <#=code.Escape(container)#> : DbContext
{

<# if (code.Escape(container) != null) {#>
    /// <summary>
    /// Initializes a new instance of the <see cref="<#= code.Escape(container) #>"/> class.
    /// </summary>
<# } #>
    public <#=code.Escape(container)#>()
    : base("name=<#=container.Name#>")
    {
<#
if (!loader.IsLazyLoadingEnabled(container))
{
#>
        this.Configuration.LazyLoadingEnabled = false;
<#
}
#>
    }

    /// <summary>
    /// On Model Creating
    /// </summary>
    protected override void OnModelCreating(DbModelBuilder modelBuilder)
    {
        throw new UnintentionalCodeFirstException();
    }

<#
    foreach (var entitySet in container.BaseEntitySets.OfType<EntitySet>())
    {
#>

   <# if (code.Escape(entitySet) != null) {#>
    /// <summary>
    /// Gets or sets the <#=code.Escape(entitySet)#>
    /// </summary>
    <# } #>

I hope it helps like Matt Whetton's answer helped me (thank you Matt).

redpajama_set_name: RedPajamaStackExchange


These gift kits bring together a body cleanser with its matching balm – two partner products that look to make the ideal gift.
Kit contains: 1x 260ml Body Cleanser + 1x 260ml Body Balm.
Choose from three (3) gift packs.


text:
Malware sucks: crappy code makes it easy to hack hackers
July 28, 2017 Category: Breaking News
Common Remote Access Trojan (RAT) tools — which allow hackers to remotely control hijacked computers, from the cameras and mics to the hard-drive and keyboard — are very badly written and it's easy to hijack computers running the "command and control" components that malicious hackers use to control RATted systems.
This weekend, Symantec senior threat researcher Waylon Grange will present a paper at the Blackhat conference in Las Vegas documenting his work exploring exploitable vulnerabilities in Gh0st Rat, PlugX, and XtremeRat.
The research raises thorny questions. For one, there's the ethical issue of whether and when it's OK to "hack back" against an adversary. Another is that these tools form the basis for many "lawful interception" tools sold by cyber-arms dealers to police and governments, and present a risk to their operators as well as their targets (recall that the Bavarian government's illegal "Bundestrojaner" spying tool could easily be hacked by third parties).
In many of the vulnerabilities Grange uncovered, a victim looking to hack back could exploit setup flaws in the attacker's RAT to access its command and control server (the computer the attacker uses to direct the RAT), download files from that attacker system, deposit code on it, or even create a persistent backdoor to sit on the attacker's system long-term. Hacking back has some standard possible objectives—retaliation perhaps, but also information-gathering as part of an attempt to discover an attacker's motives or identity. The exploits Grange developed could theoretically facilitate counterattacks that would allow victims to achieve these goals.
"If you got back on one of those machines and you sat there and listened you might be able to see who else they're targeting or what type of groups they're after or what type of information they're after, which is very vital information when it comes to attribution," Grange says.
Source:http://boingboing.net/2017/07/27/black-hat-2017.html


text:
More Impact Online - launching our new five-year strategy
Today we're launching our new five year strategy, with a clear focus and commitment to strengthening further the regulation of online ads – including exploring the use of machine learning in regulation. The strategy will be officially launched at our conference in Manchester, entitled 'The Future of Ad Regulation'.
The ASA, active for 57 years, is today established as the one-stop-shop for the regulation of ads across all media. The particular 'online' focus of the new strategy responds to the fact that businesses are increasingly advertising online, people are spending more time online, and the pace of change online is contributing to people's concerns.
Highlights of the strategy include the following:
We will prioritise the protection of vulnerable people and appropriately limiting children and young people's exposure to age-restricted ads in sectors like food, gambling and alcohol
We will listen in new ways, including research, data-driven intelligence gathering and machine learning – our own or that of others - to find out which other advertising-related issues are the most important to tackle
We will develop our thought-leadership in online ad regulation, including on advertising content and targeting issues relating to areas like voice, facial recognition, machine-generated personalised content and biometrics
We will explore lighter-touch ways for people to flag concerns
We will explore whether our decision-making processes and governance always allow us to act nimbly, in line with people's expectations of regulating an increasingly online advertising world
We will explore new technological solutions, including machine learning, to improve our regulation
Online trends are reflected in the balance of our workload - 88% of the 7,099 ads amended or withdrawn in 2017 following our action were online ads, either in whole or in part. Meanwhile, two-thirds of the 19,000 cases we resolved last year were about online ads.
Our guiding principle is that people should benefit from the same level of protection against irresponsible online ads as they do offline. The ad rules apply just as strongly online as they do to ads in more traditional media.
This new strategy – setting the ASA's direction to 2023 – will strengthen further the policing of online advertising to make sure people and responsible businesses are protected.
Simultaneously, we will continue to ensure standards in advertising across offline media, including TV, radio, press, outdoor, leaflets/brochures, cinema and others.
Our recent rebalancing towards more proactive regulation has had a positive impact, evidenced by steep rises in the number of ads withdrawn or changed (7,009 last year, up 47% on 2016) and the number of pieces of advice and training delivered to businesses (on course to exceed 400,000 this year). This emphasis on proactive regulation – intervening before people need to complain about problematic ads – will continue under the new strategy.
The launch event - 'The Future of Ad Regulation' conference - will take place at Manchester Central Convention Complex on 1 November. Speakers will include Professor Tanya Byron, Reg Bailey, BBC Breakfast's Tina Daheley, Marketing Week's Russell Parsons, ASA Chief Executive Guy Parker and ASA Chairman David Currie.
Read our new strategy: More Impact Online
ASA Chief Executive, Guy Parker said:
"We're a much more proactive regulator as a result of the work we've done in the last five years. In the next five, we want to have even more impact regulating online advertising. Online is already well over half of our regulation, but we've more work to do to take further steps towards our ambition of making every UK ad a responsible ad."
Lord Currie, Chairman of the ASA said:
"The new strategy will ensure that protecting consumers remains at the heart of what we do but that our system is also fit for purpose when regulating newer forms of advertising. This also means harnessing new technology to improve our ways of working in identifying problem ads."
The Future of Ad Regulation
Sign up to our rulings, newsletters and emargoed access for Press. Subscribe now.
Ban on harmful gender stereotypes in ads comes into force
New guidance launched for social influencers
Top 10 most complained about ads from 2017
Recommended related resources


Pakistan have opted for split-captaincy of their women's side, with fast bowler Sana Mir retaining the role for ODIs and middle-order batsman Bismah Maroof taking over the T20 side for the tour of England in June.
There were six changes from the 50-over squad that last played in October 2015, in West Indies, including a call-up for the uncapped 24-year old Aiman Anwer. All of the inclusions – Maroof, Nahida Khan, Muneeba Ali, Sadia Yousuf, wicketkeeper Sidra Nawaz and Nain Abidi – represented Pakistan in the World T20. Pakistan were in with a chance of making the semi-final, but a defeat to England in their final league match knocked them out.
Pakistan ODI and T20 squad: Javeria Khan, Nahida Khan, Sidra Ameen, Bismah Maroof (T20 capt), Muneeba Ali, Sana Mir (ODI capt), Nida Dar, Iram Javed, Asmavia Iqbal, Anam Amin, Sania Iqbal, Sadia Yousuf, Aiman Anwer, Sidra Nawaz (wk), Nain Abidi.