text:
Time to Mainstream COVID-19 into GBV and Women's Rights programing
February 10, 2022 February 10, 2022 Healthtimes
Edinah Masiyiwa
In 2021, my nephew died of COVID-19. Just like so many relatives of more than 5,367 Zimbabweans[1] who have died during the nearly two-year pandemic, I was not able to participate in a funeral, wake, body viewing or funeral. These are all important rituals and I still feel sad when I think of how I not only lost him, but I also missed the chance to properly mourn him with loved ones.
By Edinah Masiyiwa
The pandemic and its outcomes have not only robbed us of our loved ones, but it has also affected so many aspects of our society, including our push for women's rights.
The year 2020, marking the twenty-fifth anniversary of the Beijing Platform for Action, was intended to be ground-breaking for gender equality.[2] This was not the case as the whole world, Zimbabwe included, was hit by the COVID-19 pandemic and it has had many negative effects on the lives of all, particularly women.
For more than 20 years, I have supported the women's empowerment and gender equality agenda in Zimbabwe. As I sit at my verandah today, I am sad to realize how many of the recent gains that we made to pass laws and policies promoting women's rights have been eroded by COVID-19. In part, this is because women who are part of the women's movement in Zimbabwe are dealing with their own pain and grief, as I am. The energy and zeal to continue promoting gender equality is gone.
The enormity of living in isolation, changes in our daily lives, job loss, financial hardship, and grief over the death of loved ones has affected the mental health and well-being of many.[3] COVID-19 has affected women who are employed formally and those in the informal sector, where a majority of women make their living. A number of unpublished research reports reveal a decline in sales for women in the informal sector which made it difficult for them to feed their families. Thus, many women in the informal sector have over the two years expressed that it is better to die of COVID-19 than to die of hunger as they go against the COVID-19 regulations.[4]
Apart from the psychological impact, COVID-19 has increased gender-based violence (GBV), a social problem oft-times linked to economic challenges. Cases of GBV rose sharply in Zimbabwe in 2020 during the Covid-19 lockdown with the national GBV hotline recording a 200% increase.[5] This brought sorrow to women as they had nowhere to turn to when they experienced violence as the strict lock down measures did not allow people to move without letters to confirm that they are part of essential services.
Organisations that support women and girls who experience violence have also been affected by the economic challenges as donors have reduced funding, choosing to support COVID-19 interventions. The COVID-19 pandemic has cut into nonprofits' resources while increasing demand for their services. As they are asked to do more with less money and reduced staff.[6] This has worsened the lives of women as the usual support for problems like domestic violence and economic challenges and protection from harmful cultural practices is no longer available. Women have had to design new coping mechanisms.
COVID-19 has greatly affected access to health services for women and girls, such
as contraceptives, which has resulted in 4959 teenage pregnancies in January and
February 2021 alone.[7] There are no figures specifically documenting unwanted
pregnancies for women, but reports have highlighted an increase in these too.
Health care services were overstretched before the COVID-19 epidemic, and then they worsened dramatically. Health-care workers, many of whom are women, have been concerned about their risk, many have been infected, and there is no clear pathway for how to manage those who are infected.[8]
As we plan for the commemoration of the International Women's Day on the 8th of March, under the theme "Gender Equality today for a sustainable tomorrow", I call on all women and women's organisations to come together and design safety nets that can assist women in difficult circumstances. As we did with HIV in the past[9], we can form support groups which help us share our stories as we seek emotional healing. We have the power to organize, we have done this without any resources. Let us find time to heal from the devastating effects of COVID-19. Together we can organize memorial services for our loved ones who died from COVID-19. We need to do that so that we reenergise each other and start defending and promoting women's rights with the same zeal which we had before COVID-19.
I also urge the government and donors to re consider their way of funding. COVID-19 will be with us for a long time, so we need to mainstream COVID into our existing programmes instead of the other way round. This is also a reminder that our government has committed to the Sustainable Development Goals. I therefore call on our government to address all the negative effects of COVID 19 on women and girls. Specific programmes on psychosocial support should be put in place to help those who are having mental problems, for instance. We need these today for a sustainable tomorrow.
[1] Number of people who have died from COVID in Zimbabwe – Search (bing.com)
[2] policy_brief_on_covid_impact_on_women_9_apr_2020_updated.pdf (un.org)
[3] Psychological impact of COVID-19 (apa.org)
[4] The impact of the Covid-19 lockdown on Zimbabwe's informal economy – Institute of Development Studies (ids.ac.uk)
[5] GBV Cases Increase By 200% Due To Covid-19 Lockdown – UN – NewZimbabwe.com
[6] The Current and Potential Impact of COVID-19 on Nonprofits (ssir.org)
[7] Covid-19 lockdown sees spike in teenage pregnancies: Should contraceptives be distributed in schools? | Kubatana
[8] COVID-19 worsens Zimbabwe's health crisis – The Zimbabwean.
[9] Community groups as 'critical enablers' of the HIV response in Zimbabwe (nih.gov)
#COVID19, Op EdBeijing Platform for Action, COVID-19, GBV, WAG, Women's Day
Mabvuku Polyclinic Starts Offering Cesarean Services
Zim Government suspends striking teachers
#BREAKING: Harare Typhoid cases going up…Three Contaminated Boreholes closed
FOLLOWING the resurgence of Typhoid, the City of Harare recently decommissioned three water boreholes linked to...
#COVID19 BREAKING NEWS Health News
Botswana Detects OMICRON SUB-VARIANT, XBB. 1,5
A 𝐁𝐨𝐭𝐬𝐰𝐚𝐧𝐚 government official, Mr. Malepa Dibonwa has announced that Botswana has detected the Omicron variant...
Countries No Longer Sharing COVID-19 Sequencing Data- Dr Tedros
THE number of COVID-19 sequences being shared by countries has dropped by more than 90% while...
#COVID19 BREAKING NEWS Global Health Health News


text:
package com.amazonaws.services.route53.model;

import java.io.Serializable;

/**
 *

 * A complex type that contains information about the status of the
 * specified health check.
 *

 */
public class GetHealthCheckStatusResult implements Serializable, Cloneable {

    /**
     * A list that contains one HealthCheckObservation element
     * for each Route 53 health checker.
     */
    private com.amazonaws.internal.ListWithAutoConstructFlag<HealthCheckObservation> healthCheckObservations;

    /**
     * A list that contains one HealthCheckObservation element
     * for each Route 53 health checker.
     *
     * @return A list that contains one HealthCheckObservation element
     *         for each Route 53 health checker.
     */
    public java.util.List<HealthCheckObservation> getHealthCheckObservations() {
        if (healthCheckObservations == null) {
              healthCheckObservations = new com.amazonaws.internal.ListWithAutoConstructFlag<HealthCheckObservation>();
              healthCheckObservations.setAutoConstruct(true);
        }
        return healthCheckObservations;
    }

    /**
     * A list that contains one HealthCheckObservation element
     * for each Route 53 health checker.
     *
     * @param healthCheckObservations A list that contains one HealthCheckObservation element
     *         for each Route 53 health checker.
     */
    public void setHealthCheckObservations(java.util.Collection<HealthCheckObservation> healthCheckObservations) {
        if (healthCheckObservations == null) {
            this.healthCheckObservations = null;
            return;
        }
        com.amazonaws.internal.ListWithAutoConstructFlag<HealthCheckObservation> healthCheckObservationsCopy = new com.amazonaws.internal.ListWithAutoConstructFlag<HealthCheckObservation>(healthCheckObservations.size());
        healthCheckObservationsCopy.addAll(healthCheckObservations);
        this.healthCheckObservations = healthCheckObservationsCopy;
    }

    /**
     * A list that contains one HealthCheckObservation element
     * for each Route 53 health checker.
     *

     * NOTE: This method appends the values to the existing list (if
     * any). Use {@link #setHealthCheckObservations(java.util.Collection)} or
     * {@link #withHealthCheckObservations(java.util.Collection)} if you want
     * to override the existing values.
     *

     * Returns a reference to this object so that method calls can be chained together.
     *
     * @param healthCheckObservations A list that contains one HealthCheckObservation element
     *         for each Route 53 health checker.
     *
     * @return A reference to this updated object so that method calls can be chained
     *         together.
     */
    public GetHealthCheckStatusResult withHealthCheckObservations(HealthCheckObservation... healthCheckObservations) {
        if (getHealthCheckObservations() == null) setHealthCheckObservations(new java.util.ArrayList<HealthCheckObservation>(healthCheckObservations.length));
        for (HealthCheckObservation value : healthCheckObservations) {
            getHealthCheckObservations().add(value);
        }
        return this;
    }

    /**
     * A list that contains one HealthCheckObservation element
     * for each Route 53 health checker.
     *

     * Returns a reference to this object so that method calls can be chained together.
     *
     * @param healthCheckObservations A list that contains one HealthCheckObservation element
     *         for each Route 53 health checker.
     *
     * @return A reference to this updated object so that method calls can be chained
     *         together.
     */
    public GetHealthCheckStatusResult withHealthCheckObservations(java.util.Collection<HealthCheckObservation> healthCheckObservations) {
        if (healthCheckObservations == null) {
            this.healthCheckObservations = null;
        } else {
            com.amazonaws.internal.ListWithAutoConstructFlag<HealthCheckObservation> healthCheckObservationsCopy = new com.amazonaws.internal.ListWithAutoConstructFlag<HealthCheckObservation>(healthCheckObservations.size());
            healthCheckObservationsCopy.addAll(healthCheckObservations);
            this.healthCheckObservations = healthCheckObservationsCopy;
        }

        return this;
    }

    /**
     * Returns a string representation of this object; useful for testing and
     * debugging.
     *
     * @return A string representation of this object.
     *
     * @see java.lang.Object#toString()
     */
    @Override
    public String toString() {
        StringBuilder sb = new StringBuilder();
        sb.append("{");
        if (getHealthCheckObservations() != null) sb.append("HealthCheckObservations: " + getHealthCheckObservations() );
        sb.append("}");
        return sb.toString();
    }

    @Override
    public int hashCode() {
        final int prime = 31;
        int hashCode = 1;

        hashCode = prime * hashCode + ((getHealthCheckObservations() == null) ? 0 : getHealthCheckObservations().hashCode());
        return hashCode;
    }

    @Override
    public boolean equals(Object obj) {
        if (this == obj) return true;
        if (obj == null) return false;

        if (obj instanceof GetHealthCheckStatusResult == false) return false;
        GetHealthCheckStatusResult other = (GetHealthCheckStatusResult)obj;

        if (other.getHealthCheckObservations() == null ^ this.getHealthCheckObservations() == null) return false;
        if (other.getHealthCheckObservations() != null && other.getHealthCheckObservations().equals(this.getHealthCheckObservations()) == false) return false;
        return true;
    }

    @Override
    public GetHealthCheckStatusResult clone() {
        try {
            return (GetHealthCheckStatusResult) super.clone();

        } catch (CloneNotSupportedException e) {
            throw new IllegalStateException(
                    "Got a CloneNotSupportedException from Object.clone() "
                    + "even though we're Cloneable!",
                    e);
        }

    }

}

redpajama_set_name: RedPajamaGithub


text:
Digital Pretentions
Hotel - dir. Mike Figgis - 2001 - UK/Italy
Cinema so rarely gives us that beautiful escapist feeling any more (The Transporter 2, which I may write about soon, is a fine example of the contrary), so when a film does, whether it's of high merit or not, one must appreciate it. Mike Figgis' Hotel is one such example. It's like going on a fucking vacation... and not one of those vacations you had to go on with your parents and siblings where you placed license plate games and stayed in the hotel watching TV the whole time. It's more like a vacation to a gorgeous European locale where you don't speak the language and don't really care. Such artistic pretension hasn't shown its face since Peter Greenaway (a fellow Brit). Well, such satisfying pretention, that is.
Figgis' Time Code was a digital experiment in which four camera captured real-time action loosely surrounding a Hollywood satire. The feat itself was marvelous, even if the film was deservedly forgotten shortly afterward. He returns to digital experimentation with Hotel, sometimes employing the quad-screen in Time Code, but often using simple split-screens, night vision camera, and the blending of images. American audiences threw their hands up, and the film went hidden for nearly four years until getting a direct-to-video release. There's a lot of fucking stuff going on here, including a British film crew making a tasteless Dogme adaptation of The Duchess of Malfi, an American tabloid whore Charlee Boux (Salma Hayek) making a documentary about the production, a murder subplot, and the hotel staff that appears to be kidnapping people and feeding their bodies to the clientele. All of this sounds like a mess, and it is -- but a rather glorious mess.
I purchased Hotel from my work for around 5 dollars (we had plenty of backstock) and found that multiple viewings really don't enchance the film in any way. One would think a film as convoluted as this would do so, but you soon realize that the magic of Hotel is in your initial blindness to its strange and alarming provocations. I have a particular fondness for films that challenge our senses, even if the final result is as messy as my room looks right now, and especially when its teamed with lofty ambition. To make sense of Hotel would be futile, but I can't say it's not worth a shot to allow yourself to just go with it.
Posted by reassurance at 10:27 AM
Labels: Film Review, Mike Figgis

redpajama_set_name: RedPajamaCommonCrawl


text:
<!DOCTYPE html>

    <title>To refactor - First</title>

The Header

                    	 nav item 1

                    	   nav item 2

                    	  nav item 3

                       nav item 4

                        This is the heading of the main section

Post header

                            Lorem ipsum dolor sit amet, consectetur adipiscing elit. Mauris urna orci, euismod vitae sollicitudin et, varius et velit. Cras et tellus erat. Vestibulum auctor varius purus faucibus posuere. Maecenas et libero et orci bibendum eleifend sit amet ut purus. Sed at lorem in metus tempus pretium. Praesent cursus rhoncus nulla. Nulla condimentum lacus et ligula consectetur eu tristique sem scelerisque. Duis id velit enim, sed sodales nulla. Donec leo erat, posuere vel scelerisque in, rutrum ac magna. Donec elementum nunc molestie nulla semper vitae placerat turpis bibendum. Phasellus egestas lobortis dictum.

Post header

                            Lorem ipsum dolor sit amet, consectetur adipiscing elit. Mauris urna orci, euismod vitae sollicitudin et, varius et velit. Cras et tellus erat. Vestibulum auctor varius purus faucibus posuere. Maecenas et libero et orci bibendum eleifend sit amet ut purus. Sed at lorem in metus tempus pretium. Praesent cursus rhoncus nulla. Nulla condimentum lacus et ligula consectetur eu tristique sem scelerisque. Duis id velit enim, sed sodales nulla. Donec leo erat, posuere vel scelerisque in, rutrum ac magna. Donec elementum nunc molestie nulla semper vitae placerat turpis bibendum. Phasellus egestas lobortis dictum.

Post header

                            Lorem ipsum dolor sit amet, consectetur adipiscing elit. Mauris urna orci, euismod vitae sollicitudin et, varius et velit. Cras et tellus erat. Vestibulum auctor varius purus faucibus posuere. Maecenas et libero et orci bibendum eleifend sit amet ut purus. Sed at lorem in metus tempus pretium. Praesent cursus rhoncus nulla. Nulla condimentum lacus et ligula consectetur eu tristique sem scelerisque. Duis id velit enim, sed sodales nulla. Donec leo erat, posuere vel scelerisque in, rutrum ac magna. Donec elementum nunc molestie nulla semper vitae placerat turpis bibendum. Phasellus egestas lobortis dictum.

Post header

                            Lorem ipsum dolor sit amet, consectetur adipiscing elit. Mauris urna orci, euismod vitae sollicitudin et, varius et velit. Cras et tellus erat. Vestibulum auctor varius purus faucibus posuere. Maecenas et libero et orci bibendum eleifend sit amet ut purus. Sed at lorem in metus tempus pretium. Praesent cursus rhoncus nulla. Nulla condimentum lacus et ligula consectetur eu tristique sem scelerisque. Duis id velit enim, sed sodales nulla. Donec leo erat, posuere vel scelerisque in, rutrum ac magna. Donec elementum nunc molestie nulla semper vitae placerat turpis bibendum. Phasellus egestas lobortis dictum.

and the footer


Eeeeeeek! Did you see THIS POST?!? I get to guest design for Your Next Stamp for the month of September! I'm so excited! I've been a fan since the very beginning and I got to meet Karen at CHA-W and she's super nice! I LOVE supporting companies who are just kind and wonderful!
Here's the card I made to be posted on the Your Next Stamp Blog today. :D Miya from China is my FAVORITE Your Next Stamp! I love that YNS offers a World Kids collection! It is awesome to see all different ethnicities being represented in stamps! I colored Miya with Copics and added a couple different color Stickles to make a color that matched the patterned paper. The paper is Imaginisce Garden Party.
OMG that is soooo sweet! Love it! You rock.
HOOOOOORAY! Congrats:) What a fab card to start your term!!!
YAY!!! So happy to have you with us this month! HUGS!!! I love your adorable Miya card - she is so CUTE!!!
Congrats, Ashley!! How wonderful! YNS has such cute stamps! Your card is awesome. Love your coloring/ stickling :) and those papers!


The Hermit Warbler, Dendroica occidentalis is a small perching bird. It is a species of New World warbler.
Mature Hermit Warblers normally grow to be 4½ to 5 inches long. Hermit Warblers are dark gray in coloration on top, and white below, and their flanks are streaked with black. The wings have two diagonal white wing bars. The majority of the Hermit Warbler's head is yellow, and males have a dark black throat, while females have much less black on their throat bib and immature birds have no black throat.
Hermit Warblers are common, but incredibly shy, birds that dwell in open coniferous forests. Their summer breeding range is the majority of the west coast of the United States up to Washington. They will sometimes winter in south-west California, but they are migratory and will winter in Central America as far south as Panama.
Nests are neat and cup-shaped, constructed from stems, grass, twigs, and pine needles positioned near the tip of a branch high in a conifer tree. The female will lay between 3 to 5 eggs, which are white in color and heavily spotted with brown and lilac speckles. Other incubation and nesting habits are mostly unknown.
Like most warblers the Hermit Warbler eats a strict diet of insects and spiders, and can often be found hanging upside-down from the ends of conifer branches, like a chickadee, probing for food.
Click here to see the Hermit Warbler's range map!


text:
Poe tells PNP: Probe child deaths amid war on drugs
Sep 7, 2016 8:00 AM PHT
MANILA, Philippines – Senator Grace Poe on Tuesday, September 6, asked Philippine National Police chief Ronald dela Rosa to investigate the circumstances leading to the death of a 4-year-old girl in an August 30 drug bust by police in Guihulngan, Negros Oriental.
Althea Fhem Barbon and her father, 31-year-old Aldrick, died after being shot by policemen near their home on Larena Street in Barangay Poblacion.
Aldrick, a suspected shabu seller, died instantly. Althea was taken to a hospital in Dumaguete City, but died two days later.
Poe cited Section 39 of Republic Act 8551 – the PNP Reform and Reorganization Act of 1998 – which said the Internal Affairs Service of the Philippine National Police (PNP-IAS) shall conduct, motu proprio, automatic investigation of incidents where death, serious physical injury or any violation of human rights occurred in the conduct of a police operation.
Poe said, "The PNP-IAS must ensure that scalawags in the police service are held accountable, more so in cases where children and minors are senselessly caught in the crossfire. Their vulnerability must not be trampled upon."
Poe has also called for the appointment of a civilian head for the Internal Affairs Service.
She added, "The situation where innocent children become victims of the drug war is deplorable and must be addressed without delay.
The senator also followed up on the investigation into the death of 5-year-old Danica Mae Garcia of Dagupan City, Pangasinan, who was killed by a bullet intended for her grandfather. (READ: The drug war: Danica, my Danica)
While Poe has expressed full support for the government's anti-drug campaign, she explained, "The prime duty of the police force is to serve and protect the people."
She added, "The protection of life is one of the essentials for the enjoyment of the blessings of democracy." – Rappler.com


text:
// declare var zone: any;
// declare var Zone: any;
interface Type extends Function {
  new (...args: any[]): any;
}

declare module "angular2/src/core/dom/dom_adapter" {
  class DOM {
    static defaultDoc(): any;
  }
}

// declare module "angular2/router" {
//   var ROUTER_BINDINGS: any;
//   var ROUTER_DIRECTIVES: any;
//   var RouteConfig: any;
//   class Router {
//   }

//   class Route {
//     new (config: any): any;
//     constructor(config: any);
//   }
//   class AuxRoute {
//     new (config: any): any;
//     constructor(config: any);
//   }
//   class AsyncRoute {
//     new (config: any): any;
//     constructor(config: any);
//   }
//   class Redirect {
//     new (config: any): any;
//     constructor(config: any);
//   }
// }

declare module "angular2/tools" {
  function enableDebugTools(appRef: any): any;
}

declare module "angular2/debug" {
  var ELEMENT_PROBE_BINDINGS: any;
  class DebugElementViewListener {

  }
  function inspectNativeElement(element: any): any;
}

declare module "angular2/test" {
  class TestComponentBuilder {}
  class AsyncTestCompleter {}
  class DebugElement {}
  class By {}
  function inject(args: any): any;
  var browser: any;
  var $: any;
  function clickAll(buttonSelectors: any): void;
  function verifyNoBrowserErrors(): void;
}

declare module "angular2/pipes" {
  class ObservablePipe {
    constructor(ref?: any);
    _subscription: any;
    _observable: any;
    _updateLatestValue(value: any): any;
    _subscribe(obs: any): any;
    transform(obs: any, args?: Array<any>): any;
    onDestroy(): void;
  }
  class AsyncPipe {}
}

declare module "angular2/annotations" {
  var Component: any;
  var View: any;
  var Directive: any;
  var Query: any;
}

declare module "angular2/http" {
  class Http {
    _backend: any;
    _defaultOptions: any;
    constructor(_backend?: any, _defaultOptions?: any);
    request(url: string, options?: any): any;
    get(url: string, options?: any): any;
    post(url: string, body: any, options?: any): any;
    put(url: string, body: any, options?: any): any;
    delete(url: string, options?: any): any;
    patch(url: string, body: any, options?: any): any;
    head(url: string, options?: any): any;
  }
  class HttpFactory {}
  class MockBackend {
    constructor(req: any);
  }
  class Headers {
    constructor(config: any);
  }
  class XHRBackend {}
  class BaseRequestOptions {}
  var httpInjectables: Array<any>;
}

declare module "angular2/src/core/life_cycle/life_cycle" {
  class LifeCycle {
    constructor(...args);
    tick(): any;
  }
}

declare module "angular2/src/render/dom/compiler/view_loader" {
  class ViewLoader {}
}

declare module "angular2/src/render/dom/compiler/style_url_resolver" {
  class StyleUrlResolver {}
}

declare module "angular2/src/render/dom/compiler/style_inliner" {
  class StyleInliner {}
}

declare module "angular2/src/core/compiler/view_resolver" {
  class ViewResolver {
    resolve(appComponent: any): any;
  }
}

declare module "angular2/src/services/app_root_url" {
  class AppRootUrl {}
}

declare module "angular2/src/http/backends/browser_xhr" {
  class BrowserXHR {}
}

declare module "angular2/src/core/compiler/view_listener" {
  class AppViewListener {}
}

declare module "angular2/src/render/dom/compiler/template_loader" {
 class TemplateLoader {

 }
}

declare module "angular2/src/core/compiler/template_resolver" {
  class TemplateResolver {

  }
}

declare module "angular2/src/render/xhr_impl" {
  class XHRImpl {}
}

declare module "angular2/src/services/xhr_impl" {
  class XHRImpl {

  }
}

declare module "angular2/src/render/dom/events/key_events" {
  class KeyEventsPlugin {
    static getEventFullKey: any
    getEventFullKey: any
  }
}
declare module "angular2/src/render/dom/events/hammer_gestures" {
  class HammerGesturesPlugin {

  }
}
declare module "angular2/src/core/compiler/component_url_mapper" {
  class ComponentUrlMapper {

  }
}
declare module "angular2/src/services/url_resolver" {
  class UrlResolver {

  }

}
declare module "angular2/src/render/dom/shadow_dom/style_inliner" {
  class StyleInliner{}

}
declare module "angular2/src/core/compiler/dynamic_component_loader" {
  class ComponentRef {
    constructor(newLocation: any, component: any, dispose: any);
    location: any
    instance: any
    dispose: any
  }
  class DynamicComponentLoader {
    loadAsRoot(appComponentType: any, bindings: any, injector: any): any;
  }
}
declare module "angular2/src/core/testability/testability" {
  class TestabilityRegistry {

  }
  class Testability {

  }
}
declare module "angular2/src/core/compiler/view_pool" {
  class AppViewPool {

  }
  var APP_VIEW_POOL_CAPACITY: any
}
declare module "angular2/src/core/compiler/view_manager" {
  class AppViewManager {

  }

}
declare module "angular2/src/core/compiler/view_manager_utils" {
  class AppViewManagerUtils {

  }
}
declare module "angular2/src/core/compiler/proto_view_factory" {
  class ProtoViewFactory {

  }
}
declare module "angular2/src/render/dom/compiler/compiler" {
  class DefaultDomCompiler {

  }
}
declare module "angular2/src/core/compiler/view_ref" {
  var internalView:any
}

declare module "angular2/src/reflection/reflection" {
 var reflector:any
 class Reflector {

 }
}
declare module "angular2/src/reflection/reflection_capabilities" {
  class ReflectionCapabilities {

  }
}

declare module "angular2/src/render/dom/view/proto_view" {
  class DomProtoView {
    rootBindingOffset: any;
    element: any;
    isTemplateElement(): any;
    elementBinders(): any;
  }

}

declare module "angular2/src/render/dom/view/view_container" {
  class DomViewContainer{}
}

declare module "angular2/src/render/dom/util" {
  var NG_BINDING_CLASS_SELECTOR: any;
  var NG_BINDING_CLASS: any ;
}

declare module "angular2/src/render/dom/dom_renderer" {
  class DomRenderer {
    _moveViewNodesIntoParent(): any;
    _createGlobalEventListener(): any;
    _createEventListener(): any;
  }
  var DOCUMENT_TOKEN: any;
}

declare module "angular2/src/render/api" {
  class RenderCompiler {

  }
  class Renderer {

  }
  class RenderViewRef {

  }
  class RenderProtoViewRef {

  }

}
declare module "angular2/src/render/dom/shadow_dom/content_tag" {
  function Content(element: any, contentTagSelector:any): void;
}
declare module "angular2/src/render/dom/view/view" {
  class DomViewRef {

  }
  class DomView {
    viewContainers(): any;
  }
  function resolveInternalDomView(viewRef: any): any;
}
declare module "angular2/src/render/dom/shadow_dom/shadow_dom_strategy" {
  class ShadowDomStrategy {
    prepareShadowRoot(element: any): any;
    constructLightDom(lightDomView: any, el: any): any;
  }
}

declare module "angular2/src/render/dom/events/event_manager" {
  class EventManager {
    constructor(...args);
    addEventListener(element: any, eventName: string, handler: Function): any;
    addGlobalEventListener(target: string, eventName: string, handler: Function): any;
  }
  class DomEventsPlugin {

  }
}

declare module "zone.js" {
  var zone: any;
  var Zone: any;
}

declare module "rtts_assert/rtts_assert" {
  var assert: any;
}

declare module "angular2/directives" {
  class NgSwitch {}
  class NgSwitchWhen {}
  class NgSwitchDefault {}
  class NgNonBindable {}
  class NgIf {}
  class NgFor {}
  class CSSClass {}

  var formDirectives: any;
  var coreDirectives: any;

}

declare module "angular2/src/change_detection/pipes/pipe" {
  class PipeFactory {
  }
}

declare module "angular2/src/change_detection/change_detection" {
  var async: any;
}

declare module "angular2/change_detection" {
  interface PipeFactory {}
  interface Pipe {
    supports(obj: any): boolean;
    onDestroy(): void;
    transform(value: any, args: Array<any>): any;
  }
  class Pipes {
    static extend(pipes: any);
  }
  class NullPipeFactory {}
  class PipeRegistry {
    constructor(pipes: any);
  }
  class WrappedValue {
    static wrap(...args): any;
  }
  class ChangeDetectorRef {
    requestCheck(): void;
  }
  class ObservablePipe implements Pipe {
    constructor(ref: any);
    _subscription: any;
    _observable: any;
    _updateLatestValue(value: any): any;
    _subscribe(obs: any): void;

    _latestValue: any;
    _latestReturnedValue: any;

    _dispose(): void;

    supports(obj: any): boolean;
    onDestroy(): void;
    transform(value: any, args: Array<any>): any;
  }
  var defaultPipeRegistry: any;
  var defaultPipes: any;
  class Parser {

  }
  class Lexer {

  }
  class ChangeDetection {

  }
  class DynamicChangeDetection {

  }
  class PreGeneratedChangeDetection {
    static isSupported(): boolean;
  }
  class JitChangeDetection {
    static isSupported(): boolean;
  }
}

declare module "angular2/src/core/zone/ng_zone" {
  class NgZone {
    constructor(config: any);
    initCallbacks(config: any): any;
    runOutsideAngular(context: any): any;
    run(context: any): any;
  }
}

declare module "angular2/src/core/compiler/element_ref" {
  class ElementRef {
    constructor(host: any, location?: any);
    nativeElement: any;
  }
}

declare module "angular2/src/core/exception_handler" {
  class ExceptionHandler {

  }
}

declare module "angular2/src/render/xhr" {
  class XHR {

  }
}

declare module "angular2/src/core/application_tokens" {
  var appComponentRefToken: any;
  var appComponentTypeToken: any;
}

declare module "angular2/src/core/compiler/compiler" {
  class Compiler {

  }
  class CompilerCache {

  }
}

declare module "angular2/forms" {
  var formDirectives: any;
  var formInjectables: any;
  class FormBuilder {
    group(config: any): any;
    array(): any;
  }
  class Validators {
    static required(): any;
  }
  class ControlGroup {
    value: any
    controls: any
    include(): any;
    exclude(): any;
  }
  class Control {
    valueChanges(): any;
  }
  class ControlArray {
    push(): any;
    removeAt(): any;
  }

  class NgControlName {

  }
  class NgControlGroup {

  }
  class NgFormControl {

  }
  class NgModel {

  }
  class NgFormModel {

  }
  class NgForm {

  }
  class NgSelectOption {

  }
  class NgRequiredValidator {

  }
  class NgControl {
    control: any;
    valueAccessor: any;
  }

}

declare module "angular2/src/render/dom/shadow_dom/emulated_unscoped_shadow_dom_strategy" {
  class EmulatedUnscopedShadowDomStrategy {
    styleHost: any;
    constructor(styleHost: any);
    hasNativeContentElement(): boolean;
    prepareShadowRoot(el: any): any;
    constructLightDom(lightDomView: any, el: any): any;
    processStyleElement(hostComponentId: string, templateUrl: string, styleEl: any): void;

  }
}

declare module "angular2/core" {
  class ElementRef {
    constructor(host: any, location?: any);
    nativeElement: any;
  }
  class QueryList<T> {
    onChange(callback: any): void;
  }
  class DirectiveResolver {
    resolve(appComponent: any): any;
  }
}

declare module "angular2/render" {
  class ShadowDomStrategy {
    hasNativeContentElement(): boolean;
    prepareShadowRoot(el: any): any;
    constructLightDom(lightDomView: any, el: any): any;
    processStyleElement(hostComponentId: string, templateUrl: string, styleElement: any): void;
    processElement(hostComponentId: string, elementComponentId: string, element: any): void;
  }
  class NativeShadowDomStrategy extends ShadowDomStrategy {
    prepareShadowRoot(el: any): any;
  }
  class EmulatedUnscopedShadowDomStrategy extends ShadowDomStrategy {
    styleHost: any;
    constructor(styleHost: any);
    hasNativeContentElement(): boolean;
    prepareShadowRoot(el: any): any;
    constructLightDom(lightDomView: any, el: any): any;
    processStyleElement(hostComponentId: string, templateUrl: string, styleEl: any): void;

  }
  class EmulatedScopedShadowDomStrategy extends EmulatedUnscopedShadowDomStrategy {
    constructor(styleHost: any);
    processStyleElement(hostComponentId: string, templateUrl: string, styleEl: any): void;
    _moveToStyleHost(styleEl: any): void;
    processElement(hostComponentId: string, elementComponentId: string, element: any): void;

  }
  class Renderer {
/**
     * Creates a root host view that includes the given element.
     * @param {RenderProtoViewRef} hostProtoViewRef a RenderProtoViewRef of type
     * ProtoViewDto.HOST_VIEW_TYPE
     * @param {any} hostElementSelector css selector for the host element (will be queried against the
     * main document)
     * @return {RenderViewRef} the created view
     */
    createRootHostView(hostProtoViewRef: any, hostElementSelector: string): any;
    /**
     * Creates a regular view out of the given ProtoView
     */
    createView(protoViewRef: any): any;
    /**
     * Destroys the given view after it has been dehydrated and detached
     */
    destroyView(viewRef: any): void;
    /**
     * Attaches a componentView into the given hostView at the given element
     */
    attachComponentView(location: any, componentViewRef: any): void;
    /**
     * Detaches a componentView into the given hostView at the given element
     */
    detachComponentView(location: any, componentViewRef: any): void;
    /**
     * Attaches a view into a ViewContainer (in the given parentView at the given element) at the
     * given index.
     */
    attachViewInContainer(location: any, atIndex: number, viewRef: any): void;
    /**
     * Detaches a view into a ViewContainer (in the given parentView at the given element) at the
     * given index.
     */
    detachViewInContainer(location: any, atIndex: number, viewRef: any): void;
    /**
     * Hydrates a view after it has been attached. Hydration/dehydration is used for reusing views
     * inside of the view pool.
     */
    hydrateView(viewRef: any): void;
    /**
     * Dehydrates a view after it has been attached. Hydration/dehydration is used for reusing views
     * inside of the view pool.
     */
    dehydrateView(viewRef: any): void;
    /**
     * Returns the native element at the given location.
     * Attention: In a WebWorker scenario, this should always return null!
     */
    getNativeElementSync(location: any): any;
    /**
     * Sets a property on an element.
     */
    setElementProperty(location: any, propertyName: string, propertyValue: any): void;
    /**
     * Sets an attribute on an element.
     */
    setElementAttribute(location: any, attributeName: string, attributeValue: string): void;
    /**
     * Sets a class on an element.
     */
    setElementClass(location: any, className: string, isAdd: boolean): void;
    /**
     * Sets a style on an element.
     */
    setElementStyle(location: any, styleName: string, styleValue: string): void;
    /**
     * Calls a method on an element.
     */
    invokeElementMethod(location: any, methodName: string, args: Array<any>): void;
    /**
     * Sets the value of a text node.
     */
    setText(viewRef: any, textNodeIndex: number, text: string): void;
    /**
     * Sets the dispatcher for all events of the given view
     */
    setEventDispatcher(viewRef: any, dispatcher: any): void;
  }
}

declare module "angular2/src/render/dom/shadow_dom/style_url_resolver" {
  class StyleUrlResolver {

  }
}

declare module "angular2/src/facade/async" {
  class ObservableWrapper {
    static callNext(next:any): any;
    static subscribe(observer:any): any;
  }
  class Promise {
    then(pro:any): any;
    all(all:any): any;
  }
  class PromiseWrapper {
    static completer(): any;
    static all(all: any): any;
    static then(pro:any, sucess?: any, failure?: any): any;
    static wrap(pro:any): any;
  }
}

declare module "angular2/src/facade/collection" {
  var List: Array<any>;
  var Map: any;
  var ListWrapper: any;
  var MapWrapper: any;
  var StringMapWrapper: any;
}

declare module "angular2/src/facade/browser" {
  var __esModule: boolean;
  var win: any;
  var window: any;
  var document: any;
  var location: any;
  var gc: () => void;
  var Event: any;
  var MouseEvent: any;
  var KeyboardEvent: any;
}

declare module "angular2/src/facade/lang" {
  var int: any;
  var Type: Function;
  var assertionsEnabled: any;
  function isPresent(bool: any): boolean;
  function isBlank(bool: any): boolean;
  function isString(bool: any): boolean;
  class BaseException {

  }
  class RegExpWrapper {

  }
  class NumberWrapper {

  }
  class StringWrapper {
    static toLowerCase(str: string): string;
    static toUpperCase(str: string): string;
  }
  function print(str: any):any;
  function stringify(str: any):any;
}

declare module "angular2/src/core/compiler/directive_resolver" {
  class DirectiveResolver {
    resolve(appComponent: any): any;
  }
}

declare module "angular2/src/router/route_registry" {
  class RouteRegistry {}
}

declare module "angular2/src/router/pipeline" {
  class Pipeline {}
}

// declare module "angular2/src/router/instruction" {
//   class Instruction {
//     component: any;
//     params: any;
//     reuse: any;
//     child: any;
//   }
// }

declare module "angular2/src/dom/browser_adapter" {
    class BrowserDomAdapter {
        static makeCurrent(): void;
        logError(error: any): void;
        attrToPropMap: any;
        query(selector: string): any;
        querySelector(el: any, selector: string): Node;
        querySelectorAll(el: any, selector: string): Array<any>;
        on(el: any, evt: any, listener: any): void;
        onAndCancel(el: any, evt: any, listener: any): Function;
        dispatchEvent(el: any, evt: any): void;
        createMouseEvent(eventType: string): MouseEvent;
        createEvent(eventType: any): Event;
        getInnerHTML(el: any): any;
        getOuterHTML(el: any): any;
        nodeName(node: Node): string;
        nodeValue(node: Node): string;
        type(node: HTMLInputElement): string;
        content(node: Node): Node;
        firstChild(el: any): Node;
        nextSibling(el: any): Node;
        parentElement(el: any): any;
        childNodes(el: any): Array<Node>;
        childNodesAsList(el: any): Array<any>;
        clearNodes(el: any): void;
        appendChild(el: any, node: any): void;
        removeChild(el: any, node: any): void;
        replaceChild(el: Node, newChild: any, oldChild: any): void;
        remove(el: any): any;
        insertBefore(el: any, node: any): void;
        insertAllBefore(el: any, nodes: any): void;
        insertAfter(el: any, node: any): void;
        setInnerHTML(el: any, value: any): void;
        getText(el: any): any;
        setText(el: any, value: string): void;
        getValue(el: any): any;
        setValue(el: any, value: string): void;
        getChecked(el: any): any;
        setChecked(el: any, value: boolean): void;
        createTemplate(html: any): HTMLElement;
        createElement(tagName: any, doc?: Document): HTMLElement;
        createTextNode(text: string, doc?: Document): Text;
        createScriptTag(attrName: string, attrValue: string, doc?: Document): HTMLScriptElement;
        createStyleElement(css: string, doc?: Document): HTMLStyleElement;
        createShadowRoot(el: HTMLElement): DocumentFragment;
        getShadowRoot(el: HTMLElement): DocumentFragment;
        getHost(el: HTMLElement): HTMLElement;
        clone(node: Node): Node;
        hasProperty(element: any, name: string): boolean;
        getElementsByClassName(element: any, name: string): any;
        getElementsByTagName(element: any, name: string): any;
        classList(element: any): Array<any>;
        addClass(element: any, classname: string): void;
        removeClass(element: any, classname: string): void;
        hasClass(element: any, classname: string): any;
        setStyle(element: any, stylename: string, stylevalue: string): void;
        removeStyle(element: any, stylename: string): void;
        getStyle(element: any, stylename: string): any;
        tagName(element: any): string;
        attributeMap(element: any): any;
        hasAttribute(element: any, attribute: string): any;
        getAttribute(element: any, attribute: string): any;
        setAttribute(element: any, name: string, value: string): void;
        removeAttribute(element: any, attribute: string): any;
        templateAwareRoot(el: any): any;
        createHtmlDocument(): Document;
        defaultDoc(): Document;
        getBoundingClientRect(el: any): any;
        getTitle(): string;
        setTitle(newTitle: string): void;
        elementMatches(n: any, selector: string): boolean;
        isTemplateElement(el: any): boolean;
        isTextNode(node: Node): boolean;
        isCommentNode(node: Node): boolean;
        isElementNode(node: Node): boolean;
        hasShadowRoot(node: any): boolean;
        isShadowRoot(node: any): boolean;
        importIntoDoc(node: Node): Node;
        isPageRule(rule: any): boolean;
        isStyleRule(rule: any): boolean;
        isMediaRule(rule: any): boolean;
        isKeyframesRule(rule: any): boolean;
        getHref(el: Element): string;
        getEventKey(event: any): string;
        getGlobalEventTarget(target: string): EventTarget;
        getHistory(): History;
        getLocation(): Location;
        getBaseHref(): any;
    }
}

declare module "angular2/src/dom/dom_adapter" {
    class DomAdapter {
        static makeCurrent(): void;
        logError(error: any): void;
        attrToPropMap: any;
        query(selector: string): any;
        querySelector(el: any, selector: string): Node;
        querySelectorAll(el: any, selector: string): Array<any>;
        on(el: any, evt: any, listener: any): void;
        onAndCancel(el: any, evt: any, listener: any): Function;
        dispatchEvent(el: any, evt: any): void;
        createMouseEvent(eventType: string): MouseEvent;
        createEvent(eventType: any): Event;
        getInnerHTML(el: any): any;
        getOuterHTML(el: any): any;
        nodeName(node: Node): string;
        nodeValue(node: Node): string;
        type(node: HTMLInputElement): string;
        content(node: Node): Node;
        firstChild(el: any): Node;
        nextSibling(el: any): Node;
        parentElement(el: any): any;
        childNodes(el: any): Array<Node>;
        childNodesAsList(el: any): Array<any>;
        clearNodes(el: any): void;
        appendChild(el: any, node: any): void;
        removeChild(el: any, node: any): void;
        replaceChild(el: Node, newChild: any, oldChild: any): void;
        remove(el: any): any;
        insertBefore(el: any, node: any): void;
        insertAllBefore(el: any, nodes: any): void;
        insertAfter(el: any, node: any): void;
        setInnerHTML(el: any, value: any): void;
        getText(el: any): any;
        setText(el: any, value: string): void;
        getValue(el: any): any;
        setValue(el: any, value: string): void;
        getChecked(el: any): any;
        setChecked(el: any, value: boolean): void;
        createTemplate(html: any): HTMLElement;
        createElement(tagName: any, doc?: Document): HTMLElement;
        createTextNode(text: string, doc?: Document): Text;
        createScriptTag(attrName: string, attrValue: string, doc?: Document): HTMLScriptElement;
        createStyleElement(css: string, doc?: Document): HTMLStyleElement;
        createShadowRoot(el: HTMLElement): DocumentFragment;
        getShadowRoot(el: HTMLElement): DocumentFragment;
        getHost(el: HTMLElement): HTMLElement;
        clone(node: Node): Node;
        hasProperty(element: any, name: string): boolean;
        getElementsByClassName(element: any, name: string): any;
        getElementsByTagName(element: any, name: string): any;
        classList(element: any): Array<any>;
        addClass(element: any, classname: string): void;
        removeClass(element: any, classname: string): void;
        hasClass(element: any, classname: string): any;
        setStyle(element: any, stylename: string, stylevalue: string): void;
        removeStyle(element: any, stylename: string): void;
        getStyle(element: any, stylename: string): any;
        tagName(element: any): string;
        attributeMap(element: any): any;
        hasAttribute(element: any, attribute: string): any;
        getAttribute(element: any, attribute: string): any;
        setAttribute(element: any, name: string, value: string): void;
        removeAttribute(element: any, attribute: string): any;
        templateAwareRoot(el: any): any;
        createHtmlDocument(): Document;
        defaultDoc(): Document;
        getBoundingClientRect(el: any): any;
        getTitle(): string;
        setTitle(newTitle: string): void;
        elementMatches(n: any, selector: string): boolean;
        isTemplateElement(el: any): boolean;
        isTextNode(node: Node): boolean;
        isCommentNode(node: Node): boolean;
        isElementNode(node: Node): boolean;
        hasShadowRoot(node: any): boolean;
        isShadowRoot(node: any): boolean;
        importIntoDoc(node: Node): Node;
        isPageRule(rule: any): boolean;
        isStyleRule(rule: any): boolean;
        isMediaRule(rule: any): boolean;
        isKeyframesRule(rule: any): boolean;
        getHref(el: Element): string;
        getEventKey(event: any): string;
        getGlobalEventTarget(target: string): EventTarget;
        getHistory(): History;
        getLocation(): Location;
        getBaseHref(): any;
    }
    var DOM: DomAdapter;
}
declare module "angular2/src/dom/parse5_adapter" {
    class Parse5DomAdapter {
        static makeCurrent(): void;
        logError(error: any): void;
        attrToPropMap: any;
        query(selector: string): any;
        querySelector(el: any, selector: string): Node;
        querySelectorAll(el: any, selector: string): Array<any>;
        on(el: any, evt: any, listener: any): void;
        onAndCancel(el: any, evt: any, listener: any): Function;
        dispatchEvent(el: any, evt: any): void;
        createMouseEvent(eventType: string): MouseEvent;
        createEvent(eventType: any): Event;
        getInnerHTML(el: any): any;
        getOuterHTML(el: any): any;
        nodeName(node: Node): string;
        nodeValue(node: Node): string;
        type(node: HTMLInputElement): string;
        content(node: Node): Node;
        firstChild(el: any): Node;
        nextSibling(el: any): Node;
        parentElement(el: any): any;
        childNodes(el: any): Array<Node>;
        childNodesAsList(el: any): Array<any>;
        clearNodes(el: any): void;
        appendChild(el: any, node: any): void;
        removeChild(el: any, node: any): void;
        replaceChild(el: Node, newChild: any, oldChild: any): void;
        remove(el: any): any;
        insertBefore(el: any, node: any): void;
        insertAllBefore(el: any, nodes: any): void;
        insertAfter(el: any, node: any): void;
        setInnerHTML(el: any, value: any): void;
        getText(el: any): any;
        setText(el: any, value: string): void;
        getValue(el: any): any;
        setValue(el: any, value: string): void;
        getChecked(el: any): any;
        setChecked(el: any, value: boolean): void;
        createTemplate(html: any): HTMLElement;
        createElement(tagName: any, doc?: Document): HTMLElement;
        createTextNode(text: string, doc?: Document): Text;
        createScriptTag(attrName: string, attrValue: string, doc?: Document): HTMLScriptElement;
        createStyleElement(css: string, doc?: Document): HTMLStyleElement;
        createShadowRoot(el: HTMLElement): DocumentFragment;
        getShadowRoot(el: HTMLElement): DocumentFragment;
        getHost(el: HTMLElement): HTMLElement;
        clone(node: Node): Node;
        hasProperty(element: any, name: string): boolean;
        getElementsByClassName(element: any, name: string): any;
        getElementsByTagName(element: any, name: string): any;
        classList(element: any): Array<any>;
        addClass(element: any, classname: string): void;
        removeClass(element: any, classname: string): void;
        hasClass(element: any, classname: string): any;
        setStyle(element: any, stylename: string, stylevalue: string): void;
        removeStyle(element: any, stylename: string): void;
        getStyle(element: any, stylename: string): any;
        tagName(element: any): string;
        attributeMap(element: any): any;
        hasAttribute(element: any, attribute: string): any;
        getAttribute(element: any, attribute: string): any;
        setAttribute(element: any, name: string, value: string): void;
        removeAttribute(element: any, attribute: string): any;
        templateAwareRoot(el: any): any;
        createHtmlDocument(): Document;
        defaultDoc(): Document;
        getBoundingClientRect(el: any): any;
        getTitle(): string;
        setTitle(newTitle: string): void;
        elementMatches(n: any, selector: string): boolean;
        isTemplateElement(el: any): boolean;
        isTextNode(node: Node): boolean;
        isCommentNode(node: Node): boolean;
        isElementNode(node: Node): boolean;
        hasShadowRoot(node: any): boolean;
        isShadowRoot(node: any): boolean;
        importIntoDoc(node: Node): Node;
        isPageRule(rule: any): boolean;
        isStyleRule(rule: any): boolean;
        isMediaRule(rule: any): boolean;
        isKeyframesRule(rule: any): boolean;
        getHref(el: Element): string;
        getEventKey(event: any): string;
        getGlobalEventTarget(target: string): EventTarget;
        getHistory(): History;
        getLocation(): Location;
        getBaseHref(): any;
    }
}

declare module "angular2/src/di/binding" {
  class Binding {

  }
}

declare module "angular2/di" {
  class Binding {}
  function bind(token: any): any;
  class Injector {
     resolveAndCreateChild(bindings: [any]): Injector;
     static resolveAndCreate(bindings: any): any;
     static fromResolvedBindings(bindings: any): any;
     asyncGet(di: any):any;
     get(di: any):any;
  }
  var Inject: any;
  var Injectable: any;
  var Dependency: any;
  var Optional: any;

  var ResolvedBinding: any;
  var Key: any;
  var KeyRegistry: any;
  var TypeLiteral: any;
  var NoBindingError: any;
  var AbstractBindingError: any;
  var AsyncBindingError: any;
  var CyclicDependencyError: any;
  var InstantiationError: any;
  var InvalidBindingError: any;
  var NoAnnotationError: any;
  var OpaqueToken: any;
  var ___esModule: any;
  var InjectAnnotation: any;
  var InjectPromiseAnnotation: any;
  var InjectLazyAnnotation: any;
  var OptionalAnnotation: any;
  var InjectableAnnotation: any;
  var DependencyAnnotation: any;
}


text:
import os

from mock import patch
from oslo.config import cfg
from webob import exc

from quantum.common.test_lib import test_config
from quantum.extensions import l3
from quantum.manager import QuantumManager
from quantum.openstack.common.notifier import api as notifier_api
from quantum.openstack.common.notifier import test_notifier
from quantum.tests.unit import test_l3_plugin

def new_L3_setUp(self):
    test_config['plugin_name_v2'] = (
        'quantum.plugins.bigswitch.plugin.QuantumRestProxyV2')
    etc_path = os.path.join(os.path.dirname(__file__), 'etc')
    rp_conf_file = os.path.join(etc_path, 'restproxy.ini.test')
    test_config['config_files'] = [rp_conf_file]
    cfg.CONF.set_default('allow_overlapping_ips', False)
    ext_mgr = L3TestExtensionManager()
    test_config['extension_manager'] = ext_mgr
    super(test_l3_plugin.L3NatTestCaseBase, self).setUp()

    # Set to None to reload the drivers
    notifier_api._drivers = None
    cfg.CONF.set_override("notification_driver", [test_notifier.__name__])

origSetUp = test_l3_plugin.L3NatDBTestCase.setUp

class HTTPResponseMock():
    status = 200
    reason = 'OK'

    def __init__(self, sock, debuglevel=0, strict=0, method=None,
                 buffering=False):
        pass

    def read(self):
        return "{'status': '200 OK'}"

class HTTPConnectionMock():

    def __init__(self, server, port, timeout):
        pass

    def request(self, action, uri, body, headers):
        return

    def getresponse(self):
        return HTTPResponseMock(None)

    def close(self):
        pass

class L3TestExtensionManager(object):

    def get_resources(self):
        return l3.L3.get_resources()

    def get_actions(self):
        return []

    def get_request_extensions(self):
        return []

class RouterDBTestCase(test_l3_plugin.L3NatDBTestCase):

    def setUp(self):
        self.httpPatch = patch('httplib.HTTPConnection', create=True,
                               new=HTTPConnectionMock)
        self.httpPatch.start()
        test_l3_plugin.L3NatDBTestCase.setUp = new_L3_setUp
        super(RouterDBTestCase, self).setUp()
        self.plugin_obj = QuantumManager.get_plugin()

    def tearDown(self):
        self.httpPatch.stop()
        super(RouterDBTestCase, self).tearDown()
        del test_config['plugin_name_v2']
        del test_config['config_files']
        cfg.CONF.reset()
        test_l3_plugin.L3NatDBTestCase.setUp = origSetUp

    def test_router_remove_router_interface_wrong_subnet_returns_409(self):
        with self.router() as r:
            with self.subnet() as s:
                with self.subnet(cidr='10.0.10.0/24') as s1:
                    with self.port(subnet=s1, no_delete=True) as p:
                        self._router_interface_action('add',
                                                      r['router']['id'],
                                                      None,
                                                      p['port']['id'])
                        self._router_interface_action('remove',
                                                      r['router']['id'],
                                                      s['subnet']['id'],
                                                      p['port']['id'],
                                                      exc.HTTPConflict.code)
                        #remove properly to clean-up
                        self._router_interface_action('remove',
                                                      r['router']['id'],
                                                      None,
                                                      p['port']['id'])

    def test_router_remove_router_interface_wrong_port_returns_404(self):
        with self.router() as r:
            with self.subnet() as s:
                with self.port(subnet=s, no_delete=True) as p:
                    self._router_interface_action('add',
                                                  r['router']['id'],
                                                  None,
                                                  p['port']['id'])
                    # create another port for testing failure case
                    res = self._create_port('json', p['port']['network_id'])
                    p2 = self.deserialize('json', res)
                    self._router_interface_action('remove',
                                                  r['router']['id'],
                                                  None,
                                                  p2['port']['id'],
                                                  exc.HTTPNotFound.code)
                    # remove correct interface to cleanup
                    self._router_interface_action('remove',
                                                  r['router']['id'],
                                                  None,
                                                  p['port']['id'])
                    # remove extra port created
                    self._delete('ports', p2['port']['id'])

    def test_create_floatingip_no_ext_gateway_return_404(self):
        with self.subnet(cidr='10.0.10.0/24') as public_sub:
            self._set_net_external(public_sub['subnet']['network_id'])
            with self.port() as private_port:
                with self.router():
                    res = self._create_floatingip(
                        'json',
                        public_sub['subnet']['network_id'],
                        port_id=private_port['port']['id'])
                    self.assertEqual(res.status_int, exc.HTTPNotFound.code)

    def test_router_update_gateway(self):
        with self.router() as r:
            with self.subnet() as s1:
                with self.subnet(cidr='10.0.10.0/24') as s2:
                    self._set_net_external(s1['subnet']['network_id'])
                    self._add_external_gateway_to_router(
                        r['router']['id'],
                        s1['subnet']['network_id'])
                    body = self._show('routers', r['router']['id'])
                    net_id = (body['router']
                              ['external_gateway_info']['network_id'])
                    self.assertEqual(net_id, s1['subnet']['network_id'])
                    self._set_net_external(s2['subnet']['network_id'])
                    self._add_external_gateway_to_router(
                        r['router']['id'],
                        s2['subnet']['network_id'])
                    body = self._show('routers', r['router']['id'])
                    net_id = (body['router']
                              ['external_gateway_info']['network_id'])
                    self.assertEqual(net_id, s2['subnet']['network_id'])
                    self._remove_external_gateway_from_router(
                        r['router']['id'],
                        s2['subnet']['network_id'])

    def test_router_add_interface_overlapped_cidr(self):
        self.skipTest("Plugin does not support")

    def test_router_add_interface_overlapped_cidr_returns_400(self):
        self.skipTest("Plugin does not support")

    def test_list_nets_external(self):
        self.skipTest("Plugin does not support")

    def test_router_update_gateway_with_existed_floatingip(self):
        with self.subnet(cidr='10.0.10.0/24') as subnet:
            self._set_net_external(subnet['subnet']['network_id'])
            with self.floatingip_with_assoc() as fip:
                self._add_external_gateway_to_router(
                    fip['floatingip']['router_id'],
                    subnet['subnet']['network_id'],
                    expected_code=exc.HTTPConflict.code)

    def test_router_remove_interface_wrong_subnet_returns_409(self):
        with self.router() as r:
            with self.subnet(cidr='10.0.10.0/24') as s:
                with self.port(no_delete=True) as p:
                    self._router_interface_action('add',
                                                  r['router']['id'],
                                                  None,
                                                  p['port']['id'])
                    self._router_interface_action('remove',
                                                  r['router']['id'],
                                                  s['subnet']['id'],
                                                  p['port']['id'],
                                                  exc.HTTPConflict.code)
                    #remove properly to clean-up
                    self._router_interface_action('remove',
                                                  r['router']['id'],
                                                  None,
                                                  p['port']['id'])

    def test_router_remove_interface_wrong_port_returns_404(self):
        with self.router() as r:
            with self.subnet(cidr='10.0.10.0/24'):
                with self.port(no_delete=True) as p:
                    self._router_interface_action('add',
                                                  r['router']['id'],
                                                  None,
                                                  p['port']['id'])
                    # create another port for testing failure case
                    res = self._create_port('json', p['port']['network_id'])
                    p2 = self.deserialize('json', res)
                    self._router_interface_action('remove',
                                                  r['router']['id'],
                                                  None,
                                                  p2['port']['id'],
                                                  exc.HTTPNotFound.code)
                    # remove correct interface to cleanup
                    self._router_interface_action('remove',
                                                  r['router']['id'],
                                                  None,
                                                  p['port']['id'])
                    # remove extra port created
                    self._delete('ports', p2['port']['id'])

    def test_send_data(self):
        fmt = 'json'
        plugin_obj = QuantumManager.get_plugin()

        with self.router() as r:
            r_id = r['router']['id']

            with self.subnet(cidr='10.0.10.0/24') as s:
                s_id = s['subnet']['id']

                with self.router() as r1:
                    r1_id = r1['router']['id']
                    body = self._router_interface_action('add', r_id, s_id,
                                                         None)
                    self.assertTrue('port_id' in body)
                    r_port_id = body['port_id']
                    body = self._show('ports', r_port_id)
                    self.assertEqual(body['port']['device_id'], r_id)

                    with self.subnet(cidr='10.0.20.0/24') as s1:
                        s1_id = s1['subnet']['id']
                        body = self._router_interface_action('add', r1_id,
                                                             s1_id, None)
                        self.assertTrue('port_id' in body)
                        r1_port_id = body['port_id']
                        body = self._show('ports', r1_port_id)
                        self.assertEqual(body['port']['device_id'], r1_id)

                        with self.subnet(cidr='11.0.0.0/24') as public_sub:
                            public_net_id = public_sub['subnet']['network_id']
                            self._set_net_external(public_net_id)

                            with self.port() as prv_port:
                                prv_fixed_ip = prv_port['port']['fixed_ips'][0]
                                priv_sub_id = prv_fixed_ip['subnet_id']
                                self._add_external_gateway_to_router(
                                    r_id, public_net_id)
                                self._router_interface_action('add', r_id,
                                                              priv_sub_id,
                                                              None)

                                priv_port_id = prv_port['port']['id']
                                res = self._create_floatingip(
                                    fmt, public_net_id,
                                    port_id=priv_port_id)
                                self.assertEqual(res.status_int,
                                                 exc.HTTPCreated.code)
                                floatingip = self.deserialize(fmt, res)

                                result = plugin_obj._send_all_data()
                                self.assertEqual(result[0], 200)

                                self._delete('floatingips',
                                             floatingip['floatingip']['id'])
                                self._remove_external_gateway_from_router(
                                    r_id, public_net_id)
                                self._router_interface_action('remove', r_id,
                                                              priv_sub_id,
                                                              None)
                        self._router_interface_action('remove', r_id, s_id,
                                                      None)
                        self._show('ports', r_port_id,
                                   expected_code=exc.HTTPNotFound.code)
                        self._router_interface_action('remove', r1_id, s1_id,
                                                      None)
                        self._show('ports', r1_port_id,
                                   expected_code=exc.HTTPNotFound.code)


text:
Music scene: Roomful of Blues releases new album of covers
Jay N. Miller
Jan 21, 2011 at 12:01 AM Jan 21, 2011 at 9:21 PM
Doing classic covers is nothing new for Roomful, but they've also had a history of mainly writing and performing original work. The new album, "Hook, Line and Sinker," is nonetheless one of the most vivacious, brightly swinging Roomful efforts yet, with stellar jump blues, swing and big-band rock 'n' soul.
For their latest album, Roomful of Blues, the venerable "little big band" from Rhode Island, took a slightly different tack, collecting some of their favorite rhythm and blues songs by other artists.
The reason for visiting tunes from the past is simple: Roomful was breaking in vocalist Phil Pemberton, who replaced the departed Dave Howard.
"We had just gotten Phil in the band when the time came for us to record," said guitarist Chris Vachon, who has led the band since 1996. "We decided it would be easier to help him adapt if we just did a collection of covers."
So Vachon asked everyone in the band to nominate their favorite tunes. When they were done, he said, they had 88 songs from which to pick.
"We all helped whittle that down, by e-mail mostly, and eventually we arrived at these 12 songs," Vachon said.
The collection includes tunes from a host of R&B's best pioneers –– if not widely known –– including Amos Milburn, Dave Bartholomew, Floyd Dixon, Little Richard and three songs by Clarence "Gatemouth" Brown.
"I've always loved Gatemouth," said Vachon. "His stuff is just phenomenal music, and the way his guitar works with the other band members is just so terrific."
Vachon said covering Brown's songs was a way of honoring the performer, who died in 2005.
The Brown songs include "She Walks Right In," "Gate Walks to Board" and Don Robey's "Win With Me Baby," a staple at Brown's live shows. The album also includes some tart humor, as in "Juice Juice Juice," the Milburn tune that suggests he's in constant search of libation, and "Kill Me," the lost-love song from 1950s duo Don and Dewey.
There's even a cover of Little Richard's "Ain't Nothin' Happenin,'" which is a prime example of primal rock 'n' roll done by a swing band.
Roomful's current lineup includes Vachon on guitar, Travis Colby on keyboards, John Turner on bass, long-time alto saxophonist Rich Lataille, baritone/tenor saxman Mark Earley, trumpeter Doug Woolverton, drummer Ephraim Lowell and, of course, Pemberton on vocals.
"The hardest thing about writing and arranging for this band is balancing everything out," said Vachon. "I always try and make sure everybody gets something in there. But there are a lot of us, and everybody's capable of playing a really compelling solo. As far as the contrast and using the guitar against the horns, I can't take credit there because a lot of these songs had those type of arrangements anyway."
New singers are nothing new for Roomful. But the new guy has a decidedly big blues voice, and he may be the first Roomful singer ever discovered at a wedding.
"I met and heard Phil for the first time ... at (keyboardist) Travis Colby's wedding," Vachon said. "We had Dave Howard at the time, but I was impressed enough with Phil to remember him. When Travis suggested we give him a shot after Dave decided to leave, I was all for it. We auditioned three or four singers, but Phil's got such a great range."
Roomful of Blues will be headlining The River Club in Scituate, Mass., on Saturday, Jan. 29, and returning to Showcase Live in Foxboro, Mass., on Friday, Feb. 4.
The River Club is at 78 Border St. in Scituate, Mass., and the Jan. 29 show begins at 8 p.m. with all tickets $25. Call 339-236-6786 or check www.theriverclubmusichall.com for more info. The Feb. 4 date is at Showcase Live, at Patriot Place in Foxboro, Mass., next to Gillette Stadium, and that show begins at 7:30 p.m. with all tickets $25. Call 888-354-7042, or check www.showcaselive for more info.


The are two main requirements under the Vulnerable Children's Act that OSCAR services should be aware of: 1) child protection policies 2) staff safety checks.
Under the VCA, services are required to have a child protection policy that must "contain provisions …on the identification and reporting of child abuse and neglect in accordance with section 15 of the Children, Young Persons, and Their Families Act 1989." This is entirely consistent with requirements in the MSD Accreditation Standards.
While we don't see any need for MSD Accredited services to make significant changes to policies at this point, we note that OSCN has recently reviewed its sample child protection policy, in light of up-to-date guidance on best practice.
This process needs to be well-documented. For more guidelines on safe recruitment practices, refer to the these staff safety guidelines at OSCN.
We have reviewed the interpretation of this clause and it is our view that all OSCAR staff would be considered "core workers" because they are likely to have, at some times in a session, "primary responsibility for, or authority over" children. Non-core workers might include administrators in your service, reception staff, cleaners and kitchen staff.
All new core workers must be safety checked prior to starting work (effective from July 1st 2015). Existing core workers must all be safety checked by 1st July 2018.
All non-core workers must be safety checked prior to starting (effective from July 1st 2016). Existing non-core workers must all be safety checked by 1st July 2019.
Safety checks must be repeated at most after a three year period of employment. All of this seems consistent with MSD OSCAR requirements.
For core workers, there are a range of specified offences that, if the person has a conviction for these, they cannot be employed. It should also be noted that nothing in the provisions of the Clean Slate Act can over-ride access to information that is relevant to this part of the VCA.


text:
//
//  RootViewController.m
//  StockPlot
//
//  Created by Jonathan Saggau on 6/19/09.
//  Copyright __MyCompanyName__ 2009. All rights reserved.
//

#import "APYahooDataPuller.h"
#import "RootViewController.h"

@interface RootViewController()

@property (nonatomic, readwrite, strong) APYahooDataPullerGraph *graph;
@property (nonatomic, readwrite, strong) NSMutableArray<APYahooDataPuller *> *stocks;

@end

@implementation RootViewController

@synthesize graph;
@synthesize stocks;
@dynamic symbols;

-(void)viewDidLoad
{
    [super viewDidLoad];
    self.stocks = [[NSMutableArray alloc] initWithCapacity:4];
    [self addSymbol:@"AAPL"];
    [self addSymbol:@"GOOG"];
    [self addSymbol:@"YHOO"];
    [self addSymbol:@"MSFT"];

    // Uncomment the following line to display an Edit button in the navigation bar for this view controller.
    // self.navigationItem.rightBarButtonItem = self.editButtonItem;
}

-(void)didReceiveMemoryWarning
{
    // Releases the view if it doesn't have a superview.
    [super didReceiveMemoryWarning];

    // Release any cached data, images, etc that aren't in use.
}

-(void)viewWillAppear:(BOOL)animated
{
    [super viewWillAppear:animated];
    [[self navigationItem] setTitle:@"Stocks"];
    //the graph will set itself as delegate of the dataPuller when we push it, so we need to reset this.
    for ( APYahooDataPuller *dp in self.stocks ) {
        [dp setDelegate:self];
    }
}

#pragma mark Table view methods

-(void)inspectStock:(APYahooDataPuller *)aStock
{
    NSDecimalNumber *high = [aStock overallHigh];
    NSDecimalNumber *low  = [aStock overallLow];

    if ( [high isEqualToNumber:[NSDecimalNumber notANumber]] || [low isEqualToNumber:[NSDecimalNumber notANumber]] || ([[aStock financialData] count] <= 0) ) {
        NSString *message = [NSString stringWithFormat:@"No information available for %@", [aStock symbol]];
        UIAlertView *av   = [[UIAlertView alloc] initWithTitle:@"Alert" message:message delegate:nil cancelButtonTitle:@"Okay" otherButtonTitles:nil];
        [av show];
    }
    else {
        if ( nil == self.graph ) {
            APYahooDataPullerGraph *aGraph = [[APYahooDataPullerGraph alloc] initWithNibName:@"APYahooDataPullerGraph" bundle:nil];
            self.graph = aGraph;
        }

        [self.graph setDataPuller:aStock];
        [self.navigationController pushViewController:self.graph animated:YES];
        self.graph.view.frame = self.view.bounds;
    }
}

// Override to support row selection in the table view.
-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
    APYahooDataPuller *dp = self.stocks[(NSUInteger)indexPath.row];

    [self inspectStock:dp];
    [self.tableView deselectRowAtIndexPath:indexPath animated:YES];
}

-(NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
    return 1;
}

// Customize the number of rows in the table view.
-(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
    return (NSInteger)self.stocks.count;
}

-(void)setupCell:(UITableViewCell *)cell forStockAtIndex:(NSUInteger)row
{
    APYahooDataPuller *dp = self.stocks[row];

    [[cell textLabel] setText:[dp symbol]];

    NSDateFormatter *df = [[NSDateFormatter alloc] init];
    [df setDateStyle:NSDateFormatterShortStyle];
    NSString *startString = @"(NA)";
    if ( [dp startDate] ) {
        startString = [df stringFromDate:[dp startDate]];
    }

    NSString *endString = @"(NA)";
    if ( [dp endDate] ) {
        endString = [df stringFromDate:[dp endDate]];
    }

    NSNumberFormatter *nf = [[NSNumberFormatter alloc] init];
    [nf setRoundingMode:NSNumberFormatterRoundHalfUp];
    [nf setDecimalSeparator:@"."];
    [nf setGroupingSeparator:@","];
    [nf setPositiveFormat:@"\u00A4###,##0.00"];
    [nf setNegativeFormat:@"(\u00A4###,##0.00)"];

    NSString *overallLow = @"(NA)";
    if ( ![[NSDecimalNumber notANumber] isEqual:[dp overallLow]] ) {
        overallLow = [nf stringFromNumber:[dp overallLow]];
    }
    NSString *overallHigh = @"(NA)";
    if ( ![[NSDecimalNumber notANumber] isEqual:[dp overallHigh]] ) {
        overallHigh = [nf stringFromNumber:[dp overallHigh]];
    }

    [[cell detailTextLabel] setText:[NSString stringWithFormat:@"%@ - %@; Low:%@ High:%@", startString, endString, overallLow, overallHigh]];

    UIView *accessory = [cell accessoryView];
    if ( dp.loadingData ) {
        if ( ![accessory isMemberOfClass:[UIActivityIndicatorView class]] ) {
            accessory = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleGray];
            [(UIActivityIndicatorView *)accessory setHidesWhenStopped : NO];
            [cell setAccessoryView:accessory];
        }
        [(UIActivityIndicatorView *)accessory startAnimating];
    }
    else {
        if ( [accessory isMemberOfClass:[UIActivityIndicatorView class]] ) {
            [(UIActivityIndicatorView *)accessory stopAnimating];
        }
        if ( dp.staleData ) {
            if ( ![accessory isMemberOfClass:[UIImageView class]] ) {
                UIImage *caution = [UIImage imageNamed:@"caution.png"];
                accessory = [[UIImageView alloc] initWithImage:caution];
                [cell setAccessoryView:accessory];
//                CGRect frame = accessory.frame;
//#pragma unused (frame)
            }
        }
        else {
            [cell setAccessoryView:nil];
        }
    }
}

// Customize the appearance of table view cells.
-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    static NSString *CellIdentifier = @"UITableViewCellStyleSubtitle";

    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];

    if ( cell == nil ) {
        cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:CellIdentifier];
    }

    NSUInteger row = (NSUInteger)indexPath.row;

    [self setupCell:cell forStockAtIndex:row];

    return cell;
}

-(void)didRotateFromInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation
{
    self.graph.view.frame = self.view.bounds;
}

#pragma mark -
#pragma mark accessors

-(CPTStringArray)symbols
{
    //NSLog(@"in -symbols, returned symbols = %@", symbols);
    CPTMutableStringArray symbols = [NSMutableArray arrayWithCapacity:self.stocks.count];

    for ( APYahooDataPuller *dp in self.stocks ) {
        [symbols addObject:[dp symbol]];
    }
    return [NSArray arrayWithArray:symbols];
}

-(void)dataPuller:(APYahooDataPuller *)dp downloadDidFailWithError:(NSError *)error
{
    NSLog(@"dataPuller:%@ downloadDidFailWithError:%@", dp, error);
    NSUInteger idx        = [self.stocks indexOfObject:dp];
    NSInteger section     = 0;
    NSIndexPath *path     = [NSIndexPath indexPathForRow:(NSInteger)idx inSection:section];
    UITableViewCell *cell = [self.tableView cellForRowAtIndexPath:path];
    [self setupCell:cell forStockAtIndex:idx];
}

-(void)dataPullerFinancialDataDidChange:(APYahooDataPuller *)dp
{
    NSLog(@"dataPullerFinancialDataDidChange:%@", dp);
    NSUInteger idx        = [self.stocks indexOfObject:dp];
    NSInteger section     = 0;
    NSIndexPath *path     = [NSIndexPath indexPathForRow:(NSInteger)idx inSection:section];
    UITableViewCell *cell = [self.tableView cellForRowAtIndexPath:path];
    [self setupCell:cell forStockAtIndex:idx];
}

-(void)addSymbol:(NSString *)aSymbol
{
    NSTimeInterval secondsAgo = -fabs(60.0 * 60.0 * 24.0 * 7.0 * 12.0); //12 weeks ago
    NSDate *start             = [NSDate dateWithTimeIntervalSinceNow:secondsAgo];
    NSDate *end               = [NSDate date];

    APYahooDataPuller *dp = [[APYahooDataPuller alloc] initWithTargetSymbol:aSymbol targetStartDate:start targetEndDate:end];

    [[self stocks] addObject:dp];
    [dp fetchIfNeeded];
    [dp setDelegate:self];
    [[self tableView] reloadData]; //TODO: should reload whole thing
}

-(void)dealloc
{
    for ( APYahooDataPuller *dp in stocks ) {
        if ( dp.delegate == self ) {
            dp.delegate = nil;
        }
    }
    stocks = nil;
}

/*
 * - (void)viewDidLoad {
 * [super viewDidLoad];
 *
 * // Uncomment the following line to display an Edit button in the navigation bar for this view controller.
 * // self.navigationItem.rightBarButtonItem = self.editButtonItem;
 * }
 */

/*
 * - (void)viewDidAppear:(BOOL)animated {
 * [super viewDidAppear:animated];
 * }
 */

/*
 * - (void)viewWillDisappear:(BOOL)animated {
 * [super viewWillDisappear:animated];
 * }
 */

/*
 * - (void)viewDidDisappear:(BOOL)animated {
 * [super viewDidDisappear:animated];
 * }
 */

/*
 * // Override to support row selection in the table view.
 * - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
 *
 * // Navigation logic may go here -- for example, create and push another view controller.
 * // AnotherViewController *anotherViewController = [[AnotherViewController alloc] initWithNibName:@"AnotherView" bundle:nil];
 * // [self.navigationController pushViewController:anotherViewController animated:YES];
 * // [anotherViewController release];
 * }
 */

/*
 * // Override to support conditional editing of the table view.
 * - (BOOL)tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *)indexPath {
 * // Return NO if you do not want the specified item to be editable.
 * return YES;
 * }
 */

/*
 * // Override to support editing the table view.
 * - (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath {
 *
 * if (editingStyle == UITableViewCellEditingStyleDelete) {
 * // Delete the row from the data source.
 * [tableView deleteRowsAtIndexPaths:@[indexPath] withRowAnimation:UITableViewRowAnimationFade];
 * }
 * else if (editingStyle == UITableViewCellEditingStyleInsert) {
 * // Create a new instance of the appropriate class, insert it into the array, and add a new row to the table view.
 * }
 * }
 */

/*
 * // Override to support rearranging the table view.
 * - (void)tableView:(UITableView *)tableView moveRowAtIndexPath:(NSIndexPath *)fromIndexPath toIndexPath:(NSIndexPath *)toIndexPath {
 * }
 */

/*
 * // Override to support conditional rearranging of the table view.
 * - (BOOL)tableView:(UITableView *)tableView canMoveRowAtIndexPath:(NSIndexPath *)indexPath {
 * // Return NO if you do not want the item to be re-orderable.
 * return YES;
 * }
 */

@end


Laura has been a member of staff for 5 years now and has worked in the customer service industry for a total of 15 years. She moved to Norwich and joined Mayday in September 2011.
Laura has taken on lots of different roles within the Service Admin Team Leader and accounts department. She started off at Mayday as a Works Controller and is now Service Team Leader.
Laura enjoys interacting with our various customers and enjoys working in a busy office environment.
Laura spends most of her spare time having quality time with her young family. She is an avid walker and enjoys being outdoors. Having recently moved house Laura is becoming a keen gardener.


text:
> Proceedings>WTC>The factors affecting the performance of three different TBMs in a complex geology in Istanbul
Viewed documents
The factors affecting the performance of three different TBMs in a complex geology in Istanbul
Four hundred kilometers of metro tunnels are expected to be opened in Istanbul in the near future. The geology of Istanbul is complex changing frequently from very hard rock formation to soft ground in a short length. Mahmutbey-Mecidiyekoy metro tunnels, which are currently excavated by three different EPB-TBMs, gave the unique opportunity to investigate the effect of opening ratio and physical and mechanical properties of geologic formations on the performance of the TBMs having opening ratios of 20%, 29% and 37%. At the end of the paper, a general model to predict the performance of EPB-TBMs in a complex geology taken account the cutterhead design and the geotechnical properties of the geological formations are created including the position of the TBMs in respect to each other within the tunnel route.
Authors: N. Bilgin / S. Acun / U. Ates / M. Murtaza
Abstract: Four hundred kilometers of metro tunnels are expected to be opened in Istanbul in the near future. The geology of Istanbul is complex changing frequently from very hard rock formation to soft ground in a short length. Mahmutbey-Mecidiyekoy metro tunnels, which are currently excavated by three different EPB-TBMs, gave the unique opportunity to investigate the effect of opening ratio and physical and mechanical properties of geologic formations on the performance of the TBMs having opening ratios of 20%, 29% and 37%. At the end of the paper, a general model to predict the performance of EPB-TBMs in a complex geology taken account the cutterhead design and the geotechnical properties of the geological formations are created including the position of the TBMs in respect to each other within the tunnel route.
City Bergen


text:
Isaiah 57 is the fifty-seventh chapter of the Book of Isaiah in the Hebrew Bible or the Old Testament of the Christian Bible. This book contains the prophecies attributed to the prophet Isaiah, and is one of the Books of the Prophets. Chapter 57 is the second chapter of the final section of the Book of Isaiah, often referred to as Trito-Isaiah.

Text
The original text was written in Hebrew language. This chapter is divided into 21 verses.

Textual witnesses
Some early manuscripts containing the text of this chapter in Hebrew are of the Masoretic Text tradition, which includes the Codex Cairensis (895), the Petersburg Codex of the Prophets (916), Aleppo Codex (10th century), Codex Leningradensis (1008).

Fragments containing parts of this chapter were found among the Dead Sea Scrolls (3rd century BC or later):
 1QIsaa: with all verses (1–21)
 1QIsa: extant verses 1–4, 17–21
 4QIsad (4Q58): extant verses 9–21
 4QIsah (4Q62): extant verses 5–8

There is also a translation into Koine Greek known as the Septuagint, made in the last few centuries BCE. Extant ancient manuscripts of the Septuagint version include Codex Vaticanus (B; B; 4th century), Codex Sinaiticus (S; BHK: S; 4th century), Codex Alexandrinus (A; A; 5th century) and Codex Marchalianus (Q; Q; 6th century).

Parashot
The parashah sections listed here are based on the Aleppo Codex. Isaiah 57 is a part of the Consolations (Isaiah 40–66). {P}: open parashah; {S}: closed parashah.
 [{P} 56:10-12] 57:1-2 {S} 57:3-14 {S} 57:15-21 {P}

Israel's futile idolatry (57:1–13)
Verses 1–2 contain awkward shifts between singular and plural, contrasting a group whom the prophetic tradition approves and others who are strongly condemned. Those being detested get more detailed attention with their parentage attacked (verse 3), their behavior deemed childish (verse 4) and their evil practices spelt out at length, including sexual offences as well as child-sacrifice (verse 5), which were regarded idolatrous (recalling the continuous danger of prostitution of the city described in Isaiah 1:21–23). Verses 11–13 continue the condemnation, ending with a 'mockery of idols' resembling that in chapters 44 and 45, but also assert the 'impregnable position of those who take refuge in YHWH'.

Verses 1–2

  The righteous perishes,
 And no man takes it to heart;
 Merciful men are taken away,
 While no one considers
 That the righteous is taken away from evil.
  He shall enter into peace;
 They shall rest in their beds,
 Each one walking in his uprightness.
"The righteous" (KJV, NASB, NIV, NKJV, NLT, NRSV): or "the just man" (NAB); "Good people" (TEV); "The godly" (NET Bible).
"Evil" or "the face of evil"
These verses complain the (apparently violent) death of the righteous that went 'unnoticed and unlamented'.

Verse 13
When you cry out,
 let your collection of idols deliver you.
 But the wind shall carry them all away,
 a breath shall take them away.
 But he who puts his trust in Me
 shall possess the land
 and shall inherit My holy mountain.
 "Holy mountain": this term recalls Isaiah 56:7 with the aspirations for the Temple, and of Isaiah 11:9 with the picture of paradise restored.
The concluding promise, typical in Isaiah's polemic, is addressed to those who trust in the Lord (cf. Isaiah 30:18) who would 'gain title to land and control of the Jerusalem Temple'.

Healing for the contrite (57:14–21)
The double imperative in verse 14 recalls the series of such usages in chapters 49–55 to indicate the consoling contents of this section ending with an assurance of God's continuing presence with the contrite and humble, a strong contrast with the earlier passage.
Verses 19–20 provide a clear distinction between those accepted by God and 'the wicked', and the refrain, also found in Isaiah 48:22, fits naturally into its context.

Verse 14
 And it shall be said,
"Build up, build up, prepare the way,
take up every stumbling block out of the way of My people."
"Prepare the way": applied somewhat differently than the image of the highway of salvation in Isaiah 40:3 (cf. Isaiah 62:10), as in this verse it seems to be figurative for 'the removal of spiritual obstacles to the redemption of Israel' (Isaiah 57:17).

Verse 15
 For thus says the High and Lofty One
 who inhabits eternity, whose name is Holy:
 I dwell in the high and holy place
 and also with him who is of a contrite and humble spirit,
 to revive the spirit of the humble,
 and to revive the heart of the contrite ones.
God's presence with the 'downtrodden and marginalized' (Isaiah 66:1–2) is associated with God's transcendence in Isaiah's vision ('the high and lofty one... whose name is Holy'; cf. Isaiah 6:1–5).

Verse 17
For the iniquity of his covetousness was I wroth, and smote him: I hid me, and was wroth, and he went on frowardly in the way of his heart.
"Frowardly" (cf. Jeremiah 3:14; Jeremiah 3:22; Jeremiah 31:22; Jeremiah 49:4): literally, "turning away" (RSV margin), "turning back" or "backsliding".

Verse 19
 by creating the fruit of the lips.
 Peace, peace to him who is far off and to him who is near,
 says the Lord, and I will heal him.
Peace is offered to them that are 'nigh' ("near"), and to them that are 'afar off', applied by Paul as "not only to the Jew, but also to the Gentile" in ;  (cf. ).

See also

 Sheol
Related Bible parts: Isaiah 6, Isaiah 66, Ephesians 2.

References

Sources

External links

Jewish
Isaiah 57 Original Hebrew with Parallel English

Christian
Isaiah 57 English Translation with Parallel Latin Vulgate

57

redpajama_set_name: RedPajamaWikipedia