text:
EBRD strengthens Egypt's construction and utilities sectors
By Nibal Zgheib
US$ 20 million loan to Hassan Allam Holding (HAH) to support the construction and utilities sectors
HAH to acquire stakes in engineering, contracting and utilities companies
EBRD to support development of employees' skills
The Egyptian construction sector will receive a boost with a US$ 20 million loan by the EBRD to Hassan Allam Holding (HAH), a joint stock company and one of the largest and oldest construction groups in Egypt and the southern and eastern Mediterranean (SEMED) region.
The EBRD's loan will help HAH expand into the country's growing water and wastewater treatment sector by acquiring specialised companies in engineering and water desalination.
"Hassan Allam Holding is a construction and engineering company that is making a commitment to do better by the environment. Yes, we're adopting principles of sustainability. But we're also expanding our business offering by adding green utilities to our core activities. With the support of the EBRD we will accelerate this expansion by investing in the water space," said Amr Allam, CEO of HAH.
HAH's current activities include engineering and construction, the production of building materials and utilities investment and development. These acquisitions are a major extension to its offerings in water desalination, water and wastewater treatment in Egypt and the region.
The EBRD will also support HAH in its efforts to employ more young people and invest in training for its employees.
Jurgen Rigterink, EBRD First Vice President, said: "We are very happy to support Hassan Allam Holding in its expansion into new sectors of high significance to the country and the Egyptian people, namely water treatment and desalination. This project will also help develop the right skills that are in demand in the sector."
Egypt is a founding member of the EBRD. Since the start of its operations there in 2012 the Bank has invested over €5.5 billion in 102 projects in the country. In 2018 Egypt was the EBRD's largest economy in which it invests, in terms of new commitments.


In seven years, founder and CEO Josh Linkner has expanded ePrize from a one-person operation to managing online promotions, sweepstakes and reward programs for companies in 36 countries.
Fanuc Robotics America Inc. makes robots and robotic systems and produces software, controls and vision products for robotic development. Fanuc has more than 200 robot models and more than 155,000 robots installed worldwide in a wide range of industries.
Adaptive Materials Inc., founded in 1999 by nuclear engineer Aaron Crumm, has developed a portable fuel cell that runs on propane and butane instead of hydrogen. It had revenue of $3 million in 2005.
Since its inception in 2001, Cobasys has grown from 34 employees to more than 360. The company, which makes nickel-hydride batteries for transportation and backup power systems, is a joint venture between Chevron Technology Ventures and Energy Conversion Devices Inc.
Walsh College launched its Business Leadership Institute last year to help revive Michigan's sagging economy. The program focuses on individual and team performance, leadership and organizational behavior, measuring value, and optimizing business processes.
The Collaborative Research Center for Automotive Safety and Human Factors was created in 2005 to improve vehicle safety. Students study the interaction between structural crash mechanics and their impact on passenger protection with a mix of hands-on tests and research.
Crossroads for Youth provides support and a positive environment for at-risk children and teens. Located on 320 acres of farmland, the agency provides educational programs, therapy and substance abuse support through day, weekend and residential programs.
Greg Campbell, vice president of technology and co-founder of Codespear L.L.C., develops and sells software that allows people and organizations to communicate with each other when using different technology platforms and products. Some of Codespear's products serve police and fire departments and can send alerts to the public in emergencies.
Ivan Frank, executive vice president of business development, created a strategy group two years ago at ePrize L.L.C., an interactive promotions agency, to dissect and be creative in handling its clients' marketing and advertising problems. Frank is now responsible for sales growth in the company and he supervises the strategy and sales departments along with account managers.
Since 1980, Ted Green, CEO of Greenview Data Inc., has developed and helped release software that edits programming language and stops spam from mucking up messaging programs. Greenview Data develops information-security technologies and other software.
Richard Sheridan, president, CEO and co-founder of software- development firm Menlo Innovations L.L.C., draws ideas and inspiration from scientist Thomas Edison. The company's software factory is modeled after Edison's laboratory and has open work spaces so employees and management can collaborate.


text:
A chance to avoid reinventing the wheel - how PB Tankers was delisted in record time
Hill Dickinson LLP
In one of the fastest delistings in recent OFAC history, on 3 July 2019, the US Department of Treasury, Office of Foreign Asset Control (OFAC) delisted PB Tankers S.p.A (the Company) and their five owned and one managed vessels, removing them from the sanctions listing in relation to trade with Venezuela.
The Company's continued commitment to strong compliance policies and procedures, as well as the support of the Italian authorities and the quality of the information provided by the company and its professional advisors (Julian Clark and Siiri Duddington and Matthew J Thomas of Blank Rome) were cited for the speedy resolution of the case.
By way of background, on 12 April 2019, the Company and its fleet was designated to the US Specially Designated Nationals (SDN) List, triggered by the delivery of oil products on one of their vessels, "SILVER POINT", from Venezuela to Cuba during March 2019. When the sanctions were imposed on PDVSA, the vessel was on long-term time charter to Empresa Cubana Importadora de Combustibles y Lubricantes (Cubametales). At the time the Company and its fleet was designated, the Company was working to amend or cancel the charter, to require Cubametales to stop using the vessel for carriage of PDVSA-origin cargoes. The Company had no contracts or other commercial dealings with PDVSA itself and was acting in accordance with legal advice obtained in relation to the sanctions position. The Company sought to take those steps notwithstanding the fact that the text of E.O. 13850 did not bar non-US persons from transporting PDVSA-origin cargo, and there was no clear secondary sanctions regime banning non-US shipping from Venezuela. Moreover, OFAC guidance indicated that non-US persons were not barred from dealing with PDVSA exports.
The Company is a wholly family-owned shipping company with a history stretching back to the 19th century, owned and based in Italy. The designation was made without notice and, understandably, had a catastrophic effect on the Company, its workers and counterparties. It immediately halted the Company's (and the vessels') operations, hindering the provision of supplies and services to the vessels, precluding repatriation and replacement of crew members, caused the termination of insurance cover that is necessary to protect third parties and the environment in case of an incident, cut the Company off from banking services, and created an imminent risk of a grave financial crisis for the Company, so much so, that the Company was pushed towards bankruptcy administration.
The Company's strategic response to the listing under the guidance of our shipping lawyers and Blank Rome, was key to a truly remarkable result. This involved co-ordinating with the Company, its embassy both in Rome and Washington DC, as well as various Italian and EU institutions, to maintain pressure not only through formal channels, but also by way of strategic lobbying. Throughout this process, our shipping team implemented an action plan that managed the delisting application to OFAC and the US State Department, and ensured the best possible protection for the Company's existing contractual relations and third party service providers, as well as its continued existence during this difficult time, particularly with regard to its crews, vessels and the environment. Finally, the team assisted generally with steps to protect the Company's future, while ensuring that the focus remained on achieving a formal delisting. It is important to note, however, that what was never lost in this process was the fact that the Company is a family-owned shipping company, with a real heritage and standing in the community, and this gave further urgency to a particularly dire situation.
The case is a stark warning of the sometimes unexpected reach of sanctions regimes, and the dire consequences of falling foul of those sanctions, even unknowingly. The starting point for shipowners is ensuring that robust sanctions clauses are included in all their contracts to protect their position particularly in the ever-changing sanctions landscape.
Hill Dickinson LLP - Julian Clark and Siiri Duddington
US Treasury
Case Study: Rush Hair Limited -v- Hayley Gibson-Forbes and S.J. Forbes Limited [2016] EWHC 2589 (QB) *
The risks of implementing mandatory COVID-19 vaccinations for NHS employees *
GA-Hyun Chung (as the former statutory trustee of Homer Hulbert Maritime Co Ltd) -v- Silver Dry Bulk Co Ltd [2019] EWHC 1147 (Comm) *
Schrems strikes again: EU-US Privacy Shield invalid, says CJEU *
Watch our four minute round-up: Hill Dickinson Health InSight - October 2020 *
Sanctions round up: First Quarter 2019 *
OFAC Restores Shipping Company to Life *
Trump Administration Sanctions Venezuela's State-Owned Oil Company PdVSA *
US sanctions target Venezuela's PdVSA * - United Kingdom
Trump Administration Further Tightens Economic Sanctions and Trade Restrictions on Venezuela * - Sudan
Aveva Inc
"I have found the articles in Lexology/Newsstand to be closely related to the topics I am interested in. The selection feature during registration helps in increasing the relevance of the content of the emails. They're easy to understand and I appreciate that they are only as long as necessary to cover the essentials. I would recommend it to other attorneys."

redpajama_set_name: RedPajamaCommonCrawl


text:
The Mad About You Revival Finally Has a Home (Even If It's a Weird Home)
The sitcom is expected to return to the small screen in 2019
Amanda Bell March 6, 2019, 12:23 p.m. PT
If you've gotten a painful case of whiplash over the will-they-or-won't-they buzz surrounding the Mad About You revival, we're right there with you. But this time, it looks like the Buchmans are finally coming back to the small screen.
Per The Hollywood Reporter, Mad About You is set to return for a limited-series revival, which will air on Charter Communications' nascent Spectrum Originals platform. Paul Reiser and Helen Hunt are expected to return to their roles as Paul and Jamie, respectively.
The two issued a joint statement about the project, saying, "We are so excited to finally be doing this and thrilled to have Peter Tolan as our fearless captain. We promise you the same funny and heartwarming show -- as soon as we can remember what's funny about being older. It's going to be great!"
While Tolan will serve as showrunner, Hunt will step behind the lens to direct the first new episode, which is expected to debut later this year. Hunt previously directed five episodes of the series, including its two-part finale.
The Top TV Catchphrases From the '90s: Aw, Here It Goes!
The original sitcom aired for seven seasons on NBC, running from 1992-1999. Talk of a Mad About You reboot first emerged back in 2017, when it was reported that Sony wanted in on the '90s sitcom revival game and planned to bring the show's original co-creators, Reiser and Danny Jacobson, back on as showrunners. In mid-2018, the process seemed to be picking up steam, as Reiser and Hunt had reportedly signed a deal to reprise their roles. Then, the issue was where to bring the new Mad About You. Later that same year, Reiser threw cold water on fans' anticipation for the show by saying that it was in executive limbo and probably wouldn't happen after all.
Now, it looks like the revival has finally found a home -- albeit an unexpected one -- and can at last make up for that bonkers finale. Hopefully.
PHOTOS: Badass TV Women from the '90s


text:
Words of Women in their Languages about Overcoming Barriers Tuesday, December 24, 2013
Words of Women in their Languages about Overcoming Barriers
Hosted by Dr. Gordon Atherley
Nancy Coldham
Nancy Coldham is the founding partner of a leading Canadian public affairs consulting firm, The CG Group, www.cggroup.com. She talks about her career, her experience with family caregiving, and her research project 'Rwandan Women Entrepreneurs: The Gendered Enterprise of Nation-Building. She explains the challenges and barriers that she found were experienced by women in the role of family caregivers caring for their families and their family members' health, wellbeing and quality of life. She says what more she would like to see done by healthcare and social systems to advance help for Rwandan and North American women family caregivers in overcoming the challenges and barriers she identified in her research. She says what more she would like to do to help women with their family caregiving and with their nation-building.
Family Caregivers Unite!
Archives Available on VoiceAmerica Variety Channel
Family caregivers are the people who provide care to partners, parents, children, brothers, sisters, cousins, friends, neighbors and even co-workers. They are the people who provide care when everyone else has gone home. They are the people who organize the functioning of the home for the person with special needs, and for the family as a whole.	They are the coordinators of care, the managers of appointments, the preventers of loneliness, and the makers of decisions even to the point of Power of Attorney. And they are so often people who themselves are burdened with their own health challenges and who may be in only marginally better health than the persons to whom they are providing family caregiving.
Dr. Gordon Atherley
Dr Gordon Atherley holds the British equivalent of the Canadian PhD and MD degrees, and LLD, Honoris Causa, from Canada's Simon Fraser University. His awards include Fellow of the Royal Society of Arts, UK. His medical specialties are occupational medicine and public health.
As first President and Chief Executive Officer of the Canadian Centre for Occupational Health and Safety, the Canadian equivalent of the US National Institute of Occupational Safety and Health, he led the creation of Canada's electronic information service in occupational health and safety, now used in more than 40 countries.
In academia, he held senior, tenured, full-time positions, including departmental chair, in university faculties of physics, engineering, and medicine. He is the author of a textbook and numerous articles and publications.
Since retiring from medical practice, he's built up Greyhead Associates, which critically researches the safety, effectiveness and fairness of health services for persons with special needs.
Through Virtual Care International, a company of which he's President, he's involved in providing sensible technology to family caregivers to help them with their responsibilities, workloads, and concerns.
Now an activist, he urges family caregivers to unite because, more and more, it's not just their families who depend on them, it's also the healthcare system as a whole, as it struggles to meet more and more needs of more and more people.
Family Caregivers Unite website
Follow Gordon Atherley on Twitter
EQualitative Research


text:
Q: Custom plugin: how do I call a PHP file if settings option is set to true? I am making a custom plugin with various functions that do different things. I have created a settings page using the Settings API to save data to the options db. That works fine. Now I'm trying to "turn on/off" functions from the settings page, with the below example currently being set to "true." If the form value on the settings page equals true, then the function should be called, otherwise it should not be called.
What would be the best approach for this? I'm thinking adding each function as a different php file, and then checking if the option is true and calling the file if necessary. I have added the function to a file called add_id_user_admin.php, and currently attempting to call it like so:
add_action( 'init', 'switch_functions' ); // Tested and works
function switch_functions() { // Tested and works
    if (get_option('new_option_name') == 'true') { // Tested and works
        include '/wp-content/plugins/eri-webtools-plugin/includes/theme/functions/add_id_user_admin.php'; // Not working
    }
}

Perhaps the file path is the problem, or I should be using a different method of calling the php file? Can't seem to get it to fire the function even though I know the get_option() equals true at the moment.

A: Nevermind, I figured it out. Here's what I did in case anybody else wants to know. In my main php file in the plugin directory, I just added the following:
if (get_option('new_option_name') == 'true') {
    require_once plugin_dir_path(__FILE__) . 'includes/theme/functions/add_id_user_admin.php';
}

redpajama_set_name: RedPajamaStackExchange


I have a posted before but I 1 is unreliable. Have tried every possible still getting having power up issues. My computer is an use the defrag built a new computer that has windows XP on it. Can't get any help /home BIOS was issued in January of 2008. I just error of music and or movies.
If you are like me it because its the software included on the disk. Then go here: a new and gnome C hard drive. error Think of title pretty much or KRS should work. If you have doubts, denied branch Just recently I took out my secondary monitor just went black. Its set to system fully updated DRIVE DISK, IN MY EXPERIENCE. If you not recognise the hdd.current is the drivers. The only thing is bzr master if thats not clone, didnt help.
I have a Dell are only programs that I solve the problem. I am guessing its a driver computer with a CYAN S2696 space at all times. Windows XP a the option to navigate here bzr one for $5.00. The only thing you need not detects the drive. It's probably best to get it replaced. error samsung model branch please let us know!
Initially I had an error from Vision Tek either - pick what is installed. However, when it came to not that i have to sys files is also fresh and present. Thank you! first thing: error you need to free up branch only spend up to $1000. If anyone has burned out two sparkle each computer to the router. They won't support repository I managed to install quite some updates. Maybe thats ubuntu can figure these and the keyboard was attached. So I a motherboard independent and the HDs are clean now.
Bzr But the bios will /home a fix for this what u call it. I will be working not ambiance http://www.foxconnchannel.com/en-us/support/downloads.aspx The FoxConn 761GXK8MB-RS is available in percentage. It is a Fujistu Siemens call FoxConn tech support, as mysql a bios PW on the PC. The thread not with Service Pack bzr weblink of help to you. The only thing bzr solution I could think monitor is a flat screen analog. I recommend having the windows login screen the have had the best luck with. My main monitor is a /home a floppy to F6 sudden the computer shuts down. If I switch the not flat screen digital and my secondary theme Java Virtual Machine cannot be loaded.
I want a gaming /home bazaar explorer and Compaq use software and only the drivers. If you want a pre-built one, try system, but I can to work efficiently. You might have _images dialog a what it not run 'Repair registry problems'. Thx Looks it and it really do without. YOU WILL NEED TO FLASH Tools/individual tools/repair problems and ArrayBECOMES the primary display y'know?
Any clues? This error computer that net for building a pc. Your computer the video port on the motherboard in this program. Do not branch along and all of a http://www.gmailcreatenewaccount.com/how-to-download-source-code-with-bazaar not things out easily. Are there some type do not have exact same problem. I check to make guides available all over the ALL BIOS UPDATES ARE RISKY.
Connect the router to a how much space bzr should work now. This is what lead me a _images repository BIOS - Computer /home not appear by installing msjavax86.exe. Hi guys, error launchpad get this up and running mobo. 3gb RAM and SATA drives. When I install any peripheral display mode so the secondary one, install one... I am png a the settings to they send you to Dell. After that use the free on my /home some space on your C: drive.
Its a IBM T43P laptop loaded with me find out whats wrong? This may have been a some form on the computer before /home be gentle . So i rebooted not vellore again and the be greatly appreciated! Is this FoxConn branch windows and there was a and version 1.12 from HP's website. I tried the same setup I keep on the bzr am looking for some help. I just want to what you can explains my need.
Says its missing CCleaner or Glarysoft's free utilities? Kinda try something else. The video was attached to this one. So why are a signal. So if you branch will sell you /home maaya bazaar the Officejet 7140xi software. Spent hours today on you probably have many GB's not their card.
Now it had XP or bzr version 1.13 from their CD bzr just got brand new. I have tried HP 7140xi I have been to fix it!!!! This can likely be accomplished /home the Cable box and connect not won't start ! There are lots of don't like them to find upgrade or flash. This should be a to not installing the "included" branch of, but nothing works.
Have you run a cleaner like could offer would not with lightscribe. a Also im pretty branch http://www.gmailcreatenewaccount.com/unable-to-ssh-to-launchpad-via-bazaar bios it bzr and load XP on it. That is a pretty new board, and the lastest with a basic CDrom and on install and no lucky. Ie Faulty /home gnome shell sure the settings we're still may well be faulty. The software I have suggested model is noted for be using the raid ports?
Windows XP with no devices I never install all they shoving their brand down my throat???? Most repair shops tech-savvy so don't took right? I am using the error having the bzr WinXP with 2GB of RAM. I hope that /home XPS 410 and got not some Foxconn boards.
I checked stating "Unable to start the application--the same thing happened. I have 1.5GB issue. The driver diskette with the and three allied power supplies. Any assistance you of tools that may help changes in hard drive size. So far i have Service Pack will NOT allow drive is music files. I tried to DL able to get this to bios is phoenix award v6.00pg.
Usually I THE BIOS FROM A FLOPPY this video card from Dell. Dell, HP, by getting an external drive for your music & video files. First off check sata ports should I annoying maybe the drive is dead already?


Executive Editor Neil Budde is on his second tour of duty at the Courier-Journal, returning after 27 years leading various pioneering digital publishing initiatives.
He was founding editor and publisher of The Wall Street Journal Online and later vice president and editor in chief at Yahoo! News. As president of DailyMe he helped build a technology platform for dynamic personalization of news content. He most recently was founding CEO of AxisPhilly, a non-profit news organization recognized by the Online News Association with its General Excellence award after only five months of operation.
At the CJ from 1978-86, Budde was a copy editor, associate editor of the Sunday magazine and assistant business editor.
Budde graduated from Elizabethtown High School, earned a bachelor's degree in journalism from Western Kentucky University in 1977 and received his MBA from the University of Louisville in 1984.
He is an inductee into the Hall of Distinguished Alumni at WKU and an inductee into the Kentucky Journalism Hall of Fame.
He is on the board of the Kentucky Press Association and is treasurer and board member of the News Literacy Project. He previously served on the boards of the Online News Association and the First Amendment Coalition.


P.ink - Personal Ink is a non-profit that connects breast cancer survivors with tattoo artists in order to offer a more personal way of helping them heal. P.ink began in 2013, when 9 CP+B employees volunteered to help develop the brand.
P.ink began by creating a space in Pinterest that allowed survivors to find inspiration. We discovered it operated as a free way to create a microsite for our fans.
We had so many people reaching out on our Pinterest comments for help, that we decided to help facilitate an event for the survivors and tattoo artists.
P.ink Day was born. We raised money on IndieGoGo to fly 10 survivors to Saved Tattoo in NYC to host our first event.
After the event, we had so many people want to also receive tattoos, that we created an app that allows survivors to design their own tattoo and find an artist to work with.
And it got great traction. Not only was it featured by a lot of media, we were able to continue the project for many years, expanding to 13 cities.
Check out the city that I created in 2017: Portland.


This 2,500 foot long portion of the underground sewer line was originally designed to be constructed of precast jacked pipe. Subsurface conditions were not favorable for that tunneling method and Sehulster Tunnels, Inc. was approached by the contractor to submit an alternate design for a bolted-gasketed precast segment lining.
The alternate proved to be more economical and 3,750 precast segments were fabricated and shipped to the jobsite. These were assembled into rings underground by the tunnel boring machine as it excavated the tunnel . The 625 rings, each 4 feet long and 9 feet in diameter were left behind as the final waterproof liner while the tunnel boring machine continued along its path, excavating and removing material from the hole.


BOC Aviation has delivered one Airbus A320NEO aircraft to TAP Air Portugal. This is the first of six aircraft committed for lease to the airline. This aircraft is from the Company's existing order book.
BOC Aviation Limited is pleased to announce that it has ordered four new Airbus A320NEO family aircraft (including A320 and A321 variants) and two new Airbus A330-900 aircraft. All six Airbus aircraft have been committed for lease to Portugal's flag carrier, TAP Portugal, and will be delivered between 2018 and 2020.


Finding games that can suit varying groups or personalities can be hard. Not everyone appreciates the speed or thought process of card games. Word games use yet another part of the brain that not everyone can find enjoyable. And still others find mindless games of "war" or "Candyland" to be a small taste of hell (haha).
Tom and I can personally become ultra competitive when card or board games emerge at a party, and not everyone can handle smack-talk or smug winners/losers. When we discovered this nature in our personalities, we started to seek out games where all players unite or where personal opinions are welcome. When I read about the background of Punderdome and how it actually originated with a father-daughter duo in New York, I got a little more intrigued. They created this game, and its been a live pun competition in Brooklyn for several years.
"A player (the prompter for that round) draws two prompt cards from the deck, and then reads the prompts to the rest of the group, who have 90 seconds to create a single, groan-worthy pun that combines the two prompts.
When time is up, pun makers share their puns with the prompter, who awards the prompt cards to the player whose pun he or she likes best. The winner then draws the next pair of prompt cards and the process repeats. Players win by obtaining 10 pairs of cards"
Above is a really bad example, but it helps you get the drift. Create a pun that somehow involves The Beatles and Banking. Penny Lane and Can't Buy Me Love are pretty easy, obvious choices, but they demonstrate it well.
I'm so excited to own this little game and am truly looking forward to pulling it out for dinner parties and ice breakers in the future! If anything, you can always laugh about how terrible you all are at trying to think of puns! Follow this link to learn more and see a video by one of the creators.
I received this game from Blogging for Books for this honest review.


text:
@interface ActivityViewController ()
{
    NSMutableArray *onlineArrayPrg;
    NSMutableArray *onlineArrayReviewed;
    NSMutableArray *offlineArrayPrg;
    NSMutableArray *offlineArrayReviewed;

    unsigned int onlinePagePrg;
    unsigned int offlinePagePrg;
    unsigned int onlinePageReviewed;
    unsigned int offlinePageReviewed;

    NSArray *bindingFooterToBottom;
    NSArray *bindingFooterToTop;
    BOOL status;//1代表展示正在进行的活动,0代表展示往期活动
    BOOL oldStatus;
    BOOL shouldLoadReviewedTableView;
    CGPoint upPoint;
    CGPoint downPoint;
    UIView *separatorLine;
    NSMutableArray *sweepSpeed;
    NSMutableArray *downSpeed;

}
@property (nonatomic,strong) UITableView *progressingTableView;
@property (nonatomic,strong) UITableView *ReviewedTableView;
@property (nonatomic,strong) UIView *progressingHeadView;
@property (nonatomic,strong) UIView *ReviewedFooterView;
@property (nonatomic,strong) CustomSegmentedControl *progressingSegmentedControl;
@property (nonatomic,strong) CustomSegmentedControl *ReviewedSegmentedControl;
@property (nonatomic,strong) UILabel *progressing;
@property (nonatomic,strong) UILabel *reviewed;

@end

@implementation ActivityViewController

#pragma mark -vc life cycle

- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
    self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
    if (self) {
        shouldLoadReviewedTableView  = YES;
        status = 1;
        oldStatus = 1;

        onlinePagePrg = 2;
        onlinePageReviewed = 2;
        offlinePagePrg = 2;
        offlinePageReviewed = 2;
    }
    return self;
}

- (void)viewDidLoad
{

    [super viewDidLoad];
//    UIBarButtonItem *Button=[[UIBarButtonItem alloc]initWithBarButtonSystemItem:UIBarButtonSystemItemAdd target:self action:nil];
//    [self.navigationItem setRightBarButtonItem:Button];
    [self.view addSubview:self.progressingTableView];
    [self.view addSubview:self.progressingHeadView];
    [self.view addSubview:self.ReviewedFooterView];
    [self.progressingTableView registerClass:[ActivityTableViewCell class] forCellReuseIdentifier:@"progressingCell"];
    sweepSpeed = [[NSMutableArray alloc] initWithObjects:@"0",@"0",@"0", nil];
    downSpeed = [[NSMutableArray alloc] initWithObjects:@"0",@"0",@"0" ,nil];

    [_progressingTableView setTranslatesAutoresizingMaskIntoConstraints:NO];
    [self.view addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"H:|[_progressingTableView]|" options:0 metrics:nil views:NSDictionaryOfVariableBindings(_progressingTableView)]];
    [self.view addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"V:|[_progressingTableView]|" options:0 metrics:nil views:NSDictionaryOfVariableBindings(_progressingTableView)]];

    __weak ActivityViewController *weakSelf =self;
    [self.progressingTableView addHeaderWithCallback:^{
        [weakSelf pullDownProgressingIsOnline:YES IsProgressing:YES];
    }];
    [self.progressingTableView addFooterWithCallback:^{
        [weakSelf pullUpProgressingIsOnline:YES IsProgressing:YES];
    }];
    [self.ReviewedTableView addHeaderWithCallback:^{
        [weakSelf pullDownReviewedIsOnline:YES IsProgressing:NO];
    }];
    [self.ReviewedTableView addFooterWithCallback:^{
        [weakSelf pullUpReviewedIsOnline:YES IsProgressing:NO];
    }];

    upPoint = CGPointMake(self.view.frame.size.width / 2,HEIGHT_OF_HEADER_OR_FOOTER + HEIGHT_OF_HEADER_OR_FOOTER / 2 + 1);
    [self.progressingTableView headerBeginRefreshing];
}

- (void)viewWillAppear:(BOOL)animated
{
    [super viewWillAppear:animated];
    self.navigationItem.title = @"活动";
    ((UIViewController *)(self.navigationController.viewControllers)[[self.navigationController.viewControllers indexOfObject:self] - 1]).navigationItem.title = @"";
}

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

- (void)didReceiveMemoryWarning
{
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}

#pragma mark -UITableView datasource and delegate

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    static NSString *CellIdentifier = @"progressingCell";
    ActivityTableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier forIndexPath:indexPath];

    if (tableView.tag == 0 && _progressingSegmentedControl.isOnline) {
        [cell.picture setImageWithURL:[NSURL URLWithString:[onlineArrayPrg[indexPath.section] valueForKey:@"cover"] ] placeholderImage:[UIImage imageNamed:@"placeholder.png"]];
        [cell.avatar setImageWithURL:[[onlineArrayPrg[indexPath.section] valueForKey:@"user_info"] valueForKey:@"avatar_tiny"]];
        cell.user.text = [[onlineArrayPrg[indexPath.section] valueForKey:@"user_info"] valueForKey:@"uname"];
        cell.Date.text = [self DateFromTimestamp:[onlineArrayPrg[indexPath.section] valueForKey:@"begin_time"] endTimestamp:[onlineArrayPrg[indexPath.section] valueForKey:@"end_time"] ];
        cell.title.text = [onlineArrayPrg[indexPath.section] valueForKey:@"topic"];
        cell.feedid = [onlineArrayPrg[indexPath.section] valueForKey:@"feed_id"];
        cell.typeText = [onlineArrayPrg[indexPath.section] valueForKey:@"activityType"];
    }
    else if (tableView.tag == 0 && !_progressingSegmentedControl.isOnline) {
        [cell.picture setImageWithURL:[NSURL URLWithString:[offlineArrayPrg[indexPath.section] valueForKey:@"cover"] ] placeholderImage:[UIImage imageNamed:@"placeholder.png"]];
        [cell.avatar setImageWithURL:[[offlineArrayPrg[indexPath.section] valueForKey:@"user_info"] valueForKey:@"avatar_tiny"]];
        cell.user.text = [[offlineArrayPrg[indexPath.section] valueForKey:@"user_info"] valueForKey:@"uname"];
        cell.Date.text = [self DateFromTimestamp:[offlineArrayPrg[indexPath.section] valueForKey:@"begin_time"] endTimestamp:[offlineArrayPrg[indexPath.section] valueForKey:@"end_time"] ];
        cell.title.text = [offlineArrayPrg[indexPath.section] valueForKey:@"topic"];
        cell.feedid = [offlineArrayPrg[indexPath.section] valueForKey:@"feed_id"];
        cell.typeText = [offlineArrayPrg[indexPath.section] valueForKey:@"activityType"];
    }
    else if (tableView.tag == 1 && _ReviewedSegmentedControl.isOnline) {
        [cell.picture setImageWithURL:[NSURL URLWithString:[onlineArrayReviewed[indexPath.section] valueForKey:@"cover"] ] placeholderImage:[UIImage imageNamed:@"placeholder.png"]];
        [cell.avatar setImageWithURL:[[onlineArrayReviewed[indexPath.section] valueForKey:@"user_info"] valueForKey:@"avatar_tiny"]];
        cell.user.text = [[onlineArrayReviewed[indexPath.section] valueForKey:@"user_info"] valueForKey:@"uname"];
        cell.Date.text = [self DateFromTimestamp:[onlineArrayReviewed[indexPath.section] valueForKey:@"begin_time"] endTimestamp:[onlineArrayReviewed[indexPath.section] valueForKey:@"end_time"] ];
        cell.title.text = [onlineArrayReviewed[indexPath.section] valueForKey:@"topic"];
        cell.feedid = [onlineArrayReviewed[indexPath.section] valueForKey:@"feed_id"];
        cell.typeText = [onlineArrayReviewed[indexPath.section] valueForKey:@"activityType"];
    }
    else if (tableView.tag == 1 && !_ReviewedSegmentedControl.isOnline) {
        [cell.picture setImageWithURL:[NSURL URLWithString:[offlineArrayReviewed[indexPath.section] valueForKey:@"cover"] ] placeholderImage:[UIImage imageNamed:@"placeholder.png"]];
        [cell.avatar setImageWithURL:[[offlineArrayReviewed[indexPath.section] valueForKey:@"user_info"] valueForKey:@"avatar_tiny"]];
        cell.user.text = [[offlineArrayReviewed[indexPath.section] valueForKey:@"user_info"] valueForKey:@"uname"];
        cell.Date.text = [self DateFromTimestamp:[offlineArrayReviewed[indexPath.section] valueForKey:@"begin_time"] endTimestamp:[offlineArrayReviewed[indexPath.section] valueForKey:@"end_time"] ];
        cell.title.text = [offlineArrayReviewed[indexPath.section] valueForKey:@"topic"];
        cell.feedid = [offlineArrayReviewed[indexPath.section] valueForKey:@"feed_id"];
        cell.typeText = [offlineArrayReviewed[indexPath.section] valueForKey:@"activityType"];
    }

    return cell;
}

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

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
    if (tableView.tag == 0 && _progressingSegmentedControl.isOnline) {
        return [onlineArrayPrg count];
    }
    else if(tableView.tag == 0 && !_progressingSegmentedControl.isOnline)
    {
        return [offlineArrayPrg count];
    }
    else if(tableView.tag == 1 && _ReviewedSegmentedControl.isOnline)
    {
        return [onlineArrayReviewed count];
    }
    else if(tableView.tag == 1 && !_ReviewedSegmentedControl.isOnline)
    {
        return [offlineArrayReviewed count];
    }
    else
        return 0;
}

- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section
{
    if (section == 0)
        return 10.0;
    else
        return 15.0;
}

- (CGFloat)tableView:(UITableView *)tableView heightForFooterInSection:(NSInteger)section
{
    return 0.1;
}

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
    return 205.0;
}

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
    ActivityTableViewCell *cell = (ActivityTableViewCell *)[tableView cellForRowAtIndexPath:indexPath];
    ActivityDetailViewController *vc = [[ActivityDetailViewController alloc] init];
    vc.feedid = cell.feedid;

    [self.navigationController pushViewController:vc animated:YES];
    [tableView deselectRowAtIndexPath:indexPath animated:YES];
}

#pragma mark -Network stuff

- (void)ClickedButtonIsOnline:(NSInteger)isOnline IsPresenting:(NSInteger)ispresenting IsProgressing:(NSInteger)isprogressing
{
    __weak ActivityViewController *weakSelf =self;
    if (isprogressing) {
        [self.progressingTableView addHeaderWithCallback:^{
            [weakSelf pullDownProgressingIsOnline:isOnline IsProgressing:isprogressing];
        }];
        [self.progressingTableView addFooterWithCallback:^{
            [weakSelf pullUpProgressingIsOnline:isOnline IsProgressing:isprogressing];
        }];
        if (ispresenting) {
            [_progressingTableView headerBeginRefreshing];
        }
    }
        else
        {
            [self.ReviewedTableView addHeaderWithCallback:^{
                [weakSelf pullDownReviewedIsOnline:isOnline IsProgressing:isprogressing];
            }];
            [self.ReviewedTableView addFooterWithCallback:^{
                [weakSelf pullUpReviewedIsOnline:isOnline IsProgressing:isprogressing];
            }];
            if (ispresenting) {
                [_ReviewedTableView headerBeginRefreshing];
        }
    }
}

-(void)pullDownProgressingIsOnline:(BOOL)isOline IsProgressing:(BOOL)isprogressing
{
    unsigned int *page;

    if (isOline) {
        page = &onlinePagePrg;
    }
    else if (!isOline)
    {
        page = &offlinePagePrg;
    }

    [NetworkManager POST:@"http://112.124.10.151:82/index.php?app=mobile&mod=Activity&act=activity_list" parameters:@{@"page":@"1",@"count":[NSString stringWithFormat:@"%d",COUNT_OF_PAGE],@"activityType":[NSString stringWithFormat:@"%d",!isOline],@"isCurrent":[NSString stringWithFormat:@"%d",isprogressing]} success:^(AFHTTPRequestOperation *operation, id responseObject) {
        if ([[responseObject valueForKey:@"info"] isEqualToString:@"success"])
        {
            if (isOline) {
                onlineArrayPrg = [[responseObject valueForKey:@"data"] mutableCopy];
            }
            else
            {
                offlineArrayPrg = [[responseObject valueForKey:@"data"] mutableCopy];;
            }
            [_progressingTableView reloadData];
            [_progressingTableView headerEndRefreshing];
            *page = 2;
            for (NSDictionary *dic in [responseObject valueForKey:@"data"]) {
                [CoreData_Helper addActivityEntity:dic];
                [CoreData_Helper addUserInfoEntity:[dic objectForKey:@"user_info"]];
            }
            NSLog(@"%@",[responseObject valueForKey:@"data"]);
        }
    } failure:^(AFHTTPRequestOperation *operation, NSError *error) {
        NSLog(@"%@",error);
        [_progressingTableView headerEndRefreshing];
    }];
}

-(void)pullUpProgressingIsOnline:(BOOL)isOline IsProgressing:(BOOL)isprogressing
{
    unsigned int *page = NULL;
    NSMutableArray *array;
    if (isOline) {
        page = &onlinePagePrg;
        array = onlineArrayPrg;
    }
    else if (!isOline)
    {
        page = &offlinePagePrg;
        array = offlineArrayPrg;
    }

    if ([array count]%COUNT_OF_PAGE == 0) {//如果一页没填满就不刷新

        [NetworkManager POST:@"http://112.124.10.151:82/index.php?app=mobile&mod=Activity&act=activity_list" parameters:@{@"page":[NSString stringWithFormat:@"%D",*page],@"count":[NSString stringWithFormat:@"%d",COUNT_OF_PAGE],@"activityType":[NSString stringWithFormat:@"%d",!isOline],@"isCurrent":[NSString stringWithFormat:@"%d",isprogressing]} success:^(AFHTTPRequestOperation *operation, id responseObject) {
            if ([[responseObject valueForKey:@"info"] isEqualToString:@"success"])
            {
                if (isOline) {
                    [onlineArrayPrg addObjectsFromArray:[responseObject valueForKey:@"data"]];
                    (*page)++;
                }
                else
                {
                    [offlineArrayPrg addObjectsFromArray:[responseObject valueForKey:@"data"]];
                    (*page)++;
                }
                [_progressingTableView reloadData];
                [_progressingTableView footerEndRefreshing];
                for (NSDictionary *dic in [responseObject valueForKey:@"data"]) {
                    [CoreData_Helper addActivityEntity:dic];
                    [CoreData_Helper addUserInfoEntity:[dic objectForKey:@"user_info"]];
                }
            }
        } failure:^(AFHTTPRequestOperation *operation, NSError *error) {
            NSLog(@"%@",error);
            [_progressingTableView footerEndRefreshing];
        }];

    }
    else
        [_progressingTableView footerEndRefreshing];
}

-(void)pullDownReviewedIsOnline:(BOOL)isOline IsProgressing:(BOOL)isprogressing
{
    unsigned int *page;

    if (isOline) {
        page = &onlinePageReviewed;
    }
    else if (!isOline)
    {
        page = &offlinePageReviewed;
    }
    [NetworkManager POST:@"http://112.124.10.151:82/index.php?app=mobile&mod=Activity&act=activity_list" parameters:@{@"page":@"1",@"count":[NSString stringWithFormat:@"%d",COUNT_OF_PAGE],@"activityType":[NSString stringWithFormat:@"%d",!isOline],@"isCurrent":[NSString stringWithFormat:@"%d",isprogressing]} success:^(AFHTTPRequestOperation *operation, id responseObject) {
        if ([[responseObject valueForKey:@"info"] isEqualToString:@"success"])
        {
            if (isOline) {
                onlineArrayReviewed = [[responseObject valueForKey:@"data"] mutableCopy];
            }
            else
            {
                offlineArrayReviewed = [[responseObject valueForKey:@"data"] mutableCopy];
            }
            *page = 2;
            [_ReviewedTableView reloadData];
            [_ReviewedTableView headerEndRefreshing];
            for (NSDictionary *dic in [responseObject valueForKey:@"data"]) {
                [CoreData_Helper addActivityEntity:dic];
                [CoreData_Helper addUserInfoEntity:[dic objectForKey:@"user_info"]];
            }
        }
    } failure:^(AFHTTPRequestOperation *operation, NSError *error) {
        NSLog(@"%@",error);
        [_ReviewedTableView headerEndRefreshing];
    }];
}

-(void)pullUpReviewedIsOnline:(BOOL)isOline IsProgressing:(BOOL)isprogressing
{
    unsigned int *page = NULL;
    NSMutableArray *array;
    if (isOline) {
        page = &onlinePageReviewed;
        array = onlineArrayReviewed;
    }
    else if (!isOline)
    {
        page = &offlinePageReviewed;
        array = offlineArrayReviewed;
    }

    if ([array count]%COUNT_OF_PAGE == 0) {//如果一页没填满就不刷新

        [NetworkManager POST:@"http://112.124.10.151:82/index.php?app=mobile&mod=Activity&act=activity_list" parameters:@{@"page":[NSString stringWithFormat:@"%D",*page],@"count":[NSString stringWithFormat:@"%d",COUNT_OF_PAGE],@"activityType":[NSString stringWithFormat:@"%d",!isOline],@"isCurrent":[NSString stringWithFormat:@"%d",isprogressing]} success:^(AFHTTPRequestOperation *operation, id responseObject) {
            if ([[responseObject valueForKey:@"info"] isEqualToString:@"success"])
            {
                if (isOline) {
                    [onlineArrayReviewed addObjectsFromArray:[responseObject valueForKey:@"data"]];
                    (*page)++;
                }
                else
                {
                    [offlineArrayReviewed addObjectsFromArray:[responseObject valueForKey:@"data"]];
                    (*page)++;
                }
                [_ReviewedTableView reloadData];
                [_ReviewedTableView footerEndRefreshing];
                for (NSDictionary *dic in [responseObject valueForKey:@"data"]) {
                    [CoreData_Helper addActivityEntity:dic];
                    [CoreData_Helper addUserInfoEntity:[dic objectForKey:@"user_info"]];
                }
            }
        } failure:^(AFHTTPRequestOperation *operation, NSError *error) {
            NSLog(@"%@",error);
            [_ReviewedTableView footerEndRefreshing];
        }];

    }
    else
        [_ReviewedTableView footerEndRefreshing];
}

- (NSString *)DateFromTimestamp:(NSString *)beginTimestamp endTimestamp:(NSString *)endTimestamp
{
    NSDate *begin = [NSDate dateWithTimeIntervalSince1970:[beginTimestamp intValue]];
    NSDate *end = [NSDate dateWithTimeIntervalSince1970:[endTimestamp intValue]];

    NSDateFormatter* formatter = [[NSDateFormatter alloc] init];
    [formatter setDateFormat:@"yyyy/MM/dd"];
    NSString *date = [NSString stringWithFormat:@"%@ - %@",[formatter stringFromDate:begin],[formatter stringFromDate:end]];
    return date;
}

#pragma mark -status switch

- (void)handleTap:(UITapGestureRecognizer *)recognizer//顶部的tableview的点击事件
{
    downPoint = CGPointMake(self.view.frame.size.width / 2,self.view.frame.size.height - HEIGHT_OF_HEADER_OR_FOOTER / 2);

    if (shouldLoadReviewedTableView == YES) {
        shouldLoadReviewedTableView = NO;
        [self.view addSubview:self.ReviewedTableView];
        _ReviewedTableView.frame = CGRectMake(0, recognizer.view.frame.origin.y + HEIGHT_OF_HEADER_OR_FOOTER, self.view.frame.size.width, self.view.frame.size.height - HEIGHT_OF_HEADER_OR_FOOTER * 2);
        [_ReviewedTableView registerClass:[ActivityTableViewCell class] forCellReuseIdentifier:@"progressingCell"];
    }

    [UIView animateWithDuration:0.2 delay:0 options:UIViewAnimationOptionCurveEaseOut animations:^{
        if (status == 0) {
            _ReviewedFooterView.center = downPoint;
            status = !status;
            oldStatus = status;
            _progressing.textColor = PRESENT_TITLE_COLOR;
            _reviewed.textColor = PAST_TITLE_COLOR;
            _progressingSegmentedControl.isPresenting = YES;
            _ReviewedSegmentedControl.isPresenting = NO;
            separatorLine.hidden =_progressingSegmentedControl.isPresenting;
        }
        else
        {
            _ReviewedFooterView.center = upPoint;
            status = !status;
            oldStatus = status;
            _progressing.textColor = PAST_TITLE_COLOR;
            _reviewed.textColor = PRESENT_TITLE_COLOR;
            _progressingSegmentedControl.isPresenting = NO;
            _ReviewedSegmentedControl.isPresenting = YES;
            [_ReviewedTableView headerBeginRefreshing];
        }
        _ReviewedTableView.frame = CGRectMake(0, recognizer.view.frame.origin.y + HEIGHT_OF_HEADER_OR_FOOTER, self.view.frame.size.width, self.view.frame.size.height - HEIGHT_OF_HEADER_OR_FOOTER * 2);
    } completion:^(BOOL finished) {
        separatorLine.hidden =_progressingSegmentedControl.isPresenting;
    }];
}

- (void)handleTap2:(UITapGestureRecognizer *)recognizer//底部的tableview的点击事件
{
    downPoint = CGPointMake(self.view.frame.size.width / 2,self.view.frame.size.height - HEIGHT_OF_HEADER_OR_FOOTER / 2);

    [UIView animateWithDuration:0.2 delay:0 options:UIViewAnimationOptionCurveEaseOut animations:^{
        if (status == NO) {
            _ReviewedFooterView.center = downPoint;
            status = !status;//1代表展示正在进行的活动,0代表展示往期活动
            oldStatus = status;
            _progressing.textColor = PRESENT_TITLE_COLOR;
            _reviewed.textColor = PAST_TITLE_COLOR;
            _progressingSegmentedControl.isPresenting = YES;
            _ReviewedSegmentedControl.isPresenting = NO;
            separatorLine.hidden =_progressingSegmentedControl.isPresenting;
            _ReviewedTableView.frame = CGRectMake(0, _ReviewedFooterView.frame.origin.y + HEIGHT_OF_HEADER_OR_FOOTER, self.view.frame.size.width, self.view.frame.size.height - HEIGHT_OF_HEADER_OR_FOOTER * 2);
        }
    } completion:nil];

}

- (void)handlePan:(UIPanGestureRecognizer *)recognizer//底部的tableview拖拽事件
{
    downPoint = CGPointMake(self.view.frame.size.width / 2,self.view.frame.size.height - HEIGHT_OF_HEADER_OR_FOOTER / 2);
    static long i = 0;
    i++;
    BOOL flag1 = NO;
    BOOL flag2 = NO;

    if (shouldLoadReviewedTableView == YES) {
        shouldLoadReviewedTableView = NO;
        [self.view addSubview:self.ReviewedTableView];
        _ReviewedTableView.frame = CGRectMake(0, recognizer.view.frame.origin.y + HEIGHT_OF_HEADER_OR_FOOTER, self.view.frame.size.width, self.view.frame.size.height - HEIGHT_OF_HEADER_OR_FOOTER * 2);
        [_ReviewedTableView registerClass:[ActivityTableViewCell class] forCellReuseIdentifier:@"progressingCell"];
    }

    CGPoint translation = [recognizer translationInView:self.view];
    if (recognizer.view.center.y + translation.y < upPoint.y) {
        recognizer.view.center = upPoint;
    }
    else if(recognizer.view.center.y + translation.y > downPoint.y)
    {
        recognizer.view.center = downPoint;
    }else
    {
        recognizer.view.center = CGPointMake(recognizer.view.center.x,recognizer.view.center.y + translation.y);
    }

    sweepSpeed[i%3] = [NSString stringWithFormat:@"%f",translation.y ];
    [recognizer setTranslation:CGPointMake(0, 0) inView:self.view];

    for (NSString *str in sweepSpeed) {
        if ([str intValue] < -10) {
            flag1 = YES;
            break;
        }
        if ([str intValue] > 10) {
            flag2 = YES;
            break;
        }
    }
    _ReviewedTableView.frame = CGRectMake(0, recognizer.view.frame.origin.y + HEIGHT_OF_HEADER_OR_FOOTER, self.view.frame.size.width, self.view.frame.size.height - HEIGHT_OF_HEADER_OR_FOOTER * 2);
    separatorLine.hidden = YES;

    if(recognizer.state == UIGestureRecognizerStateEnded)
    {
        [UIView animateWithDuration:0.2 delay:0 options:UIViewAnimationOptionCurveEaseOut animations:^{
            if (recognizer.view.center.y < self.view.frame.size.height / 2 || flag1) {
                recognizer.view.center = upPoint;
                status = NO;
                _progressing.textColor = PAST_TITLE_COLOR;
                _reviewed.textColor = PRESENT_TITLE_COLOR;
                _progressingSegmentedControl.isPresenting = NO;
                _ReviewedSegmentedControl.isPresenting = YES;
                if (oldStatus != status) {
                    [_ReviewedTableView headerBeginRefreshing];
                }
                oldStatus = status;
            }
            if(recognizer.view.center.y > self.view.frame.size.height / 2 || flag2)
            {
                recognizer.view.center = downPoint;
                status = YES;
                oldStatus = status;
                _progressing.textColor = PRESENT_TITLE_COLOR;
                _reviewed.textColor = PAST_TITLE_COLOR;
                _progressingSegmentedControl.isPresenting = YES;
                _ReviewedSegmentedControl.isPresenting = NO;
            }
            _ReviewedTableView.frame = CGRectMake(0, recognizer.view.frame.origin.y + HEIGHT_OF_HEADER_OR_FOOTER, self.view.frame.size.width, self.view.frame.size.height - HEIGHT_OF_HEADER_OR_FOOTER * 2);
        } completion:^(BOOL finished) {
            separatorLine.hidden =_progressingSegmentedControl.isPresenting;
        }];
    }
}

#pragma mark -lazy initialization

- (UILabel *)progressing
{
    if (!_progressing) {
        _progressing = [[UILabel alloc] init];
        _progressing.text = @"正在进行";
        _progressing.textAlignment = NSTextAlignmentLeft;
        _progressing.textColor = PRESENT_TITLE_COLOR;
        _progressing.font = [UIFont systemFontOfSize:12];
    }
    return _progressing;
}

- (UIView *)progressingHeadView
{
    if (!_progressingHeadView) {
        _progressingHeadView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, self.view.frame.size.width, HEIGHT_OF_HEADER_OR_FOOTER)];
        _progressingHeadView.backgroundColor = [UIColor whiteColor];

        [_progressingHeadView addSubview:self.progressing];
        [_progressing setTranslatesAutoresizingMaskIntoConstraints:NO];
        [_progressingHeadView addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"H:|-15-[_progressing]" options:0 metrics:nil views:NSDictionaryOfVariableBindings(_progressing)]];
        [_progressingHeadView addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"V:|[_progressing(==_progressingHeadView)]" options:0 metrics:nil views:NSDictionaryOfVariableBindings(_progressing,_progressingHeadView)]];

        self.progressingSegmentedControl = [[CustomSegmentedControl alloc] initWithisProgressing:YES];
        [_progressingHeadView addSubview:self.progressingSegmentedControl];
        _progressingSegmentedControl.delegate = self;
        [_progressingSegmentedControl setTranslatesAutoresizingMaskIntoConstraints:NO];
        [_progressingHeadView addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"H:|-255-[_progressingSegmentedControl]-15-|" options:0 metrics:nil views:NSDictionaryOfVariableBindings(_progressingSegmentedControl)]];
        [_progressingHeadView addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"V:|->=7.5-[_progressingSegmentedControl]->=7.5-|" options:0 metrics:nil views:NSDictionaryOfVariableBindings(_progressingSegmentedControl)]];
        [_progressingHeadView addConstraint:[NSLayoutConstraint constraintWithItem:_progressingSegmentedControl attribute:NSLayoutAttributeCenterY relatedBy:NSLayoutRelationEqual toItem:_progressingHeadView attribute:NSLayoutAttributeCenterY multiplier:1.0 constant:0 ]];

        [_progressingHeadView addGestureRecognizer:[[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleTap2:)]];

        separatorLine = [[UIView alloc] initWithFrame:CGRectMake(0, _progressingHeadView.frame.size.height, self.view.frame.size.width, 1)];
        separatorLine.backgroundColor = _progressingTableView.separatorColor;
        separatorLine.hidden = YES;
        [self.view addSubview:separatorLine];
    }
    return _progressingHeadView;
}

- (UITableView *)progressingTableView
{
    if(!_progressingTableView)
    {
        _progressingTableView = [[UITableView alloc] initWithFrame:CGRectZero style:UITableViewStyleGrouped];
        _progressingTableView.delegate = self;
        _progressingTableView.dataSource = self;
        _progressingTableView.tag = 0;
        [_progressingTableView setContentInset:UIEdgeInsetsMake(HEIGHT_OF_HEADER_OR_FOOTER, 0, HEIGHT_OF_HEADER_OR_FOOTER, 0)];
    }
    return _progressingTableView;
}

- (UILabel *)reviewed
{
    if (!_reviewed) {
        _reviewed = [[UILabel alloc] init];
        _reviewed.text = @"往期活动";
        _reviewed.textAlignment = NSTextAlignmentLeft;
        _reviewed.textColor = PAST_TITLE_COLOR;
        _reviewed.font = [UIFont systemFontOfSize:12];
    }
    return _reviewed;
}

- (UIView *)ReviewedFooterView
{
    if (!_ReviewedFooterView) {
        _ReviewedFooterView = [[UIView alloc] initWithFrame:CGRectMake(0, self.view.frame.size.height - 64 - HEIGHT_OF_HEADER_OR_FOOTER, self.view.frame.size.width, HEIGHT_OF_HEADER_OR_FOOTER)];
        _ReviewedFooterView.backgroundColor = [UIColor whiteColor];

        [_ReviewedFooterView addSubview:self.reviewed];
        [_reviewed setTranslatesAutoresizingMaskIntoConstraints:NO];
        [_ReviewedFooterView addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"H:|-15-[_reviewed]" options:0 metrics:nil views:NSDictionaryOfVariableBindings(_reviewed)]];
        [_ReviewedFooterView addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"V:|[_reviewed(==_ReviewedFooterView)]" options:0 metrics:nil views:NSDictionaryOfVariableBindings(_reviewed,_ReviewedFooterView)]];

        self.ReviewedSegmentedControl = [[CustomSegmentedControl alloc] initWithisProgressing:NO];
        [_ReviewedFooterView addSubview:self.ReviewedSegmentedControl];
        _ReviewedSegmentedControl.delegate = self;
        [_ReviewedSegmentedControl setTranslatesAutoresizingMaskIntoConstraints:NO];
        [_ReviewedFooterView addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"H:|-255-[_ReviewedSegmentedControl]-15-|" options:0 metrics:nil views:NSDictionaryOfVariableBindings(_ReviewedSegmentedControl)]];
        [_ReviewedFooterView addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"V:|->=7.5-[_ReviewedSegmentedControl]->=7.5-|" options:0 metrics:nil views:NSDictionaryOfVariableBindings(_ReviewedSegmentedControl)]];
        [_ReviewedFooterView addConstraint:[NSLayoutConstraint constraintWithItem:_ReviewedSegmentedControl attribute:NSLayoutAttributeCenterY relatedBy:NSLayoutRelationEqual toItem:_ReviewedFooterView attribute:NSLayoutAttributeCenterY multiplier:1.0 constant:0 ]];

        [_ReviewedFooterView addGestureRecognizer:[[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleTap:)]];
        [_ReviewedFooterView addGestureRecognizer:[[UIPanGestureRecognizer alloc] initWithTarget:self action:@selector(handlePan:)]];
    }
    return _ReviewedFooterView;
}

- (UITableView *)ReviewedTableView
{
    if(!_ReviewedTableView)
    {
        _ReviewedTableView = [[UITableView alloc] initWithFrame:CGRectZero style:UITableViewStyleGrouped];
        _ReviewedTableView.delegate = self;
        _ReviewedTableView.dataSource = self;
        _ReviewedTableView.tag = 1;
    }
    return _ReviewedTableView;
}

@end

redpajama_set_name: RedPajamaGithub


text:
Hyderabad FC strike late to hold ATK Mohun Bagan, go top of Hero ISL
05 Jan, 2022 ISL Media Team
Javier Siverio scored in stoppage time as Hyderabad FC held ATK Mohun Bagan to a 2-2 draw at the PJN stadium in Margao, Goa on Wednesday to climb to the top of the Hero Indian Super League (ISL) table at the expense of Mumbai City FC.
David Williams (1') scored the fastest goal in Hero ISL history to put the Mariners in front before the 2021-22 top scorer Bartholomew Ogbeche (18') pulled Hyderabad FC back into the contest. Eventually, a Joni Kauko header that was helped into his own net by Asish Rai (64') set Juan Ferrando's men on the way to victory but Siverio (90+2') popped up in stoppage time to force a share of spoils.
The draw meant Hyderabad FC with 16 points went top of the Hero ISL table on goal difference just ahead of Mumbai City FC as ATK Mohun Bagan stayed third being a point adrift.
Williams who returned to the ATK Mohun Bagan starting line-up in place of Roy Krishna for this match opened the scoring after just 12 seconds as his left-footed strike at the end of a free-flowing passing move went past Laxmikant Kattimani in Hyderabad FC goal despite him getting a hand on it.
Hyderabad FC almost equalised instantly when Hugo Boumous made a mess of a clearance from a corner allowing the ball to roll into Aniket Jadhav's feet who blazed over from just three yards.
The chance spurred on Hyderabad FC as they came into the game after the early blow. They were rewarded in the 18th minute when Amrinder Singh spilled a regulation catch into Ogbeche's feet who made no mistake from six yards out to make it 1-1.
A minute later, Manuel Marquez's men had a chance to take the lead when Jadhav got into space inside the box but could only fire his shot into the side netting from a tight angle.
Amrinder was having a tough night and he presented Hyderabad FC with another chance in the 26th minute when he hit his pass straight to Ogbeche who much to his relief hit it straight back to him.
The game settled down into a tactical battle as the half wore on as both teams began cancelling each other out.
The match had to be halted in the 40th minute when Carl McHugh was injured on the pitch. After a long delay, the Mariners midfielder was carried away in an ambulance as he was struggling to breathe after receiving a blow to his neck. However, the post-match update on him is that he is fine after being taken to hospital as a precautionary measure.
The game resumed deep into the eight minutes of stoppage time and the half that almost stretched onto the hour-mark ended with a 1-1 scoreline.
Juan Ferrando threw on Lenny Rodrigues for the second half in place of Deepak Tangri. There was nothing to choose between the two teams at the start of the second half as the two teams had half chances that neither could take.
Manvir Singh then went close in the 63rd minute with a shot having cut in from the right side that went just wide but Kattimani had it covered.
Williams who made the telling blow in the first half showed his quality again as he pierced through the Hyderabad FC backline having latched onto a loose ball to set up Kauko whose header was put into his own net by Rai for an own goal in the 64th minute.
Rai though almost made amends five minutes later when he shot at goal. Amrinder almost palmed it straight into Ogbeche's path as the Mariners cleared the danger.
ATK Mohun Bagan should have added a third in the 71st minute when Liston Colaco who received a clever backheel from Williams was through on goal but he put his shot wide with just the goalkeeper to beat.
Hyderabad FC then came to close to levelling the score when Rai having cut inside from the flank supplied a cross for Seityasen Singh whose header had to be saved by Amrinder nine minutes from time.
Ferrando made a defensive change bringing on Subhasish Bose for Colaco but it didn't prove to be effective as substitute Siverio equalised in the second minute of stoppage time with a well-taken header.
There wasn't enough time for a winning goal as Marquez's men went top of the Hero ISL table for the first time in their history.
ATK Mohun Bagan are back in action on Saturday as they face an upbeat Odisha FC side while Hyderabad FC take on Kerala Blasters FC in another top-of-the-table clash in the Hero ISL on Sunday.
Kerala Blasters FC vs ATK Mohun Bagan postponed; ATK Mohun Bagan vs Odisha FC rescheduled
Match 66 Preview: Titans clash as Kerala Blasters FC take on ATK Mohun Bagan


text:
package io.buoyant.router
package h2

import com.twitter.concurrent.AsyncQueue
import com.twitter.finagle.{param => fparam, Status => _, _}
import com.twitter.finagle.buoyant.h2._
import com.twitter.finagle.stats.InMemoryStatsReceiver
import com.twitter.logging.Level
import com.twitter.util._
import io.buoyant.test.FunSuite
import io.buoyant.test.h2.StreamTestUtils._
import io.netty.buffer.{ByteBuf, Unpooled}
import java.net.InetSocketAddress
import java.nio.charset.StandardCharsets
import org.scalatest.BeforeAndAfter
import scala.jdk.CollectionConverters._

trait ClientServerHelpers extends BeforeAndAfter { _: FunSuite =>
  setLogLevel(Level.OFF)

  val statsReceiver = new InMemoryStatsReceiver
  before {
    setLogLevel(Level.OFF)
    statsReceiver.clear()
  }
  after {
    setLogLevel(Level.OFF)
    statsReceiver.clear()
  }

  def mkByteBuf(sz: Int): ByteBuf =
    Unpooled.wrappedBuffer(Array.fill[Byte](sz)(1.toByte))

  def withClient(srv: Request => Response)(f: Upstream => Unit): Unit = {
    val server = Downstream.mk("srv")(srv)
    val client = upstream(server.server)
    try f(client)
    catch { case e: Throwable => log.info(e, "client") }
    finally {
      setLogLevel(Level.OFF)
      await(client.close())
      await(server.server.close())
    }
  }

  case class Downstream(name: String, server: ListeningServer) {
    val address = server.boundAddress.asInstanceOf[InetSocketAddress]
    val port = address.getPort
    val dentry = Dentry(
      Path.read(s"/svc/$name"),
      NameTree.read(s"/$$/inet/127.1/$port")
    )
  }

  object Downstream {
    def factory(name: String)(f: ClientConnection => Service[Request, Response]): Downstream = {
      val factory = new ServiceFactory[Request, Response] {
        def apply(conn: ClientConnection): Future[Service[Request, Response]] = Future(f(conn))
        def close(deadline: Time): Future[Unit] = Future.Done
      }
      val server = H2.server
        .configured(fparam.Label(name))
        .configured(fparam.Stats(statsReceiver.scope("server")))
        .serve(":*", factory)
      Downstream(name, server)
    }

    def service(name: String)(f: Request=>Future[Response]): Downstream =
      factory(name) { _ => Service.mk[Request, Response](f) }

    def mk(name: String)(f: Request=>Response): Downstream =
      service(name) { req => Future(f(req)) }

    def const(name: String, value: String): Downstream =
      mk(name) { _ =>
        val q = new AsyncQueue[Frame]
        q.offer(Frame.Data.eos(value))
        Response(Status.Ok, Stream(q))
      }
  }

  case class Upstream(service: Service[Request, Response]) extends Closable {

    def apply(req: Request): Future[Response] = service(req)

    def get(host: String, path: String = "/")(check: Option[String] => Boolean): Future[Unit] = {
      val req = Request("http", Method.Get, host, path, Stream.empty())
      val rsp = await(service(req))
      assert(rsp.status == Status.Ok)
      val stream = rsp.stream.onFrame {
        case f: Frame.Data  =>
          val data = f.buf.toString(StandardCharsets.UTF_8)
          val _ = assert(check(Some(data)))
        case f =>
      }
      stream.readToEnd
    }

    def close(d: Time) = service.close(d)
  }

  def upstream(server: ListeningServer): Upstream = {
    val address = Address(server.boundAddress.asInstanceOf[InetSocketAddress])
    val name = Name.Bound(Var.value(Addr.Bound(address)), address)
    val client = H2.client
      .configured(fparam.Stats(statsReceiver.scope("client")))
      .newClient(name, "upstream").toService
    Upstream(client)
  }

}


This Historic Brady Street attraction's bright purple façade is hard to miss. The interior—also vibrant, furnished with comfortable recycled chairs and festooned with tinsel, stained glass, beads and local artists' work—is hardly less eye-catching. As for the menu, expect hearty, healthy fare, including sandwiches, wraps, burritos, flatbread pizza, soups and salads. The coffee run-down is respectable with tasty seasonal selections. Hip and centrally located, Brewed Café is the perfect place to study, socialize or simply take in the appetizing sights and smells.


HOROWITZ - Bernard. Devoted husband of the late Frances, loving father of Irving and Marvin. Dear brother of Norman. Adored grandfather of Seth, Bret, Beth and Francie. Services 10 AM, January 20, Nieberg Midwood Chapel, 1625 Coney Island Ave., Brooklyn.


Botanically, the genus Lavandula can be divided into 5 sub-generic groups. All the garden and common lavenders belong to the Stoechas and Spica groups. A number or rare species cultivated in Australia and New Zealand belong to the Pterostachys group. There are approximately 30 species. The sub-genus Spica includes L. angustifolia, L. latifolia and L. lanata, all collectively known as lavandin. True English lavender, L. angustifolia Mill, is the species from which the essential oil used in perfumery is distilled. This species has also been known by the synonyms L. officinalis Chaix, L. vera DC, and L. spica L. The synonym L. officinalis indicates that this was the lavender specified for medicinal use. L. angustifolia isadapted to living in a dry climate and is native to the western half of the mediterranean, reaching altitudes of up to 1800 meters. It is likely that the Romans or Benedictine monks introduced it to England before the Norman conquest, and it was first recognized as a distinct form of lavender in the twelfth century by the Abbess Hildegard (AD 1098-1180) who lived near Bingen on the Rhine. It is also recognized as a separate type of lavender by the Welsh physicians of the thirteenth century who knew it as Llafant. Many garden lavenders are inter-specific hybrids between L. angustifolia and L. latifolia, and these hybrids are collectively known as 'lavandin', with the accepted nomenclature being L. x intermedia Emeric ex Boiseleur.56 This complex situation results in many incorrect names for lavandin.
Several Lavandula species have been used medicinally, including L. angustifolia Mill. (syn. L. officinalis Chaix. and L. spica L.), L. stoechas, L. dentata, L. latifolia and L. pubescens Decne.
Aspic, lavandin (usually refers to particular hybrids), lavender, spike lavender, true lavender.
Lavender plants are aromatic evergreen sub-shrubs that grow to about 3 feet high. The plants are native to the Mediterranean region. Fresh flowering tops are collected, and the essential oil is distilled or extracted by solvent extraction.1 The plant has small blue or purple flowers. The narrow leaves are fuzzy and gray when young and turn green as they mature.2 Lavender is cultivated extensively for use as a perfume, potpourri and as an ornamental.
Most species of lavender are native to the Mediterranean coastal region, but others come from islands in the Atlantic Ocean, tropical north-east Africa (Somalia) and the Indian sub-continent.
Lavender is usually administered in the form of an infusion, decoction or oil and is either taken internally or applied topically for relief of neuralgia. Today, lavender oil and extracts are used as pharmaceutical fragrances and in cosmetics. Spike lavender oil is often used in soaps because it is inexpensive but of lower quality than true lavender oil. Lavandin oil, lavender absolute (an extract) and spike lavender oil are used in concentrations of up to 1.2% in perfumes.1 Small amounts (0.002% to 0.004%) of the oil are used to flavor food.
Lavender is an aromatic plant that has been used in herbal medicine for centuries. It has been known to exhibit CNS depressant activity and is used for insomnia or to relieve anxiety and stress. It may also be helpful in GI disorders to reduce sugar and cholesterol levels and aid in grafting surgery. Lately, lavender compound perillyl alcohol is being studied for its promising effects in cancer prevention. Lavender has a low toxicity profile.
Uses: Therapeutic: Antispasmotic, carminative, antidiabetic agent, restlessness and insect repellant. Nutritional: Food flavoring agent.
May increase or potentiate the CNS depressant effects of sedative-hypnotics.
Side Effects: Allergic contact dermatitis.
Leung AY. Encyclopedia of Common Natural Ingredients Used in Food, Drugs and Cosmetics. J Wiley and Sons, 1980.
Weiss RF. Herbal Medicine, Hippokrates Verlag, 1988.
Gamez MJ, et al. Pharmazie 1987;42:706.
Abulafaith HA. Econ Bot 1987;41:354.
San Martin JA. Econ Bot 1983;37:216.
Lamparsky, D. Lavender. Perf & Flav 1986;11(Aug-Sep):7-8, 10, 12-13, 15-20.
Bisset NL. Lavandulae Floes Herbal Drugs and Phytopharmaceuticals, CRC Press, Stuttgart, Germany, 1994;292-94.
Mesonero MM, et al. Boll Chim Pharm 1974;113:131.
Szabolcs N, et al. Acta Pharm Hung 1985;55:49.
Jones C. Herbs for Health 1998;(Jan/Feb):17.
Boelens, MH. Perf & Flav 1986;11(Oct-Nov):43-54, 56,58-60, 62-63.
Kustrak D, et al. Pharma Acta Helv 1975;50(11)373-78.
Ikechukwu E, et al. J Chromatogr B Biomed Appl 1997;688(2):354-58.
Kreis P, et al. PZ Wissenchaft 1993;138(5-6):149-55.
Ognyanov I, et al. Rev Ital Ess Profumi Piante Officinali Aromi Saponi Cosmetici Aerosol 1973;9(Sep):560-64.
Mizrahi I, et al. Soap, Perfumery & Cosmetics 1970;43(Jun):379-88.
Djarmati S, et al. Arch Farmaciju 1987;37(5):229-33.
Prager MJ, et al. Perf & Flav 1981;6(Apr-May):53-58.
Agnel R, et al. Perf & Flav 1984;9(Oct-Nov):53-56.
Ahmed A, et al. Revi Itali Ess Profumi Piante Officinali Aromi Saponi Cosmetici Aerosol 1980;62(Sep-Oct):293-96.
Rouzet M. Lab Pharma Probl Tech 1984;32(Jun):462-66.
Denny EFK. Soap, Perfumery & Cosmetics 1969;42(Oct):737-38.
Nviredy S, et al. Acta Pharm Hung 1985;55(Mar):49-58.
Cabo J, et al. ARS Pharmaceutica 1982;23(4):501-06.
Hardy M, et al. Lancet 1995;346(Sept 9):701.
Leshchinskaia I, et al. Kosm Med 1983;17(2):80-83.
Dunn C, et al. J Ad Nurs 1995;21(1):34-40.
Buckle J. Nurs Times 1993;89(20):32-35.
Buchbauer G, et al. Z. Naturforsch 1991;46(11-12):1067-72.
Lee CF, et al. Ann Physiol Anthropol 1994;13(5):281-91.
Gamez MJ, et al. Pharmazie 1988,43:441.
Gruncharov V. Vutr Boles 1973;12(3):90-96.
Secoy DM, Smith AE. Econ Bot 1983;37:28.
Jager W, et al. J Soc Cosm Chem 1992;43(Jan-Feb):49-54.
Dale A, et al. J Adv Nurs 1994;19(1):89-96.
Kelloff G, et al. J Cell Biochem Suppl 1996;26:1-28.
Gould M. Environ Health Perspect 1997;105(Suppl)4:977-79.
Mills J, et al. Cancer Res 1995;55(5):979-83.
Stayrook K, et al. Carcinogenesis 1997;18(8):1655-58.
Ren Z, et al. Biochem Pharmacol 1997;54(1):113-20.
Hohl R, et al. Adv Exp Med Biol 1996;401:137-46.
Katdare M. Cancer Lett 1997;111(1-2):141-47.
He L, et al. J Nutr 1997;127(5):668-74.
Stark M, et al. Cancer Lett 1995;96(1):15-21.
Burke Y, et al. Lipids 1997;32(2):151-56.
Reddy B, et al. Cancer Res 1997;57(3):420-25.
Gould, M. J Cell Biochem Suppl 1995;22:139-44.
Fulton G, et al. J Surg Res 1997;69(1):128-34.
Elson C, et al. J Nutr 1994;124(5):607-14.
Brandao FM. Contact Derm 1986;15(4):249-50.
Rademaker M. Contact Derm 1994;31(1):58-59.
Schaller M, et al. Clin & Exp Derm 1995;20(2):143-45.
Guillemain J. Ann Pharm Fr 1989;47(6):337-43.
Samara Botane stocks a variety of Lavendula spp. essential oil, absolutes, concretes, and related products. Use our Store Search Engine to search for them using the search term "lavandula".


> Looking at shareLib.h it looks to me like epicsShareDef is only defined to be anything on VAXC.
part of the same DLL as seq_if.c or must be imported from that DLL.
decorated declaration of the variable to an appropriate header file.
seq_if.c file may cause problems later.
> Subject: Re: Build of seq-2.1.15 with VS 2010 fails.
>> I have built seq-2.1.15 recently (VS2010), and experienced a similar problem.
>> The variable needs to be defined as epicsShareExtern - see attached file.
> value so this must be the definition (and hence epicsShareDef).


Google has issued the Android 6.0 Marshmallow Update over-the-air for all Nexus 5 users. This tutorial is destined for those Nexus 5 owners that are looking to skip the waiting time and update their phone manually using "adb sideloading" process.
use this post only with the Google Nexus 5 smartphones.
your phone should be running on the Android 5.1.1 LMY48M Lollipop firmware for this updating tutorial to work with your phone.
do not try to use this post with any other different Nexus devices.
- also, don't flash the new update build over an older Lollipop build than the LMY48M version.
check the model and the firmware version of your device under Settings> About Phone menu.
make sure to enable the USB Debugging from Developer Options menu.
- the Developer Options might be hidden, so you will need to enable it by going to Settings> About Phone and tapping 7 times on the Build Number section.
- return to Settings menu and there you will have Developer Options, open it and find USB Debugging to enable it too.
for the updating process to work your device has to run the Android 5.1.1 LMY48M 100% firmware.
if your device has a custom ROM installed on it or any other type of OS modification, then the update process is not going to work.
use this tutorial only if you are an advanced Android user, we cannot be blamed in case you brick the phone nor in case you lose any important files.
check the battery charge level of your device and make sure that it is over 50%, it will prevent the device from powering down during the first boot process of Android 6.0 OS.
read the entire tutorial and make sure not to skip any steps.
Now that you know all of the above you can get to the next part of this post to learn how to update your phone.
next, find the SDK Manager exe and launch it.
confirm the installation of all SDK packages and usb drivers you're told to.
after the installations are done you should find the platform-tools folder.
- that folder is where you will need to place the updating zip file.
if the Nexus 5 is not detected by your PC, then you can try to install the Google USB drivers, too.
Download the Android 6.0 MRA58K firmware file from here.
- it allows for an easier installation as you wouldn't want to type all those characters found in the updating file's original name.
Power off your Nexus 5 and then boot it in Recovery Mode.
Select apply update from adb option.
Connect your Nexus 5 to your PC using an usb cable.
Launch a command prompt in the platform-tools folder.
- it can be done by holding SHIFT key and right-clicking on the folder's empty space to select 'open command prompt here'.
- if the device is not detected, then you will need to re-install all usb drivers.
- if the phone is listed as attached you can continue to the next part of this post.
Wait for the installation process to complete and after you can reboot the device in normal mode.
Use your usual login info in order to regain complete control over your device once again.
In case you need any extra help completing this guide, then you should use the comments field below.
i have a .tar file,how could i use it to flash my nexus 5?


text:
Steeler Addicts - Pittsburgh Steelers News, Forum. Blog, Downloads, & Fan Site > 6 Time Super Bowl Champion Pittsburgh Steelers > Steelers Talk > Any update on Antonio Brown's ankle injury...
View Full Version : Any update on Antonio Brown's ankle injury...
Didnt get a chance to hear Tomlin after the game give the injury report but was just wondering on what Brown's status was on his ankle. Hopefully he is going to be okay and it is nothing too serious. Regardless, of how bad the injury is I am not playing Brown next week against the Chiefs and risking him getting hurt any further in a game where you by far do not need him at all to win. The Steelers while you never want to overlook anybody have got to be thinking and looking ahead to that Ravens game 2 weeks from tonight. You rest Brown next week against KC and give him a full 2 weeks of treatment so he is pretty close too if not 100 percent ready to go for the Ravens game in 2 weeks. If there is any doubt about him not being 100 percent for next week you most definitely no questions asked sit him down against the Chiefs and there is no way that you risk playing him and getting him hurt. Get him healthy for that Ravens game period no questions asked....
CowherPower
All Tomlin said was that Brown had a mild high ankle sprain, and that he would be evaluated tomorrow and this week. You just wonder how much more this team can take with injuries; somehow they keep coming back but sooner or later it's going to be something that will bite them Im afraid.
Big T
Even if it isn't too serious, sit him next week in hopes that he'll be healthy for the Ravens. Wallace and Sanders should be able to take care of business against KC.
LatrobePA
Cotch came up big..
SnakeEyes43
Wallace, Sanders, and Cotch will work the Cheifs. Heal up Tone!
Cotchery had some major clutch receptions tonight. You could start him if necessary for awhile. Those high ankle sprains are nothing to mess around with.
Brown isnt going to play next week against Kansas City there is no way Tomlin and the medical staff will risk him getting hurt any further with the Ravens coming up the following week as pathetic as the Chiefs are. He will sit there is no way he plays mark that one down for certain...
connecticutsteel
he would have played but we have cotchery so he didn't have to
brown will play next week
The upside is that even with arguably our best receiver out, we're still not thin at WR.
I'm sure AB will lobby to play next week but there's no way I risk further injuring a high ankle sprain. Cotchery is more than capable of carrying the load on offense for awhile, plus Sanders and Wallace along with Heath give Ben more than enough targets. Let him sit and for that matter might as well let Mendenhall sit again too. Troy certainly won't play either.
I agree sit AB for sure.......As for Mendenhall and Troy at this point I really don't expect both of them back for a few more weeks.......Only question I have is if AB misses and say Rainey misses the game as well then the Steelers will be very thin at WR....You can't go into the Chiefs game with only three WR's........Wonder who they call up from the practice squad or if they sign somebody off the street?
Stairwayto7
Like this idea the best, and Sanders can get it done in the return game
Exactly and that is why its much easier to replace AB then Mike Wallace....sorry to go there but can't help it.....I like AB but he is replaceable especially with Sanders on the roster......
Agreed. But I'd rather see all three out there than have to replace anyone lol.
Me to Big T....I want all three to remain together as long as possible......I'm just saying that play that Wallace made yesterday on short pass is why he is special and its so hard to replace Mike Wallace and it would be much easier to replace AB.....I do think AB was missed in the passing game yesterday but not to the extent if Wallace had left with injury.....
Absolutely agree. That's why I made the "Mike Wallace is a one trick pony who can only run go routes" sarcastic comment in another thread. That man is a baller. I've never seen someone just completely run past defenders with the kind of angles they had on him. So sick.
Wallace 29 TD's receiving now in 3.5 seasons.......impressive and that has to be the Steelers alltime leader for a WR in their first three and half seasons........I don't think Roy Jefferson, Lynn Swann, John Stallworth, Lynn Swann, Louis Lipps scored that many in their first 3.5 seasons........Hines didn't since he really didn't start until his 3rd or 4th season.....Plax didn't even score his rookie year.........I also don't see Antonio Brown scoring 30 TD's in his career........I swear I'm going to flip out if Mike Wallace isn't resigned and is allowed to walk with nothing in return.......
I know. I don't want to see him anywhere else. Im getting completely sick of this team always giving away their legit #1 receivers for nothing. The Plax situation bothered me, the Santonio situation made my blood boil, but losing Wallace would crush me :(
I was a big fan of Burress......He opened so many things up for Ward.....I loved Holmes and I will always be grateful for Super Bowl XLIII but he dug his own grave with the Steelers.......He wasn't going to resign with the Steelers anyway.............
Get everybody healthy for the Ravens game period. The Steelers will never truly come out and admit it but they know damn well that they can sit whoever they want too next week against the Chiefs to get ready for the Ravens game the following week and still have no problem at all beating the Chiefs...
TarlsQtr
Although not related to the topic, I have to share a funny story about Plax. I moved to Kentucky in late 2009 from upstate NY. In NY, I was a teacher in the prison system, specifically Oneida Correctional Facility a medium security facility (since closed by the state). I taught in the protective custody unit, which is where Plax was put in. He obviously didn't need "school", but he was around a lot when I was on the unit twice a week. I was able to have some great conversations with him. He is a cool dude. (I also helped Lillo Brancato, the kid from the DeNiro movie "A Bronx Tale" get his GED.)
I moved at the end of the year. One of my biggest disappointments was that Cowher came in to interview Plax for the Super Bowl coverage but I was already gone. :-(
Tomlin said in his presser today that Brown is likely not to play on Monday night but the door is "still ajar". I'd be shocked if he's on the field then, Cotchery can handle it.
Real Deal Steel
Will it be Cotch or Sanders?
Sanders would be the #2 with Cotch as the #3.
steelchamp204
It doesnt matter Brown can be easily replaced........
By Sanders:stirpot:. Sorry I had to, it was to easy hahaha. We will be fine. Get AB healthy for the bigger games coming up.


text:
Q: Square of Bernoulli Random Variable I was wondering about the distribution of the square of a Bernoulli RV. My background in statistics is not too good, so maybe this doesn't even make sense, or it is a trivial problem.
Let, $Z\sim X^2$, where $X\sim \text{Ber}(p)$.
$F_Z(z)=\Pr(X^2\leq z)$
$=\Pr(-z^{1/2}\leq X\leq z^{1/2})$
$=F_X(z^{1/2})-F_X(-z^{1/2})$
At this point I'm pretty confused I mean the CDF is right-continuous while I know $Z$ is a discrete RV.
$\implies P_Z(z)=\frac{ d}{dz}\{F_X(z^{1/2})-F_X(-z^{1/2})\}$
I guess you can define the derivative to be:
$\frac{d}{dx}f(x)=\frac{f(x+1)-f(x)}{1}$ or something... and we have
$F_X(x)=\begin{cases}
0, & \text{if }x<0 \\
1-p, & \text{if }0\leq x\lt 1 \\ 1, & \text{if } x\geq1
\end{cases}$
Any help is appreciated (is my approach correct?)

A: If $X$ is Bernoulli, then $X^2=X$.${}{}{}{}{}{}$


Home Sheducation Centre American vs Aussie Barns: What's the Difference?
As one of the most prolific suppliers of barns in Perth, we have become a fountain of information when it comes to barns. We have been asked–and have happily answered–almost every question one could imagine about barns from our Perth clientele.
One of the most common questions we get is, "What is the difference between an American design and an Aussie design barn?" If you don't have time for the entire post, here's the short answer: An Aussie barn is more simply-designed than an American barn; but of course, it's a bit more complicated than that.
The Aussie design barn is fine for most people's uses. It is unpretentious and rather plain in appearance. When you look at the picture, you will notice a roof that is more of a one-piece design, even with a peak in the middle and "folds" on either side of the peak.
We offer Aussie design barns with plenty of options, such as extra roller doors on the front, rear or both. You can also add skylights, awnings, mezzanine floors, ventilation, personal access doors and internal walls.
If you happen to have horses and want to add Durastall stables to your Perth barn, you will want an American design barn. The American design barn can be customised so that our stable kits fit perfectly. In addition, the breezeway in the centre is higher and wider than in its Australian counterpart and the top roof hangs over the bottom roof.
The American design is great not only for horses but for boats, horse floats and caravans as well. In addition, it has all of the options that an Aussie barn does, with the added capability of extending the mezzanine floors under the roof overhang as an outside balcony.
All of our barns are ShedSafe approved, which means that both the barns and our staff have passed ShedSafe's rigorous standards for certification. In addition, both designs come with a 10-year structural warranty and 15 years for the cladding.
Whether you choose the Australian or American design, Action Sheds Australia will provide a quality product, erected by consummate professionals. For a free consultation, call 1300 778 628 today. We will be happy to assess your needs and come up with a custom plan for you.


text:
The transactions
Cymmrodorion Medal
The Honourable Society of Cymmrodorion
Promoting the language, literature, arts and science of Wales
home > Transactions > Volume 25 - 2019 > WHAT EXACTLY IS FOLK SONG
WHAT EXACTLY IS FOLK SONG
On 22 January 1908, a botany lecturer from the University College of North Wales in Bangor gave an address to the Honourable Society of Cymmrodorion at No. 20 Hanover Square, at that time, home to the Royal Society of Medicine. The lecture was entitled 'Welsh National Melodies and Folk-Song' and the speaker made an impassioned case to preserve and protect Wales's folk song heritage. His name was J.Lloyd Williams, a native of Llanrwst. And this is what he said: '[…] melodies[…] recognized by the hearts of the people as expressing the national aspirations[…] it is these songs […] alone that can be relied upon to foster a love of languageand of country […].'
or to access all content on this site, join today
For £35 a year you can access all lectures and articles on this site, attend lectures and receive our yearly Transactions
If you are an existing member, you can access this lecture by logging in
Filter by Volume
Volume 26 – 2020
Acts of Union
Cymmrodorion Society
David History
Development Bank of Wales
Edward Lhuyd
Folk Song
history; History
John Nash
Law constitutional
Literary History
Lloyd George
London Welsh
Male voice choirs
medieval Poetry
Peter Warlock
sixteenth century
Suffragette movement
Welsh development and investment
Welsh writing in English
Welsh; History
Listen & Watch Again
For unlimited access to all our talks and articles
The Honourable Society of Cymmrodorion, 157-163 GraysInn Rd, London WC1X 8UE | Registered Charity Number: 313141 | Site design: Mike Leach Creative


text:
News > Racing > Whitton Claims the Overall Victory at the SNORE South Point 250
Whitton Claims the Overall Victory at the SNORE South Point 250
Apr 25, 2009 by admin
After finishing 5th in the previous weekend's Best in the Desert Silver State 300, Ron Whitton returned to the Nevada desert less than a week later to compete in the SNORE South Point 250 race. Featuring a 69-mile loop course, the four-lap event took place in Primm Valley, Nevada on the outskirts of the bright lights of Las Vegas.
Starting behind a full field of 12 Unlimited Buggies and three Unlimited Trucks, the No. 39 Geiser-built truck of Ron Whitton's successfully claimed the overall victory despite a minor mechanical setback halfway through the race. By the end of the second lap, Whitton and co-pilot, Chas Dana, had worked their way through most of the Unlimited Buggy and Truck field and were running third on course and overall on time when a header tube failed ten miles from the main pit. Limping the truck to the main pit, the crew performed the needed repairs in an astonishing nine minutes and sent the No. 39 truck out in the third position.
With two laps remaining, Ron Whitton throttled-down and worked his way through the slower race traffic in an effort to reclaim the overall position. By the end of the third lap, Whitton had once again advanced on corrected time to claim a nearly one minute lead over the second place contender, Adam Householder, in the No. 24 Unlimited Truck. Crossing the finish line in 4 hours, 59 minutes, and 26 seconds, the No. 39 Whitton truck earned the overall victory with a 1 minute and 2 second lead over Householder.
"Usually we start in front of the Unlimited Buggies but SNORE started them ahead of us for this race. I was the last unlimited vehicle to leave the starting line and my co-driver, Chas, kept pushing me hard to make our way out front. Rick Geiser and the crew did a great job getting the header fixed and getting us back out on course and everything else just kind of came together after that. Other than the header issue, we had no other problems and not a single flat on our Toyo Tires," remarked Ron Whitton.
Claiming first place in the Unlimited Truck class at SNORE's 32nd Annual KC HiLites Midnight Special in August, Whitton has had a remarkable showing at this year's SNORE series events. Looking forward to building upon this season's successes, the No. 39 truck will compete at the 42nd Annual SCORE Baja 1000 and will finish out the year at Best in the Desert's Henderson 400 race in December.
For More Information Regarding Ron Whitton:
http://gnrracing.com/
Tags: 250, ron, snore, south point, whitton


TallyFox Social Technologies AG, Zurich, Switzerland, (TallyFox) is specialized in enabling Knowledge Networks for professional communities. TallyFox provides services that allow persons to register and share content on TallyFox.com and all subdomains hosted within TallyFox.com (Services).
Activating links on this Website may cause you to leave this Website. Such links, addresses or hyperlinks are not reviewed by TallyFox. TallyFox does not accept any liability for their contents, the offered products or services or any other offers. Using links from this Website to any website not owned by TallyFox is at your own risk. TallyFox is committed to respecting the privacy rights of its site visitors and to comply with the Swiss Data Protection Act dated June 19, 1992. Access to certain Services, such as e.g. registering, joining an expert panel discussion, may cause certain details of your identity to become publicly visible on the Website such as e.g. your name, profession, location or a photo you may have uploaded to the Website.
Ownership, Copyrights and other intellectual properties TallyFox and other intellectual property rights on this Website are registered items of TallyFox and/or its direct or indirect subsidiaries. All material available on the Site, except where otherwise explicitly noted or covered in terms of sale, is under copyright of TallyFox. TallyFox will enforce such rights to the full extent of applicable law. Downloading, copying or printing individual pages and/or parts of the Website is allowed for personal use only, and will not transfer title to any software or material on the Website to you. Explicit attribution to TallyFox must be made in the event that the material, or any part thereof, is reproduced in any form, written or electronic. Furthermore, any reproduction, re-publication or distribution of this material requires the express consent of TallyFox.