text:
Jobs, training & volunteering
Advice to applicants
Advice for non-UK based applicants
Accession state workers
Employing nationals from the European economic area
Croatian Nationals
Legal and HR advice to applicants
Pay scales and grades
Privacy notice for job applicants
Prevention of illegal working: Immigration, Asylum and Nationality Act 2006
It is a criminal offence to employ someone, aged 16 or over, who has no right to work in the United Kingdom, or no right to do the work the organisation is offering.
The Council will require evidence to establish a person's right to work in the United Kingdom. The documents that establish someone's entitlement to work are spilt into two lists:- List A and List B.
List A documents show that the holder is not subject to immigration control, or has no restrictions on their stay in the UK.
List B documents demonstrate that the person has been granted leave to enter or remain in the UK for a limited period of time and/or has restrictions on their ability to take employment in the UK.
List A
A passport showing that the holder, or a person named in the passport as the child of the holder, is a British citizen or a citizen of the United Kingdom and Colonies having the right of adobe in the United Kingdom. a passport showing that the holder, or a person named in the passport as the child of the holder, is a British citizen or a citizen of the United Kingdom and Colonies having the right of adobe in the United Kingdom
A passport stating the holder is a citizen of the United Kingdom and Colonies can only be accepted if it includes the words "holder has the right of abode in the United Kingdom".
Certain Commonwealth citizens and citizens with dual nationality have the right to abode in the United Kingdom and do not have any immigration restrictions placed on the work they can do here.
A passport or national identity card showing that the holder, or a person named in the passport as the child of the holder, is a national of the European Economic Area or Switzerland.
A residence permit, registration certificate or document certifying or indicating permanent residence issued by the Home Office to a national of a European Economic Area country or Switzerland.
A permanent residence card or document issued by the Home Office to the family member of a national of a European Economic Area or Switzerland.
A Biometric Residence Permit issued by the Home Office to the holder which indicates that the person named in it is allowed to stay indefinitely in the United Kingdom, or has no time limit on their stay in the United Kingdom.
A passport or other travel document endorsed to show that the holder is exempt from immigration control, is allowed to stay indefinitely in the United Kingdom, has the right of abode in the United Kingdom, or has no time limit on their stay in the United Kingdom.
An Immigration Status Document issued by the Home Office to the holder with an endorsement indicating that the person named in it is allowed to stay indefinitely in the United Kingdom or has no time limit on their stay in the United Kingdom, when produced in combination with an official document giving the persons National Insurance Number and their name issued by a Government agency or a previous employer*.
An original full birth certificate or full adoption certificate issued in the United Kingdom which includes the name(s) of at least one of the holder's parents, when produced in combination with an official document giving the person's National Insurance Number and their name issued by a Government agency or a previous employer*. Short birth certificates which do not have details of either of the holder's parents are not acceptable.
A birth certificate or adoption certificate issued in the Channel Islands, the Isle of Man or Ireland, when produced in combination with an official document giving the person's National Insurance Number and their name issued by a Government agency or a previous employer*.
A certificate of registration or naturalisation as a British citizen, when produced in combination with an official document giving the person's National Insurance Number and their name issued by a Government agency or a previous employer*. The A4 certificate must describe the holder as a British Citizen.
A letter issued by the Home Office to the holder which indicates that the person named in it is allowed to stay indefinitely in the United Kingdom when produced in combination with an official document giving the person's National Insurance Number and their name issued by a Government agency or a previous employer*. The letter must clearly state that the holder is able to take up employment.
List B
A passport or travel document endorsed to show that the holder is allowed to stay in the United Kingdom and is allowed to do the type of work in question.
A Biometric Residence Permit issued by the Home Office to the holder which indicates that the person named in it can stay in the United Kingdom and is allowed to do the work in question.
A residence card or document issued by the Home Office to a family member of a national of a European Economic Area country or Switzerland.
A work permit or other approval to take employment issued by the Home Office when produced in combination with either a passport or another travel document endorsed to show the holder is allowed to stay in the United Kingdom and is allowed to do the work in question, or a letter issued by the Home Office to the holder or the employer or prospective employer confirming the same.
A certificate of application which is less than 6 months old, issued by the Home Office to or for a family member of a national of a European Economic Area country or Switzerland stating that the holder is permitted to take employment together with a positive verification letter from the Home Office's Employer Checking Service.
An Application Registration Card issued by the Home Office stating that the holder is permitted to take employment, together with a positive verification letter from the Home Office's Employer Checking Service
If the holder is permitted to work it will state "ALLOWED TO WORK" or "EMPLOYMENT PERMITTED" on both sides of the card. If the card states "FORBIDDEN FROM TAKING EMPLOYMENT" or "EMPLOYMENT PROHIBITED" on either side the holder cannot work unless they can otherwise demonstrate their entitlement to work in the UK.
A Standard Acknowledgement Letter (SAL) or Immigration Service Letter (IS96W) cannot be accepted as evidence that an asylum seeker has permission to work.
An Immigration Status Document issued by the Home Office to the holder with an endorsement indicating that the person named in it can stay in the United Kingdom, and is allowed to do the type of work in question, when produced in combination with an official document giving the person's National Insurance Number and their name issued by a Government agency or a previous employer*.
A letter issued by the Home Office to the holder or the employer or prospective employer which indicates that the person named in it can stay in the United Kingdom and is allowed to the work in question when produced in combination with an official document giving the person's National Insurance Number and their name issued by a Government agency or previous employer*.
* Examples of an official document would be a P45, P60, National Insurance Number Card or a letter from a Government Agency. A Government Agency can be defined as:- HM Revenues and Customs (formally known as the Inland Revenue), Department for Work and Pensions, Jobcentre Plus, Training & Employment Agency (Northern Ireland) or Northern Ireland Social Security Agency.


text:
Sivarama Swami's Books
Sivarama Swami's Books
Nava Vraja Mahima
About Sivarama Swami
Newsletter: There Is Method in My Madness
December was a slow month for writing for two main reasons: the Prabhupada marathon, and the research and classification portion of the third and essential part of Sadhana-sara-dipika. I won't elaborate on the former but will on the latter. In the school of hard knocks I learned that the train of thought in a book must be clearly formulated in a step-by-step progression, through the paragraphs and chapters. One can't just sit down and write, be the subject poetic, like Nava-vraja-mahima, or philosophical, like this book. If an author does so, both he and his message quickly get lost in the unsystematic composition. In this instance—the third portion of Sadhana-sara-dipika—research meant that I had to scan the Brhad-bhagavatamrta,smaller works like Madhurya-kadambini, and the Bhaktivedanta Folio. From these sources I collected relevant passages that totalled seventy pages. Because most of these extracts are descriptive, I then summarised their essence into phrases and sentences. That was followed by a lengthy and exacting process of classifying summaries according to themes, sub-themes, and further subdivisions where necessary.
The result is a codified version of the points to be written, which is then classified according to a proper sequence representing the progression of devotion to be offered to the reader. It is a challenge to stay on track and not digress into some details of devotion which, while very wonderful, are not always relevant to the topics at hand. Although this kind of correlation appears to be a mechanical exercise, it is the unfolding of the truths of bhakti. Because of the confidential nature of devotional service, scriptures do not always present these truths chronologically or systematically. Rather they are scattered throughout texts, challenging students to show their sincerity and determination by making the effort to collect these spiritual jewels. Authors can astutely string these truths in sequential order upon the thread of literary presentation and thus present a necklace of bhakti-tattva for their readers to wear. If that necklace actually represents the ornaments of Vraja, then both author and reader are enriched in their devotion and are empowered to chant the names of Radha and Krsna in ever-increasing ecstasy. Hare Krsna.
If it appears that I got a little off the track in this newsletter, then that's because I didn't start with a sequence summary but wrote from the heart. Naughty me.
Newsletter: Physical Acts Can Manifest Devotion
Newsletter: What Inspires Me
Join SRS Book Club's Monthly Newsletter
Updates RSS
Copyright © 2021 Sivarama Swami's Books

redpajama_set_name: RedPajamaCommonCrawl


text:
#import "ContactDetailsViewController.h"

#import "AppDelegate.h"

#import "RoomMemberTitleView.h"

#import "VectorDesignValues.h"

#import "RageShakeManager.h"

#import "AvatarGenerator.h"
#import "Tools.h"

#import "TableViewCellWithButton.h"
#import "RoomTableViewCell.h"

#import "TableViewCellWithButton.h"

#import "GBDeviceInfo_iOS.h"

#define TABLEVIEW_ROW_CELL_HEIGHT         46
#define TABLEVIEW_SECTION_HEADER_HEIGHT   28
#define TABLEVIEW_SECTION_HEADER_HEIGHT_WHEN_HIDDEN 0.01f

@interface ContactDetailsViewController ()
{
    RoomMemberTitleView* contactTitleView;
    MXKImageView *contactAvatar;

    // HTTP Request
    MXHTTPOperation *roomCreationRequest;

    /**
     Observe UIApplicationWillChangeStatusBarOrientationNotification to hide/show bubbles bg.
     */
    id UIApplicationWillChangeStatusBarOrientationNotificationObserver;

    /**
     The observer of the presence for matrix user.
     */
    id mxPresenceObserver;

    /**
     List of the basic actions on this contact.
     */
    NSMutableArray<NSNumber*> *actionsArray;
    NSInteger actionsIndex;

    /**
     List of the direct chats (room ids) with this contact.
     */
    NSMutableArray<NSString*> *directChatsArray;
    NSInteger directChatsIndex;

    /**
     mask view while processing a request
     */
    UIActivityIndicatorView * pendingMaskSpinnerView;

    /**
     Current alert (if any).
     */
    MXKAlert *currentAlert;
}
@end

@implementation ContactDetailsViewController

#pragma mark - Class methods

+ (UINib *)nib
{
    return [UINib nibWithNibName:NSStringFromClass(self.class)
                          bundle:[NSBundle bundleForClass:self.class]];
}

+ (instancetype)contactDetailsViewController
{
    return [[[self class] alloc] initWithNibName:NSStringFromClass(self.class)
                                          bundle:[NSBundle bundleForClass:self.class]];
}

#pragma mark -

- (void)viewDidLoad
{
    [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.

    // Check whether the view controller has been pushed via storyboard
    if (!_tableView)
    {
        // Instantiate view controller objects
        [[[self class] nib] instantiateWithOwner:self options:nil];
    }

    actionsArray = [[NSMutableArray alloc] init];
    directChatsArray = [[NSMutableArray alloc] init];

    // Setup `MXKViewControllerHandling` properties
    self.defaultBarTintColor = kVectorNavBarTintColor;
    self.enableBarTintColorStatusChange = NO;
    self.rageShakeManager = [RageShakeManager sharedManager];

    self.headerView.backgroundColor = kVectorColorLightGrey;
    self.contactNameLabel.textColor = kVectorTextColorBlack;
    self.contactStatusLabel.textColor = kVectorColorGreen;

    UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleTapGesture:)];
    [tap setNumberOfTouchesRequired:1];
    [tap setNumberOfTapsRequired:1];
    [tap setDelegate:self];
    [self.contactNameLabelMask addGestureRecognizer:tap];
    self.contactNameLabelMask.userInteractionEnabled = YES;

    self.navigationItem.titleView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 600, 40)];

    contactTitleView = [RoomMemberTitleView roomMemberTitleView];
    contactAvatar = contactTitleView.memberAvatar;
    contactAvatar.contentMode = UIViewContentModeScaleAspectFill;
    contactAvatar.backgroundColor = [UIColor clearColor];

    // Add tap to show the contact avatar in fullscreen
    tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleTapGesture:)];
    [tap setNumberOfTouchesRequired:1];
    [tap setNumberOfTapsRequired:1];
    [tap setDelegate:self];
    [contactAvatar addGestureRecognizer:tap];
    contactAvatar.userInteractionEnabled = YES;

    // Need to listen tap gesture on the area part of the avatar image that is outside
    // of the navigation bar, its parent but smaller view.
    tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleTapGesture:)];
    [tap setNumberOfTouchesRequired:1];
    [tap setNumberOfTapsRequired:1];
    [tap setDelegate:self];
    [self.contactAvatarMask addGestureRecognizer:tap];
    self.contactAvatarMask.userInteractionEnabled = YES;

    // Add the title view and define edge constraints
    contactTitleView.translatesAutoresizingMaskIntoConstraints = NO;
    [self.navigationItem.titleView addSubview:contactTitleView];

    NSLayoutConstraint *topConstraint = [NSLayoutConstraint constraintWithItem:contactTitleView
                                                                        attribute:NSLayoutAttributeTop
                                                                        relatedBy:NSLayoutRelationEqual
                                                                           toItem:self.navigationItem.titleView
                                                                        attribute:NSLayoutAttributeTop
                                                                       multiplier:1.0f
                                                                         constant:0.0f];
    NSLayoutConstraint *bottomConstraint = [NSLayoutConstraint constraintWithItem:contactTitleView
                                                                        attribute:NSLayoutAttributeBottom
                                                                        relatedBy:NSLayoutRelationEqual
                                                                           toItem:self.navigationItem.titleView
                                                                        attribute:NSLayoutAttributeBottom
                                                                       multiplier:1.0f
                                                                         constant:0.0f];
    NSLayoutConstraint *leadingConstraint = [NSLayoutConstraint constraintWithItem:contactTitleView
                                                                     attribute:NSLayoutAttributeLeading
                                                                     relatedBy:NSLayoutRelationEqual
                                                                        toItem:self.navigationItem.titleView
                                                                     attribute:NSLayoutAttributeLeading
                                                                    multiplier:1.0f
                                                                      constant:0.0f];
    NSLayoutConstraint *trailingConstraint = [NSLayoutConstraint constraintWithItem:contactTitleView
                                                                        attribute:NSLayoutAttributeTrailing
                                                                        relatedBy:NSLayoutRelationEqual
                                                                           toItem:self.navigationItem.titleView
                                                                        attribute:NSLayoutAttributeTrailing
                                                                       multiplier:1.0f
                                                                         constant:0.0f];
    [NSLayoutConstraint activateConstraints:@[topConstraint, bottomConstraint, leadingConstraint, trailingConstraint]];

    // Register collection view cell class
    [self.tableView registerClass:TableViewCellWithButton.class forCellReuseIdentifier:[TableViewCellWithButton defaultReuseIdentifier]];
    [self.tableView registerClass:RoomTableViewCell.class forCellReuseIdentifier:[RoomTableViewCell defaultReuseIdentifier]];

    // Hide line separators of empty cells
    self.tableView.tableFooterView = [[UIView alloc] init];

    // Observe UIApplicationWillChangeStatusBarOrientationNotification to hide/show bubbles bg.
    UIApplicationWillChangeStatusBarOrientationNotificationObserver = [[NSNotificationCenter defaultCenter] addObserverForName:UIApplicationWillChangeStatusBarOrientationNotification object:nil queue:[NSOperationQueue mainQueue] usingBlock:^(NSNotification *notif) {

        NSNumber *orientation = (NSNumber*)(notif.userInfo[UIApplicationStatusBarOrientationUserInfoKey]);
        self.bottomImageView.hidden = (orientation.integerValue == UIInterfaceOrientationLandscapeLeft || orientation.integerValue == UIInterfaceOrientationLandscapeRight);
    }];
}

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

    // Screen tracking (via Google Analytics)
    id<GAITracker> tracker = [[GAI sharedInstance] defaultTracker];
    if (tracker)
    {
        [tracker set:kGAIScreenName value:@"ContactDetails"];
        [tracker send:[[GAIDictionaryBuilder createScreenView] build]];
    }

    // Hide the bottom border of the navigation bar to display the expander header
    [self hideNavigationBarBorder:YES];

    // Handle here the bottom image visibility
    UIInterfaceOrientation screenOrientation = [[UIApplication sharedApplication] statusBarOrientation];
    self.bottomImageView.hidden = (screenOrientation == UIInterfaceOrientationLandscapeLeft || screenOrientation == UIInterfaceOrientationLandscapeRight);

    // Report matrix session from AppDelegate
    NSArray *mxSessions = [AppDelegate theDelegate].mxSessions;
    for (MXSession *mxSession in mxSessions)
    {
        [self addMatrixSession:mxSession];
    }

    if (_contact)
    {
        // Register on notifications related to the contact change
        [self registerOnContactChangeNotifications];

        // Force refresh
        [self refreshContactDetails];
    }
}

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

    [self cancelRegistrationOnContactChangeNotifications];

    // Restore navigation bar display
    [self hideNavigationBarBorder:NO];

    self.bottomImageView.hidden = YES;
}

- (void)destroy
{
    [super destroy];

    if (roomCreationRequest)
    {
        [roomCreationRequest cancel];
        roomCreationRequest = nil;
    }

    [self cancelRegistrationOnContactChangeNotifications];

    if (UIApplicationWillChangeStatusBarOrientationNotificationObserver)
    {
        [[NSNotificationCenter defaultCenter] removeObserver:UIApplicationWillChangeStatusBarOrientationNotificationObserver];
        UIApplicationWillChangeStatusBarOrientationNotificationObserver = nil;
    }

    [contactTitleView removeFromSuperview];
    contactTitleView = nil;

    actionsArray = nil;
    directChatsArray = nil;

    [self removePendingActionMask];

    [currentAlert dismiss:NO];
    currentAlert = nil;
}

- (void)viewDidLayoutSubviews
{
    [super viewDidLayoutSubviews];

    if (contactTitleView)
    {
        // Adjust the header height by taking into account the actual position of the member avatar in title view
        // This position depends automatically on the screen orientation.
        CGRect memberAvatarFrame = contactTitleView.memberAvatar.frame;
        CGPoint memberAvatarActualPosition = [contactTitleView convertPoint:memberAvatarFrame.origin toView:self.view];

        CGFloat avatarHeaderHeight = memberAvatarActualPosition.y + memberAvatarFrame.size.height;
        if (_contactAvatarHeaderBackgroundHeightConstraint.constant != avatarHeaderHeight)
        {
            _contactAvatarHeaderBackgroundHeightConstraint.constant = avatarHeaderHeight;

            // Force the layout of the header
            [self.headerView layoutIfNeeded];
        }
    }
}

#pragma mark -

- (void)setContact:(MXKContact *)contact
{
    [self cancelRegistrationOnContactChangeNotifications];

    _contact = contact;

    [self registerOnContactChangeNotifications];

    if (!_contact.isMatrixContact)
    {
        // Refresh matrix info of the contact
        [[MXKContactManager sharedManager] updateMatrixIDsForLocalContact:_contact];
    }

    [self refreshContactDetails];
}

- (void)setEnableVoipCall:(BOOL)enableVoipCall
{
    if (_enableVoipCall != enableVoipCall)
    {
        _enableVoipCall = enableVoipCall;

        // Refresh displayed options
        [self.tableView reloadData];
    }
}

#pragma mark -

- (void)registerOnContactChangeNotifications
{
    // Be warned when the thumbnail is updated
    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(onThumbnailUpdate:) name:kMXKContactThumbnailUpdateNotification object:nil];

    // Observe contact presence change
    mxPresenceObserver = [[NSNotificationCenter defaultCenter] addObserverForName:kMXKContactManagerMatrixUserPresenceChangeNotification object:nil queue:[NSOperationQueue mainQueue] usingBlock:^(NSNotification *notif) {

        NSString* matrixId = self.firstMatrixId;

        if (matrixId && [matrixId isEqualToString:notif.object])
        {
            [self refreshContactPresence];
        }
    }];

    // Observe 'MXKContactManager' notifications
    if (_contact.isMatrixContact)
    {
        // Observe 'MXKContactManager' notification on Matrix contacts to refresh details.
        [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(onContactManagerNotification:)  name:kMXKContactManagerDidUpdateMatrixContactsNotification object:nil];
    }
    else
    {
        // Observe 'MXKContactManager' notifications on Local contacts to refresh details.
        [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(onContactManagerNotification:)  name:kMXKContactManagerDidUpdateLocalContactsNotification object:nil];
        [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(onContactManagerNotification:)  name:kMXKContactManagerDidUpdateLocalContactMatrixIDsNotification object:nil];
    }
}

- (void)cancelRegistrationOnContactChangeNotifications
{
    // Remove any pending observers
    [[NSNotificationCenter defaultCenter] removeObserver:self];

    if (mxPresenceObserver)
    {
        [[NSNotificationCenter defaultCenter] removeObserver:mxPresenceObserver];
        mxPresenceObserver = nil;
    }
}

- (void)onContactManagerNotification:(NSNotification *)notif
{
    // Check whether a contact Id is provided
    if (notif.object)
    {
        NSString* contactID = notif.object;
        if (![contactID isEqualToString:_contact.contactID])
        {
            // Ignore
            return;
        }
    }

    [self refreshContactDetails];
}

- (void)refreshContactDetails
{
    [self refreshContactDisplayName];
    [self refreshContactPresence];
    [self refreshContactThumbnail];

    [self.tableView reloadData];
}

- (NSString*)firstMatrixId
{
    NSString* matrixId = nil;

    if (_contact.matrixIdentifiers.count > 0)
    {
        matrixId = _contact.matrixIdentifiers.firstObject;
    }

    return matrixId;
}

- (void)refreshContactThumbnail
{
    UIImage* image = [_contact thumbnailWithPreferedSize:contactAvatar.frame.size];

    if (!image)
    {
        NSString* matrixId = self.firstMatrixId;

        if (matrixId)
        {
            image = [AvatarGenerator generateAvatarForMatrixItem:matrixId withDisplayName:_contact.displayName];
        }
        else
        {
            image = [AvatarGenerator generateAvatarForText:_contact.displayName];
        }
    }

    contactAvatar.image = image;
    [contactAvatar.layer setCornerRadius:contactAvatar.frame.size.width / 2];
    [contactAvatar setClipsToBounds:YES];
}

- (void)refreshContactDisplayName
{
    self.contactNameLabel.text = _contact.displayName;
}

- (void)refreshContactPresence
{
    NSString* presenceText;
    NSString* matrixId = self.firstMatrixId;

    if (matrixId)
    {
        MXUser *user = nil;

        // Consider here all sessions reported into contact manager
        NSArray* mxSessions = [MXKContactManager sharedManager].mxSessions;
        for (MXSession *mxSession in mxSessions)
        {
            user = [mxSession userWithUserId:matrixId];
            if (user)
            {
                break;
            }
        }

        presenceText = [Tools presenceText:user];
    }

    self.contactStatusLabel.text = presenceText;
}

- (void)onThumbnailUpdate:(NSNotification *)notif
{
    // sanity check
    if ([notif.object isKindOfClass:[NSString class]])
    {
        NSString* contactID = notif.object;

        if ([contactID isEqualToString:_contact.contactID])
        {
            [self refreshContactThumbnail];
        }
    }
}

#pragma mark - Hide/Show navigation bar border

- (void)hideNavigationBarBorder:(BOOL)isHidden
{
    // Consider the main navigation controller if the current view controller is embedded inside a split view controller.
    UINavigationController *mainNavigationController = self.navigationController;
    if (self.splitViewController && self.splitViewController.isCollapsed && self.splitViewController.viewControllers.count)
    {
        mainNavigationController = self.splitViewController.viewControllers.firstObject;
    }

    if (isHidden)
    {
        // The default shadow image is nil. When non-nil, this property represents a custom shadow image to show instead
        // of the default. For a custom shadow image to be shown, a custom background image must also be set with the
        // setBackgroundImage:forBarMetrics: method. If the default background image is used, then the default shadow
        // image will be used regardless of the value of this property.
        [mainNavigationController.navigationBar setShadowImage:[[UIImage alloc] init]];
        [mainNavigationController.navigationBar setBackgroundImage:[[UIImage alloc] init] forBarMetrics:UIBarMetricsDefault];
    }
    else
    {
        // Restore default navigationbar settings
        [mainNavigationController.navigationBar setShadowImage:nil];
        [mainNavigationController.navigationBar setBackgroundImage:nil forBarMetrics:UIBarMetricsDefault];
    }
}

#pragma mark - TableView data source

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
    NSInteger sectionCount = 0;

    [actionsArray removeAllObjects];
    [directChatsArray removeAllObjects];

    actionsIndex = directChatsIndex = -1;

    if (!self.mainSession)
    {
        return 0;
    }

    NSString *matrixId = self.firstMatrixId;

    if (matrixId.length)
    {
        // Check whether the contact is not the user himself
        if (![matrixId isEqualToString:self.mainSession.myUser.userId])
        {
            if (self.enableVoipCall)
            {
                // Offer voip call options
                [actionsArray addObject:@(ContactDetailsActionStartVoiceCall)];
                [actionsArray addObject:@(ContactDetailsActionStartVideoCall)];
            }

            // Check whether the option Ignore may be presented
            if (![self.mainSession isUserIgnored:matrixId])
            {
                [actionsArray addObject:@(ContactDetailsActionIgnore)];
            }
            else
            {
                [actionsArray addObject:@(ContactDetailsActionUnignore)];
            }

            actionsIndex = sectionCount++;
        }

        directChatsIndex = sectionCount++;
    }
    // Else check whether the contact has been instantiated with an email or a matrix id
    else if ([MXTools isEmailAddress:_contact.displayName])
    {
        directChatsIndex = sectionCount++;
    }
    else if ([MXTools isMatrixUserIdentifier:_contact.displayName])
    {
        matrixId = _contact.displayName;
        directChatsIndex = sectionCount++;
    }

    if (matrixId.length)
    {
        // Retrieve the existing direct chats
        NSArray *directRoomIds = self.mainSession.directRooms[matrixId];

        // Check whether the room is still existing
        for (NSString* directRoomId in directRoomIds)
        {
            if ([self.mainSession roomWithRoomId:directRoomId])
            {
                [directChatsArray addObject:directRoomId];
            }
        }
    }

    return sectionCount;
}

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
    if (section == actionsIndex)
    {
        return actionsArray.count;
    }
    else if (section == directChatsIndex)
    {
        return (directChatsArray.count + 1);
    }

    return 0;
}

- (nullable NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section
{
    if (section == directChatsIndex)
    {
        return NSLocalizedStringFromTable(@"room_participants_action_section_direct_chats", @"Vector", nil);
    }

    return nil;
}

- (NSString*)actionButtonTitle:(ContactDetailsAction)action
{
    NSString *title;

    switch (action)
    {
        case ContactDetailsActionIgnore:
            title = NSLocalizedStringFromTable(@"room_participants_action_ignore", @"Vector", nil);
            break;
        case ContactDetailsActionUnignore:
            title = NSLocalizedStringFromTable(@"room_participants_action_unignore", @"Vector", nil);
            break;
        case ContactDetailsActionStartChat:
            title = NSLocalizedStringFromTable(@"room_participants_action_start_chat", @"Vector", nil);
            break;
        case ContactDetailsActionStartVoiceCall:
            title = NSLocalizedStringFromTable(@"room_participants_action_start_voice_call", @"Vector", nil);
            break;
        case ContactDetailsActionStartVideoCall:
            title = NSLocalizedStringFromTable(@"room_participants_action_start_video_call", @"Vector", nil);
            break;
        default:
            break;
    }

    return title;
}

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    UITableViewCell *cell;

    if (indexPath.section == actionsIndex)
    {
        TableViewCellWithButton *cellWithButton = [tableView dequeueReusableCellWithIdentifier:[TableViewCellWithButton defaultReuseIdentifier] forIndexPath:indexPath];

        if (indexPath.row < actionsArray.count)
        {
            NSNumber *actionNumber = [actionsArray objectAtIndex:indexPath.row];

            NSString *title = [self actionButtonTitle:actionNumber.unsignedIntegerValue];

            [cellWithButton.mxkButton setTitle:title forState:UIControlStateNormal];
            [cellWithButton.mxkButton setTitle:title forState:UIControlStateHighlighted];

            [cellWithButton.mxkButton setTitleColor:kVectorTextColorBlack forState:UIControlStateNormal];
            [cellWithButton.mxkButton setTitleColor:kVectorTextColorBlack forState:UIControlStateHighlighted];

            [cellWithButton.mxkButton addTarget:self action:@selector(onActionButtonPressed:) forControlEvents:UIControlEventTouchUpInside];

            cellWithButton.mxkButton.tag = actionNumber.unsignedIntegerValue;
        }

        cell = cellWithButton;
    }
    else if (indexPath.section == directChatsIndex)
    {
        RoomTableViewCell *roomCell = [tableView dequeueReusableCellWithIdentifier:[RoomTableViewCell defaultReuseIdentifier] forIndexPath:indexPath];

        if (indexPath.row < directChatsArray.count)
        {
            MXRoom *room = [self.mainSession roomWithRoomId:directChatsArray[indexPath.row]];
            if (room)
            {
                [roomCell render:room];
            }
        }
        else
        {
            roomCell.avatarImageView.image = [UIImage imageNamed:@"start_chat"];
            roomCell.avatarImageView.backgroundColor = [UIColor clearColor];
            roomCell.titleLabel.text = NSLocalizedStringFromTable(@"room_participants_action_start_new_chat", @"Vector", nil);
        }

        cell = roomCell;
    }
    else
    {
        // Create a fake cell to prevent app from crashing
        cell = [[UITableViewCell alloc] init];
    }

    return cell;
}

#pragma mark - TableView delegate

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
    if (indexPath.section == directChatsIndex)
    {
        return [RoomTableViewCell cellHeight];
    }

    return TABLEVIEW_ROW_CELL_HEIGHT;
}

- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section
{
    if (section == actionsIndex)
    {
        return TABLEVIEW_SECTION_HEADER_HEIGHT_WHEN_HIDDEN;
    }

    return TABLEVIEW_SECTION_HEADER_HEIGHT;
}

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(nonnull NSIndexPath *)indexPath
{
    if (indexPath.section == directChatsIndex)
    {
        if (indexPath.row < directChatsArray.count)
        {
            // Open this room
            [[AppDelegate theDelegate] showRoom:directChatsArray[indexPath.row] andEventId:nil withMatrixSession:self.mainSession];
        }
        else
        {
            // Create a new direct chat with the member
            UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];
            button.tag = ContactDetailsActionStartChat;

            [self onActionButtonPressed:button];
        }
    }
    else
    {
        UITableViewCell *selectedCell = [tableView cellForRowAtIndexPath:indexPath];
        if (selectedCell && [selectedCell isKindOfClass:TableViewCellWithButton.class])
        {
            TableViewCellWithButton *cell = (TableViewCellWithButton*)selectedCell;

            [self onActionButtonPressed:cell.mxkButton];
        }
    }
}

#pragma mark - button management

- (BOOL)hasPendingAction
{
    return nil != pendingMaskSpinnerView;
}

- (void)addPendingActionMask
{
    // add a spinner above the tableview to avoid that the user tap on any other button
    pendingMaskSpinnerView = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleWhiteLarge];
    pendingMaskSpinnerView.backgroundColor = [UIColor colorWithRed:0.5 green:0.5 blue:0.5 alpha:0.5];
    pendingMaskSpinnerView.frame = self.tableView.frame;
    pendingMaskSpinnerView.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight | UIViewAutoresizingFlexibleTopMargin;

    // append it
    [self.tableView.superview addSubview:pendingMaskSpinnerView];

    // animate it
    [pendingMaskSpinnerView startAnimating];
}

- (void)removePendingActionMask
{
    if (pendingMaskSpinnerView)
    {
        [pendingMaskSpinnerView removeFromSuperview];
        pendingMaskSpinnerView = nil;
        [self.tableView reloadData];
    }
}

#pragma mark - Action

- (void)onActionButtonPressed:(id)sender
{
    if ([sender isKindOfClass:[UIButton class]])
    {
        // already a pending action
        if ([self hasPendingAction])
        {
            return;
        }

        UIButton *button = (UIButton*)sender;

        switch (button.tag)
        {
            case ContactDetailsActionIgnore:
            {
                // Prompt user to ignore content from this user
                __weak __typeof(self) weakSelf = self;
                [currentAlert dismiss:NO];
                currentAlert = [[MXKAlert alloc] initWithTitle:[NSBundle mxk_localizedStringForKey:@"room_member_ignore_prompt"]  message:nil style:MXKAlertStyleAlert];

                [currentAlert addActionWithTitle:[NSBundle mxk_localizedStringForKey:@"yes"] style:MXKAlertActionStyleDefault handler:^(MXKAlert *alert) {

                    __strong __typeof(weakSelf)strongSelf = weakSelf;
                    strongSelf->currentAlert = nil;

                    // Add the user to the blacklist: ignored users
                    [strongSelf addPendingActionMask];
                    [strongSelf.mainSession ignoreUsers:@[strongSelf.firstMatrixId]
                                                success:^{

                                                    [strongSelf removePendingActionMask];

                                                } failure:^(NSError *error) {

                                                    [strongSelf removePendingActionMask];
                                                    NSLog(@"[ContactDetailsViewController] Ignore %@ failed", strongSelf.firstMatrixId);

                                                    // Notify MatrixKit user
                                                    [[AppDelegate theDelegate] showErrorAsAlert:error];

                                                }];

                }];

                currentAlert.cancelButtonIndex = [currentAlert addActionWithTitle:[NSBundle mxk_localizedStringForKey:@"no"] style:MXKAlertActionStyleDefault handler:^(MXKAlert *alert) {

                    __strong __typeof(weakSelf)strongSelf = weakSelf;
                    strongSelf->currentAlert = nil;
                }];

                [currentAlert showInViewController:self];
                break;
            }
            case ContactDetailsActionUnignore:
            {
                // Remove the member from the ignored user list.
                [self addPendingActionMask];
                __weak __typeof(self) weakSelf = self;
                [self.mainSession unIgnoreUsers:@[self.firstMatrixId]
                                        success:^{

                                            __strong __typeof(weakSelf)strongSelf = weakSelf;
                                            [strongSelf removePendingActionMask];

                                        } failure:^(NSError *error) {

                                            __strong __typeof(weakSelf)strongSelf = weakSelf;
                                            [strongSelf removePendingActionMask];
                                            NSLog(@"[ContactDetailsViewController] Unignore %@ failed", self.firstMatrixId);

                                            // Notify MatrixKit user
                                            [[AppDelegate theDelegate] showErrorAsAlert:error];

                                        }];
                break;
            }
            case ContactDetailsActionStartChat:
            {
                [self addPendingActionMask];

                if (_contact.matrixIdentifiers.count)
                {
                    [[AppDelegate theDelegate] createDirectChatWithUserId:self.firstMatrixId completion:^{

                        [self removePendingActionMask];
                    }];
                }
                else
                {
                    // Prepare the invited participant data
                    NSArray *inviteArray;
                    NSArray *invite3PIDArray;
                    NSString *participantId = _contact.displayName;

                    // Is it an email or a Matrix user ID?
                    if ([MXTools isEmailAddress:participantId])
                    {
                        // The identity server must be defined
                        if (!self.mainSession.matrixRestClient.identityServer)
                        {
                            MXError *error = [[MXError alloc] initWithErrorCode:kMXSDKErrCodeStringMissingParameters error:@"No supplied identity server URL"];
                            NSLog(@"[ContactDetailsViewController] Invite %@ failed", participantId);
                            // Alert user
                            [[AppDelegate theDelegate] showErrorAsAlert:[error createNSError]];

                            return;
                        }

                        // The hostname of the identity server must not have the protocol part
                        NSString *identityServer = self.mainSession.matrixRestClient.identityServer;
                        if ([identityServer hasPrefix:@"http://"] || [identityServer hasPrefix:@"https://"])
                        {
                            identityServer = [identityServer substringFromIndex:[identityServer rangeOfString:@"://"].location + 3];
                        }

                        MXInvite3PID *invite3PID = [[MXInvite3PID alloc] init];
                        invite3PID.identityServer = identityServer;
                        invite3PID.medium = @"email";
                        invite3PID.address = participantId;

                        invite3PIDArray = @[invite3PID];
                    }
                    else
                    {
                        inviteArray = @[participantId];
                    }

                    // Create a new room
                    roomCreationRequest = [self.mainSession createRoom:nil
                                                            visibility:kMXRoomDirectoryVisibilityPrivate
                                                             roomAlias:nil
                                                                 topic:nil
                                                                invite:inviteArray
                                                            invite3PID:invite3PIDArray
                                                              isDirect:YES
                                                                preset:kMXRoomPresetTrustedPrivateChat
                                                               success:^(MXRoom *room) {

                                                                   roomCreationRequest = nil;

                                                                   [self removePendingActionMask];

                                                                   [[AppDelegate theDelegate] showRoom:room.state.roomId andEventId:nil withMatrixSession:self.mainSession];

                                                               }
                                                               failure:^(NSError *error) {

                                                                   NSLog(@"[ContactDetailsViewController] Create room failed");

                                                                   roomCreationRequest = nil;

                                                                   [self removePendingActionMask];

                                                                   // Notify user
                                                                   [[AppDelegate theDelegate] showErrorAsAlert:error];

                                                               }];
                }
                break;
            }
            case ContactDetailsActionStartVoiceCall:
            case ContactDetailsActionStartVideoCall:
            {
                BOOL isVideoCall = (button.tag == ContactDetailsActionStartVideoCall);
                [self addPendingActionMask];

                NSString *matrixId = self.firstMatrixId;

                MXRoom* directRoom = [self.mainSession directJoinedRoomWithUserId:matrixId];

                // Place the call directly if the room exists
                if (directRoom)
                {
                    [directRoom placeCallWithVideo:isVideoCall success:nil failure:nil];
                    [self removePendingActionMask];
                }
                else
                {
                    // Create a new room
                    roomCreationRequest = [self.mainSession createRoom:nil
                                                            visibility:kMXRoomDirectoryVisibilityPrivate
                                                             roomAlias:nil
                                                                 topic:nil
                                                                invite:@[matrixId]
                                                            invite3PID:nil
                                                              isDirect:YES
                                                                preset:kMXRoomPresetTrustedPrivateChat
                                                               success:^(MXRoom *room) {

                                                                   roomCreationRequest = nil;

                                                                   // Delay the call in order to be sure that the room is ready
                                                                   dispatch_async(dispatch_get_main_queue(), ^{
                                                                       [room placeCallWithVideo:isVideoCall success:nil failure:nil];
                                                                       [self removePendingActionMask];
                                                                   });

                                                               } failure:^(NSError *error) {

                                                                   NSLog(@"[ContactDetailsViewController] Create room failed");

                                                                   roomCreationRequest = nil;

                                                                   [self removePendingActionMask];

                                                                   // Notify user
                                                                   [[AppDelegate theDelegate] showErrorAsAlert:error];

                                                               }];
                }
                break;
            }
            default:
                break;
        }
    }
}

- (void)handleTapGesture:(UITapGestureRecognizer*)tapGestureRecognizer
{
    UIView *view = tapGestureRecognizer.view;

    if (view == self.contactNameLabelMask && _contact.displayName)
    {
        if ([self.contactNameLabel.text isEqualToString:_contact.displayName])
        {
            // Display contact's matrix id
            NSString *matrixId = self.firstMatrixId;
            if (matrixId.length)
            {
                self.contactNameLabel.text = matrixId;
            }
        }
        else
        {
            // Restore display name
            self.contactNameLabel.text = _contact.displayName;
        }
    }
    else if (view == contactAvatar || view == self.contactAvatarMask)
    {
        // Show the avatar in full screen
        __block MXKImageView * avatarFullScreenView = [[MXKImageView alloc] initWithFrame:CGRectZero];
        avatarFullScreenView.stretchable = YES;

        [avatarFullScreenView setRightButtonTitle:[NSBundle mxk_localizedStringForKey:@"ok"] handler:^(MXKImageView* imageView, NSString* buttonTitle) {
            [avatarFullScreenView dismissSelection];
            [avatarFullScreenView removeFromSuperview];

            avatarFullScreenView = nil;
        }];

        NSString *avatarURL = nil;
        if (self.firstMatrixId)
        {
            MXUser *user = [self.mainSession userWithUserId:self.firstMatrixId];
            avatarURL = [self.mainSession.matrixRestClient urlOfContent:user.avatarUrl];
        }

        // TODO: Display the orignal contact avatar when the contast is not a Matrix user

        [avatarFullScreenView setImageURL:avatarURL
                                 withType:nil
                      andImageOrientation:UIImageOrientationUp
                             previewImage:contactAvatar.image];

        [avatarFullScreenView showFullScreen];
    }
}

@end

redpajama_set_name: RedPajamaGithub


Stonington Borough is a quaint New England village located in the north-east corner of Connecticut, USA approximately a 2.5 hour drive north from New York City or a 1.75 hour drive from the Boston area. The event is located at the New England Science & Sailing Centre, 70 Water Street, Stonington, CT.
Nearby Airports: T.F. Green Airport, Warwick, RI is less than one hour away. The major airport in Boston, Logan International, is under 2 hours away. New York area airports are under 3 hours away.
Participants are responsible for their own food and lodging during the event. We recommend arriving Thursday evening if you are coming any distance. There are a few lodging options, including B&B's and hotels, right in Stonington Borough and more just a short distance away in Mystic Connecticut. For camping options, the Mystic KOA, located in North Stonington has tent sites, RV sites, and rustic cabins.
Friday night, the crew heads to the local Fish Fry held at the Portuguese Holy Ghost Society located at 26 Main Street, right in the borough. It's a community event with family style seating where fish & chips, scallops, clams, calamari, shrimp, chowder and beer/wine are available for purchase at a reasonable cost.
Right in Stonington Borough, there are a number of good restaurants including Noah's and Water Street Café.
A Big Y supermarket is located at 179 Stonington Rd Mystic, CT - about 6.5 miles from the Borough.


text:
SIAC Annual Appreciation Event 2014
The Westin, Singapore
Asia Square Tower 2
Over 150 guests attended SIAC's Annual Appreciation Event on 18 February 2014 at The Westin, Singapore. Mr Lucien Wong (Chairman of SIAC) delivered opening remarks and announced SIAC's new caseload and total sum in dispute for 2013, followed by Ms Lim Seok Hui (CEO of SIAC) who provided a summary of key events and an overview of plans for 2014. Professor Michael Pryles (Founder President of the SIAC Court of Arbitration) went on to present SIAC's detailed results for 2013 to the assembled guests, who were comprised mainly of local and overseas based arbitrators and practitioners.
Mr Lucien Wong said that 2013 was a transformative year for SIAC. SIAC announced a new governance structure with effect from 1 April 2013 and the publication of a revised edition of the SIAC Rules of Arbitration, viz. the SIAC Rules 2013. The new Board of Directors, which he chairs, assumed office on 1 April 2013. As part of the new governance structure, the SIAC Court of Arbitration was established on 1 April 2013, and is led by its Founder President, Professor Michael Pryles. In June 2013, Ms Lim Seok Hui assumed the role of CEO and Ms Tan Ai Leen assumed the role of Registrar. The transition worked well. New case filings increased by a further 10% from 235 new cases received in 2012 to 259 new cases received in 2013. For new cases filed in 2013, the total sum in dispute amounted to S$6.06 billion. The highest claim amount for 2013 was S$3.5 billion, contrasting with the highest claim amount of S$1.5 billion in 2012.
Mr Wong congratulated Professor Michael Pryles who was conferred the Public Service Medal - "Friends of Singapore" award by the President of the Republic of Singapore. The "Friends of Singapore" award is one of Singapore's most prestigious awards for international business leaders who have contributed significantly to Singapore's economic growth, and promoted Singapore's interest in both their professional and personal capacities.
Ms Lim Seok Hui stated that it was a significant year for the Centre in many respects. 2013 saw SIAC explore new frontiers with the opening of its first overseas liaison office in Mumbai, India, followed by the opening of a second overseas liaison office at the new International Dispute Resolution Centre in Seoul, South Korea. The new offices provide SIAC with the unique opportunity to interact more closely and share information on a regular basis with the Centre's current and potential users in these important jurisdictions. Ms Lim said that SIAC will continue to work closely with law firms, in-house counsel teams and industry associations in the major regional markets of China, India, Japan, Southeast Asia and South Korea. In addition, in 2013, SIAC made new forays into the USA, UK and Australia. In the coming year, the Centre expects to develop and consolidate its market share across a diverse portfolio of industries and sectors relevant to these markets.
Turning to major projects for 2014, Ms Lim said that SIAC is developing a training video which is produced and directed by award winning Singaporean film director Eric Khoo's team. The video will showcase Singapore as a preferred seat and venue for international arbitration, and depict the workings of SIAC as a leading international arbitral institution. At the same time, SIAC will be organising the inaugural edition of its annual signature event, SIAC Congress 2014 on 6 June 2014. The SIAC video will be officially launched at the Gala Dinner of the SIAC Congress.
In his presentation, Professor Michael Pryles noted that the Centre currently handles some of the largest and most complex arbitrations. In particular, the highest claim amount for 2013 was S$3.5 billion, contrasting with the highest claim amount of S$1.5 billion in 2012. A diverse range of claims was filed at SIAC in 2013, with the key areas remaining the same as in previous years, namely, international trade and general commercial, corporate and joint venture, and construction and shipping disputes.
As a truly global provider, 86% of new cases filed with SIAC in 2013 were international in nature, and 48% had no connection with Singapore. Apart from Singaporean parties which continued to be the largest contributor of cases in 2013 with 135 new cases, Indian parties topped the list of foreign nationalities last year for the highest number of case filings with 85 cases, remaining as one of the strongest contributors of cases to SIAC over the past 4 years. Other key contributors included Chinese, Indonesian, Hong Kong and American parties. Professor Pryles added that disputes arising from contracts entered into from 2011 to 2013 accounted for 61% of new case filings.
On Special Procedures, Professor Pryles shared that in 2013, SIAC received a new record number of 19 applications to appoint an emergency arbitrator and it accepted all 19 requests, taking the total number of emergency arbitrator applications received and handled by SIAC to 30 as at 31 December 2013. SIAC also received 36 requests for the application of the Expedited Procedure and accepted 22 requests. As at 31 December 2013, SIAC had received a total of 115 applications (of which 83 were accepted) for the Expedited Procedure since the introduction of these provisions in July 2010.
Professor Pryles concluded his presentation by thanking the international legal and business communities for their continued support which has been key to SIAC's success.
For more information, please click here to read our Annual Report.
Click here to view more photos.
You are here: Home Resources Archive News & Events Archive (2014) SIAC Annual Appreciation Event 2014


Human interactions with the environment include effects on the 'water balance' which can be described as the balance between quantities of water that enter and leave a system. Dr. Jana Levison and her team in the Department of Engineering at the University of Guelph study water balances with a specific focus on groundwater dynamics and ecohydrology.
A system that they have been studying for the past three years is Whitemans Creek and its associated watershed. Whitemans Creek is a tributary of the Grand River located in Brant County which supports a coldwater recreational fishery. The Grand River Conservation Authority, which oversees the health of the creek, has expressed concern over the high water usage in the creek's watershed which is mainly related to agricultural activity. In addition, fluctuations in precipitation, air temperature and evapotranspiration as a result of climate change can affect the volume of water in Whitemans Creek and groundwater contributions to the creek.
Dr. Levison and her team, in collaboration with Dr. Marie Larocque and team at the Université du Québec à Montréal (UQÀM), are developing models based on data collected in the field in order to simulate Whitemans Creek's water balance. The models will help predict the effects of climate change on the creek and its watershed and also elucidate the impacts of potential increased irrigation in the area. Results from the study can support management decisions towards sustainable water usage in the watershed.


text:
South Africa - Follow the Instructions South Africa's Flag Quiz/Printout Somalia: Map Quiz Worksheet South Africa Dot to Dot Mystery Map: South Africa Today's featured page: The Brightest Stars
Our subscribers' grade-level estimate for this page: 3rd - 4th
More on South Africa
More Geography Quizzes EnchantedLearning.com
South Africa: Map Quiz Worksheet Geography Pages
This is a thumbnail of the "South Africa Map Quiz Worksheet" page. The full-size printout is available only to site members.
1. What is the capital of South Africa? ____________________
2. What ocean borders South Africa to the west? ____________________
3. What ocean borders South Africa to the southeast? ____________________
4. What is the name of the piece of land in South Africa that lies at the junction of the Atlantic and Indian Oceans? ____________________
5. What is the name of the country that borders South Africa to the northwest? ____________________
6. What is the name of the country that lies entirely within South Africa? ____________________
7. What is the name of the country that is almost surrounded by South Africa (on the east, this country borders Mozambique)? ____________________
8. What is the name of the city that is roughly 50 km southwest of Pretoria? ____________________
9. Roughly how many kilometers is it from Durban to Ladysmith: 2 km, 20 km, 200 km, 2000 km, or 20000 km? ____________________
10. If you wanted to travel from Cape Town to De Aar, in which direction would you head? _____________________


I usually let the person or potential client coming in set the agenda. However, there will be certain basic things I will want to cover, in both a procedural and substantive sense; so that you are aware of these things before you leave the office. I try to convey to you the information in non-technical, or non legal terms; although I may use some legal terms peculiar to a divorce action, so that you can start to learn the terminology. This will be helpful to you throughout the proceeding.
For example, we may discuss that marital property is all property acquired during the marriage, except by gift and inheritance. Any property acquired prior the marriage is separate property, except that any increase in the value of separate property during the marriage is marital property.
We may also discuss that in Colorado, we are not a "Community Property" state. We do not have a 50/50 split of marital assets. We have an "equitable" or "fair" split, which is whatever the Judge says it is, on any given day. This split could be 50/50 or 60/40, or even 70/30.
Part of what the Court will look at in dividing marital assets is the contribution of the individual parties to the accumulation of the assets during the time of the marriage.
I will also want to cover with you information about maintenance, if I hear that you either may have a maintenance claim, or you may be defending a maintenance claim. Colorado has a relatively new maintenance statute which, while it is formulaic, is not binding on the Court. It is a series of calculations, similar to what is done in figuring the child support amount; except that it is not mandatory that the Court follow the maintenance calculation. It is simply advisory.
There are only two issues in divorce cases, money and children. Some cases have both issues; some cases have only one of the issues. In our first meeting, I will want to cover basic concepts with you of what is now called the "Allocation of Parental Responsibilities," in the event you have an issue with parenting time and decision-making. We do not have "custody" anymore in Colorado. Some years ago, the statute was changed to speak in terms of allocation of parental responsibilities, to get away from the concept of "custody," i.e. possession by the parent of the child or children.
Allocation of Parental Responsibilities is comprised of two things: parenting time (we used to call this "visitation") and decision-making; that is the ability for the parties to either make joint or sole decisions for the children with respect to major things : such as health, education and religion. With respect to the parenting time, this has to do with how much time each parent will have with the child or children, measured in overnight visits that the child or children spends with the parent.
This discussion can then segue into a brief discussion about child support, and how it is calculated. I sometimes run sample child support worksheets in my office while you are here; or sample maintenance worksheets, for that matter, so that you can obtain an idea what you may be paying or receiving in the nature of child support and or maintenance.
In a procedural sense, I will want you to understand before you leave the office that you must be a Colorado resident for 91 days before you file the Petition for Dissolution of Marriage. The earliest you can receive your Decree of Dissolution of Marriage is 91 days after you have either served the Respondent or the Respondent has signed the Waiver and Acceptance of Service. If all the issues between the parties are settled, you may be able to take your decree by mail and not go to court for the final hearing after the expiration of the 91 day period.
To start the divorce proceeding, the other side (and this is an adversarial proceeding), called the "Respondent," can be served with the divorce papers (Case Information Sheet, Petition for Dissolution of Marriage, Summons, Waiver and Acceptance of Service and Return of Service); or I can send the Respondent a letter, enclosing the Waiver and Acceptance of Service, and asking that he or she sign the Waiver in front of a Notary Public and return it to me. With the signing of the Wavier or with serving the Respondent, the action is started. This gives the Court personal jurisdiction over the other party.
Within 42 days after the service of the divorce papers on the other side, the Rule 16.2 financial disclosures, as stated above, must be served on the other party and e-filed with the court. The Initial Status Conference ("ISC") must be held within 42 days of filing the Petition for Dissolution of Marriage with the court. In different judicial districts, this informal conference (it is not a hearing) can be held before what is called a Family Court Facilitator, a district court magistrate, or a district court judge. The purpose of this initial conference is to tell the family court facilitator, magistrate or judge what the issues are in the case, and what initial orders may be needed from the court; in an immediate sense.
Monique Mountain, the long time legal assistant for this office, as stated above, will help you put together this financial information. She will draft, (under my supervision) your Sworn Financial Statement, and help you assemble the hardcopies of the account statements, earnings statements and so on; that must accompany your Sworn Financial Statement. (This information is burdensome and tedious to put together, but with Monique's help and guidance, it becomes a less onerous task).
For example, at the Initial Status Conference, it may be discussed; does the marital residence (the home the parties live in) need an appraisal? If so, have the parties agreed on who will be the appraiser, and how the cost of the appraisal will be split between the parties? If there is a retirement account of one of the parties, such as a PERA Defined Benefit Plan, does it need to be reduced to present value by an actuarial expert? What other experts may be needed? Is maintenance in issue? If there is a dispute over the allocation of parental responsibilities, is a Child and Family Investigator ("CFI") needed? (A Child and Family Investigator is a mental health professional or a Ph.D. in psychology, or a lawyer with training to be a CFI). The CFI will investigate the circumstances of both parties in relation to issues of parenting time and decision-making, and then make recommendations to the Court as to what is in the best interests of the child. Does either of the parties want a Temporary Orders Hearing?
We may also talk about the progression of a divorce case, that is starts out by filing the petition and serving the other party, then the Initial Status Conference is held; the a Temporary Orders Hearing may be held, then mediation, or to call it by another name, "Alternate Dispute Resolution, or "ADR," and then the final hearing, which is called Permanent Orders and Decree.
I am a big believer in Alternative Dispute Resolution, or mediation. The reason for this is the first choice in all these cases is to try for the parties to try to settle the case. This can save time, attorney's fees and costs and aggravation. Also, a mediated settlement allows the parties to determine the outcome of their case, rather than a judge.


text:
Leading Companies Austria
Leitbetriebe Austria – Code of conduct
Strong partners
Leitbetriebe Austria Institute
Leading Companies
Awards & Successes
Law & Tax
Business talk at the Apostolic Nunciature: doing business ethically brings success
4. October 2017 12. November 2020
Christian social doctrine and economic success are no contradiction
Doing business ethically means thinking long term
Values provide stability in times of upheaval
The virtues of Christian social doctrine and economic success still are frequently seen as a contradiction. The fact that this is by no means the case and that value-oriented corporate management has a long-term impact both on a monetary level, for example in more profits, as well as on a non-monetary basis, for example in greater employee satisfaction, was the core message of an in-depth talk organised by Leitbetriebe Austria at the Apostolic Nunciature of Austria. Pontifical Nuncio and Archbishop Peter Stephan Zurbriggen emphasised the importance of ethical issues for company practice. It is gratifying that these were discussed by top Austrian business representatives on the premises of the Catholic Church, he said.
Family businesses exemplify business ethics
"The German word "Wirtschaft" (Business) literally means 'to create value'", said Leitbetriebe Austria Managing Director Monica Rintersbacher. "This already shows that business and ethics need not stand in conflict with one another. The orientation of business toward success and the ethical / moral standards of Christian social doctrine are entirely compatible. "This is exemplified in daily business life especially by family-run enterprises", Rintersbacher says. "Those who live by moral principles in private life will also orient themselves around them in business activity as best they can. The fact that these companies are more stable and successful in the long-term than the economy on average certainly shows it's not hurting them".
Christian social doctrine and a "moral compass"
Anton Burger, a professor at the Catholic University of Eichstätt-Ingolstadt and a doctor of economy, theology and law, points to the commonalities between ethics and economics; after all, Adam Smith, the founder of classical economics, was a moral philosopher. "Today there is also consensus that cooperation is individually and socially more advantageous than purely egoistic competition. For this, however, a 'moral compass' in the sense of common values and a common ethos in society is needed. This stems largely from Christian social ethics in Europe." It is therefore the responsibility of the institution of the Church and the individual Christian to actively participate in social discourse.
Acting ethically means thinking in the long term
Günter Bergauer, director of the Church-related bank Schelhammer & Schattera, emphasises the responsibility of the individual. "The orientation of business activity towards short-term goals proved to be a major weakness in our economic system at the time of the financial crisis just ten years ago. The basic prerequisites for ethical action are trust and responsibility. Taking ethical values into consideration almost inevitably results in an orientation toward long-term goals and is therefore an important guideline for one's own actions in times of limited management contracts and short-term benchmarks".
Values remain current
Andreas Gnesda, managing director of teamgnesda, which is involved in designing meaningful working environments, emphasises that values have not lost their relevance, even in the 21st century. "Values are anything but stale. Values such as responsibility, self-initiative and appreciation are extremely popular, as they provide support and orientation to the individual, especially in times of upheaval in the working world – think digitalisation or innovation. An appealing working environment can be an expression of this appreciation, but here too, the reorganisation of office space is only of true value if it also reflects the corporate culture that is already practiced".
Copyright: Sabine Klimpt
WOMEN.FOR.SUSTAINABILITY: Women Leadership Forum 2022
On September 20th, 2022, European Brand Institute in cooperation wi...
Innovation, News
Infineon is the driving force for research in Austria
Infineon Austria ranks among the most research-intensive companies ...
NOVOMATIC prepares for a memorable Entertainment Arena Expo
The NOVOMATIC Romania team is making intensive preparations for the...
International, News
ABB Formula E 100th race showcases sustainable progress in Seoul
ABB FIA Formula E World Championship to be held in South Korea for ...
Become Leading Company


Background and objectives: Alendronate sodium is a commonly used western medicine for the treatment of osteoporosis, but it has many adverse reactions. The main component of the traditional Chinese medicine, known as the Bushen Tiaochong recipe, is Epimedium brevicornu Maxim. (epimedium). Pharmacological studies have shown that the main active ingredient of Epimedium is icariin. Icariin has an estrogen-like effect, can prevent against bone loss and improve bone strength, and has a definite effect on the treatment of postmenopausal senile degenerative osteoporosis. We hypothesize that the Bushen Tiaochong recipe combined with alendronate sodium will be more effective, as well as safer and more reliable than alendronate sodium alone for the treatment of postmenopausal senile degenerative osteoporosis.
Design: A prospective, single-center, randomized, controlled, trial.
Methods: Two hundred patients with postmenopausal senile degenerative osteoporosis will be randomly assigned to an observation group and a control group. In the control group, patients will be given alendronate sodium tablets 10 mg/d and calcium carbonate D3 chewable tablets 0.6 g/d. In the observation group, patients will receive the same treatment as the control group and the Bushen Tiaochong recipe, simmering, twice per day (once in the morning and once in the evening). The duration of treatment will be 6 months in both groups.
Outcome measures and preliminary results: The primary outcome measure is total efficacy 6 months after treatment in both groups. The secondary outcome measures are Visual Analogue Scale scores for waist and back pain; lumbar spine (L2–4) bone mineral density; serum levels of calcium, phosphorus, alkaline phosphatase, osteocalcin, estradiol, follicle stimulating hormone, luteinizing hormone, interleukin-1, and interleukin-6 before and 6 months after treatment; and incidence of adverse reactions 6 months after treatment. The results of a peliminary experiment including 124 patients with postmenopausal senile degenerative osteoporosis who received the same treatment as in the present study revealed that at 6 months after treatment, the total efficacy, L2–4 bone mineral density, serum levels of calcium and estradiol were higher in the observation group than in the control group (P < 0.05). Visual Analogue Scale scores, serum levels of alkaline phosphatase, osteocalcin, interleukin-1, and interleukin-6 were lower in the observation group than in the control group (P < 0.05).
Discussion: We hope to verify that the Bushen Tiaochong recipe combined with alendronate sodium provides better results than alendronate sodium alone for the treatment of postmenopausal senile degenerative osteoporosis.
Ethics and dissemination: This trial has been approved by the Ethics Committee of the Affiliated Hospital of Qinghai University of China (approval number: QHY1703F). The study protocol will be conducted in accordance with the Declaration of Helsinki, formulated by the World Medical Association. Written informed consent will be obtained from all participants. The recruitment of subjects will begin in January 2018. Samples and data will be collected from January to December 2018. Outcome measures will be analyzed in March 2019. This trial will be completed in April 2019. The results of the trial will be reported in a scientific conference or disseminated in a peer-reviewed journal.
Trial registration: This trial was registered with the Chinese Clinical Trial Registry (registration number: ChiCTR-ONC-17013947).
The objective of this study is to determine the efficacy and safety of the Bushen Tiaochong recipe combined with alendronate sodium in the treatment of postmenopausal senile degenerative osteoporosis.
This prospective, randomized, controlled trial will analyze the data from 200 patients with postmenopausal senile degenerative osteoporosis. These patients will be randomly divided into two groups. In the control group, patients will be given alendronate sodium tablets 10 mg/d and calcium carbonate D3 chewable tablets 0.6 g/d. The observation group will receive the same treatment with the addition of the Bushen Tiaochong recipe, simmering, twice per day (once in the morning and once in the evening). The course of treatment will be 6 months in both groups. We will measure the total efficacy 6 months after treatment, as well as Visual Analogue Scale scores for waist and back pain, L2–4 bone mineral density, serological indicators, and the incidence of adverse reactions 6 months after the start of treatment. [Figure 1] shows the flow chart of the study protocol.
Affiliated Hospital of Qinghai University, Qinghai Province, China.
Two hundred female patients of Han ethnicity, aged 55 to 70 years, with postmenopausal senile degenerative osteoporosis, will be enrolled from the out-patient clinic of the Affiliated Hospital of Qinghai University, China.
We will recruit 200 out-patients with postmenopausal senile degenerative osteoporosis from the Affiliated Hospital of Qinghai University of China from January to December 2018. Leaflets that contain the details of the study will be sent to patients with senile degenerative osteoporosis in our clinic. Patients who are interested in participating in the study can directly call the study leader. After screening, based on the inclusion and exclusion criteria and provision of informed consent, these patients will be enrolled in our study and data will be obtained from these patients.
The patients will be assigned numbers from 1 to 200. A random number table will be created using SPSS 13.0 software (SPSS, Chicago, IL, USA). The 200 numbers will be randomized into the two study groups. This is an open-label trial, so no blinding method will be used.
In the control group, patients will be given alendronate sodium tablets (GYZZ H20061303; Ouyi Pharmaceutical Co., Ltd., China Shijiazhuang Pharmaceutical Group, Shijiazhuang, China) 10 mg/d with 200 mL warm water in the morning before having breakfast. At least 30 minutes later, the patients can eat. The patients will then be given calcium carbonate D3 chewable tablets (GYZZ H10950030; Wyeth Pharmaceutical Co., Ltd., Suzhou, China) 0.6 g/d.
In the observation group, patients will be given the Bushen Tiaochong recipe, which mainly contains Epimedium brevicornu Maxim 10 g, Fructus Psoraleae 10 g, Rhizoma Curculiginis 10 g, Colla Cornus Cervi 10 g, Radix Rehmanniae preparata 20 g, Fructus Lycii 20 g, Herba Ecliptae 20 g, Herba Taxilli 15 g, Radix Dipsaci 15 g, Cortex Eucommiae 15 g, Concha Ostreae 30 g, Radix Salviae Miltiorrhiae 15 g, Radix Cyathulae 15 g, Flos Carthami 6 g, and Rhizoma Drynariae 10 g, simmering, twice per day (once in the morning and once in the evening). The course of treatment will be 6 months in both groups.
Total efficacy will be assessed 6 months after treatment: In accordance with the "Guiding principles of clinical study of new Chinese medicine",  efficacy standards are as follows: markedly effective = pain completely disappears, increased bone mineral density; effective = pain is obviously relieved, or no decrease in bone mineral density; and ineffective = no improvement in any aspects compared with pre-treatment. Total efficacy is equal to [(number of cases of markedly effective + number of cases of effective effect)/number of cases of ineffective] × 100%.
Visual Analogue Scale scores for waist and back pain will be assessed before and 6 months after treatment. Scores range from 0 to 10, with a higher score representing more severe pain.
L2–4 bone mineral density will be assessed before and 6 months after treatment using a dual energy X-ray bone density meter (TEDA Shenghong Medical Apparatus Co., Ltd., Tianjin, China) to determine the improvement in bone mass.
Serological indicators will be assessed before and 6 months after treatment using a blood biochemical analyzer (Guangzhou Lebang Medical Equipment Co., Ltd., Guangzhou, China) to measure serum levels of calcium, phosphorus, alkaline phosphatase, and osteocalcin. An immunoradiometric assay will be performed to detect estradiol, follicle stimulating hormone, and luteinizing hormone. An enzyme-linked immunosorbent assay kit (Shanghai Nanke Biotechnology, Shanghai, China) will be used to determine interleukin-1 and interleukin-6 levels.
The incidence of adverse reactions 6 months after treatment will be evaluated. The incidence of adverse reactions is equal to the number of patients with adverse reactions/the total number of patients × 100%.
Adverse reactions, including fracture, infection, dizziness, headache, nausea, and vomiting associated with the study treatment, will be directly recorded. Adverse reactions, the reasons for adverse reactions and explanations will be listed. If severe adverse reactions occur, such as coma, shock, or bleeding, these will be reported to the hospital ethics committee and the test and supervision department.
The protocols have been approved by the Ethics Committee of the Affiliated Hospital of Qinghai University of China. We will sign the trial agreement with the hospital.
Regular monitoring ensures that the enrolled patients will comply with the inclusion criteria and be excluded if they meet exclusion criteria. All procedures will be in strict accordance with the scheme to ensure data integrity.
After the patient completes all examinations, a final follow-up visit will be required to confirm the correctness of the previous follow-up data.
All data will be analyzed using SPSS 13.0 software (SPSS, Chicago, IL, USA), according to the intention-to-treat principle. Normally distributed measurement data will be expressed as the mean ± standard deviation. Non-normally distributed measurement data will be expressed as the lower quartile (q1) and median and upper quartiles (q3). Numerical data will be presented as percentages.
The total efficacy and incidence of adverse reactions will be compared using a Pearson's chi-square test between the two groups. Visual Analogue Scale scores for waist and back pain, bone mineral density results, and serological indicators will be compared using two sample t-test analyses between the two groups. The above-mentioned indicators will be compared using a paired t-test before and after treatment in the two groups. The significance level will be α = 0.05.
In accordance with our experience, we hypothesize that the total efficacy at 6 months after treatment will be 90% in the observation group and 75% in the control group. Taking β = 0.2 and power = 80% with a significance level of α = 0.05, the final effective sample size of n = 97 per group will be calculated using PASS 11.0 software (PASS, Kaysville, UT, USA). If we assume a patient loss rate of 20%, we will require n = 117 patients per group. After screening according to the inclusion and exclusion criteria, we will include n = 100 patients per group.
In the case of missing data, the patient will be excluded from the study and subsequently replaced with a new participant.
The baseline information that will be collected, including demographic data, general disease history, and clinical data, is shown in [Table 2].
The whole trial process will strictly adhere to the quality management standards for clinical trials. Case report forms will be recorded completely, accurately, clearly, and objectively. All data will be input into the computer, locked, and stored. To ensure the accuracy of the data, two data entry personnel will perform double entry and proofreading, separately. After checking, the database will be locked by a data manager, and will not be altered.
The study protocol will be conducted in accordance with the Declaration of Helsinki. The data will be reported in accordance with the Standard Protocol Items: Recommendations for Interventional Trials (SPIRIT) (Additional file 1 [Additional file 1]). Researchers are responsible for providing trial protocols, informed consent, and information provided to the subjects so as to get the independent approval document for the implementation of the clinical research. The trial can be carried out only after obtaining the approval of the ethics committee. This trial has been approved by the Ethics Committee of the Affiliated Hospital of Qinghai University of China (approval number: QHY1703F).
The results of a preliminary experiment including 124 patients with postmenopausal senile degenerative osteoporosis who received the same treatment as in the present study have been obtained as follows.
At 6 months after treatment, the total efficacy, L2–4 bone mineral density, serum levels of calcium and estradiol were higher in the observation group than in the control group (P < 0.05). Visual Analogue Scale scores, serum levels of alkaline phosphatase, osteocalcin, interleukin-1, and interleukin-6 were lower in the observation group than in the control group (P < 0.05). Follicle stimulating hormone levels were not significantly different between the two groups after treatment (P > 0.05).
The treatment of osteoporosis with traditional Chinese medicine is becoming a research area of great interest. The Bushen Tiaochong recipe combined with alendronate sodium can make up for the shortcomings of the traditional Chinese medicine prescription and also for the adverse effects associated with the use of alendronate sodium alone, and achieve the purpose of early analgesia with a prolonged therapeutic effect. It is worthwhile to explore possible clinical promotion in the future.
The aim of the trial is to prove that the Bushen Tiaochong recipe combined with alendronate sodium can relieve low back pain, increase L2–4 bone mineral density, increase serum calcium levels, and reduce osteocalcin and alkaline phosphatase levels in patients with menopausal osteoporosis. The combined effect is expected to be better than that of either treatment alone.
Njeze Ngozi R, Ikechukwu O, Miriam A, Olanike AU, Akpagbula Ulugo D, Njeze Nneze C. Awareness of osteoporosis in a polytechnic in Enugu, South East Nigeria. Arch Osteoporos. 2017 doi: 10.1007/s11657-017-0342-3.
Zhang H, Yue H, Wang C, et al. Clinical characteristics and the identification of novel mutations of COL1A1 and COL1A2 in 61 Chinese patients with osteogenesis imperfecta. Mol Med Rep. 2016;14:4918-4926.
Xie L, Ding F, Jiao J, Kan W, Wang J. Total hip and knee arthroplasty in a patient with osteopetrosis: a case report and review of the literature. BMC Musculoskelet Disord. 2015;16:259.
Liu W, Yang LH, Kong XC, An LK, Wang R. Meta-analysis of osteoporosis: fracture risks, medication and treatment. Minerva Med. 2015;106:203-214.
Khadilkar AV, Mandlik RM. Epidemiology and treatment of osteoporosis in women: an Indian perspective. Int J Womens Health. 2015;7:841-850.
Pazhekattu R, Lau AN, Adachi JD. The tissue-selective estrogen complex: a review of current evidence. Rheumatol Ther. 2015;2:47-58.
Rosales-Aujang E, Muñoz-Enciso JM, Arias-Ulloa R. Prevalence of osteopenia and osteoporosis in postmenopausal women and its relation to risk factors. Ginecol Obstet Mex. 2014;82:223-228.
Doria C, Leali PT, Solla F, et al. Denosumab is really effective in the treatment of osteoporosis secondary to hypogonadism in prostate carcinoma patients? A prospective randomized multicenter international study. Clin Cases Miner Bone Metab. 2016;13:195-199.
Bae J, Park JW. Preparation of an injectable depot system for long-term delivery of alendronate and evaluation of its anti-osteoporotic effect in an ovariectomized rat model. Int J Pharm. 2015;480:37-47.
Minciullo PL, Allegra A, D'Angelo A, Musolino C, Gangemi S. Challenge test to bisphosphonates in patients with hypersensitivity reactions to drugs. Allergol Immunopathol (Madr). 2015;43:127-130.
McClung MR, Grauer A, Boonen S, et al. Romosozumab in postmenopausal women with low bone mineral density. N Engl J Med. 2014;370:412-420.
Xie YM, Yu WY, Dong FH, et al. Clinical practice guideline of traditional Chinese medicine for primary osteoporosis. Zhonghua Zhongyiyao Zazhi. 2012;27:1886-1890.
Xu JH, Yao M, Ye J, et al. One mass improved effect of icariin for postmenopausal osteoporosis in ovariectomy-induced rats: a meta-analysis and systematic review. Menopause. 2016;23:1152-1157.
Luo Z, Liu M, Sun L, Rui F. Icariin recovers the osteogenic differentiation and bone formation of bone marrow stromal cells from a rat model of estrogen deficiency-induced osteoporosis. Mol Med Rep. 2015;12:382-388.
The Chinese Medical Association of osteoporosis and bone mineral disease. Guidelines for the diagnosis and treatment of primary osteoporosis. Zhonghua Guzhishusong he Gukuangyan Jibing Zazhi. 2011;4:2-18.
Liu BX. "Guiding principles of clinical study of new Chinese medicine" and syndrome differentiation and treatment of postmenopausal osteoporosis. Zhongguo Meirong Yixue Zazhi. 2010;19:135-138.
Gao H, Xia T, Han B, et al. Chinical study of bushen tiaochong recipe on treating premature ovarian failure. Liaoning Zhongyi Zazhi. 2007;34:1557-1560.
Tang BM. Effect of bushen tiaochong decoction in treating 62 patients with osteoporosis after menopause. Zhongguo Shiyan Fangjixue Zazhi. 2015;21:191-194.
Study conception and design, manuscript writing and proofreading: MGQ. Constructive revisions: LQ. Assistance of experiment implementation: LL and JS. All authors approved the final version of the manuscript.
This trial has been approved by the Ethics Committee of Affiliated Hospital of Qinghai University of China (approval number: QHY1703F). The study will be performed in accordance with the Declaration of Helsinki and relevant ethical principles.
The authors certify that they will obtain patient consent forms. In the form, patients will give their consent for their images and other clinical information to be reported in the journal. The patients will understand that their names and initials will not be published and due efforts will be made to conceal their identity, but anonymity cannot be guaranteed.
Additional flie 1: SPIRIT checklist.


text:
Home > Newsroom > Top Stories > Putin, Pashinyan discuss implementation of agreements on Karabakh, restoration of transport links in South Caucasus
Putin, Pashinyan discuss implementation of agreements on Karabakh, restoration of transport links in South Caucasus
MOSCOW. March 16 (Interfax) - Russian President Vladimir Putin and Armenian Prime Minister Nikol Pashinyan discussed progress in the implementation of the trilateral agreements on Nagorno-Karabakh between the leaders of Russia, Armenia, and Azerbaijan, in particular, the observance of the ceasefire, and the restoration of transport and logistical ties in the South Caucasus, in a phone call on Wednesday, the Kremlin press service said.
"Nikol Pashinyan also spoke of the recent contacts seeking to improve Armenian-Azerbaijani and Armenian-Turkish relations," the press service said in a statement.
"The mutual intention to further strengthen the strategic partnership and alliance between Russia and Armenia was reaffirmed. The parties agreed on the Armenian prime minister's visit to Russia in the near future," the statement said.
Armenia Government Leaders Russia Talk


Staff from the Amazon fulfilment centre in Fletton celebrated the start of summer with a fun day out at Peterborough Rugby Club.
Members of the Amazon team brought their families and friends along to an outdoor party that featured fairground rides, a live band, zorbing, bouncy castles, BBQ food and some well-known children's film characters.
The event was open to everyone from the fulfilment centre including day and nightshift teams that work in receiving of products, stowing, picking, packing, shipping, quality and finance.
Adam Symonds, Learning Coordinator at Amazon Peterborough, said: "The summer event at Amazon is always one of the best in the year because everyone brings their family and friends along and there's a great buzz about the place.
" This year was no exception, the activities were brilliant and there was a little bit of something for everyone.


A Texas woman claims she was 'assaulted' by a urinating toy at a restaurant in Tennessee, according to KXAN.
Isabelle Lassiter and her husband were outside of Nashville on a job and decided to catch a bite at a hibachi restaurant. That's when the dastardly deed took place.
While taking in the entertainment of the hibachi chef, the lady was sprayed with water by a toy used by the chef.
The lady claimed the toy peed on her. Because of the horror they experienced from being sprayed with a little water, the couple called the police.
However, after an investigation by the reporting officer, no charges were filed.


Applies to catalog quantity orders shipped FedEx Ground Service, billed F.O.B. Memphis, TN with shipment origination Tustin, CA 92780 and shipment destination East of the Mississippi River.
with shipment origination Tustin, CA 92780 and shipment destination East of the Mississippi River.
Applies to all items including clearance, discounted and blanks at catalog quantities, regardless of price point.
These discounts apply to the continental United States only. Hawaii, Alaska and Puerto Rico are excluded.
Expedited Service is not included.
Continue sending in your orders as usual with your desired ship method and our team will take care of the rest.
Advantage 24 orders apply with Terms and Conditions.
Offer does not include drop ship charges. Per Logomark's shipping terms and conditions, drop ship charges of $5 per location will apply.
Freight for pre-production samples will be charged. Logomark reserves the right to ship pre-production samples any method to meet client approvals and purchase order delivery expectations.
Shipments are through FedEx on Logomark's account only. Logomark will not credit back and is not responsible for reimbursing any freight costs due to freight methods listed as anything but FedEx on the PO. Logomark reserves the right to change the ship carrier at their own discretion.
Hazardous Materials or Dangerous Good Items are not available to ship by Air.


EU net migration is likely to run at over 100,000, and possibly even 130,000 a year, according to a new report. That is equivalent to the population of Manchester coming to settle in the UK every four years.
The report by pressure group MigrationWatchUK says that while the government's policy may have brought non-EU migration down significantly, from 217,000 a year to 140,000 a year, the number of people leaving remains steady at about 70,000 per year. Add in the number of immigrants arriving from within the EU and you get a figure of around 200,000 a year.
This is far higher than the government's target of "tens of thousands a year", and would increase the UK population by 5 to 8 million over the next 20 years.
The report suggests the government can tackle this by renegotiating a new settlement with other EU countries where the benefits system would be closed off from newly-arrived immigrants for the first five years they're in the country. This would remove one of the biggest incentives for EU migrants to come here.
Currently, workers from Romania and Bulgaria earn more than four times what they would back home, even if they're on the minimum wage, thanks to tax credits and housing benefit. If they have a dependent spouse and children, that figure can rise to nine times what they'd earn in their home countries.
Cutting these benefits would therefore remove some of the incentives for mass immigration, but, the report concedes, not all of them.
Finally, the report warns that if immigration rises to the levels it predicts, there would be increasing tensions over our EU membership as we struggle to control our borders.
Sir Andrew Green, chairman of MigrationWatchUK said: "The good news is that immigration from outside the EU is coming down steadily as the government have promised. The bad news is that migrants from the EU have driven the policy off course.


My latest op-ed, title above, appeared in The Virginian-Pilot last Thursday. Although I no longer maintain a legislative wishlist, also known as an agenda, I still watch a bunch of bills. One of them was House Bill 333, which would have allowed local school boards to set their own calendars and not be bound by the so-called Kings Dominion law. That law forces them to start school after Labor Day.
With the weather having wreaked havoc on school's schedules, you would think that this was the year the bill stood a chance of passing. You would be wrong.
The bill passed the House 75-24 but died in the Senate after languishing in the Public Education subcommittee of the Senate Committee on Education and Health. It appeared on the subcommittee's docket February 21 but didn't make it to the full committee's docket for its last meeting February 27. Unlike previous years, there was almost no news coverage of the bill's demise; this article is about the only one I found.
There was an editorial last Friday, urging the Prince William school board to pursue a waiver of the rule. 78 localities have a waiver already, and a bill to protect those waivers – discussed here – failed, too.
We didn't have Kings Dominion when I was a kid. Of course, if memory serves, we didn't have this much snow, either. One thing I know we didn't have: Spring Break. We were off Good Friday and Easter Monday – that was it. But we also didn't have SOLs or any standardized testing. Or computers. Or calculators. Yet, the same 180-day attendance requirement existed then as it does now.
I don't know how you cram all the new stuff into the same only number of days. Actually, I know you can't, because I see it every day. I'm amazed daily by what has been omitted from student's learning.
Virginia has placed a of of burdens on the public schools. This is one that needs to go away.
My column appears in The Virginian-Pilot every week, usually on Thursdays. You can see the columns as they are published here, or navigate to them from the PilotOnline.com homepage by clicking on Opinion and then choosing my name at the bottom of the dropdown list. You can also see the columns by liking my Facebook page. Although my column appears weekly, I am not and have never been an employee of The Virginian-Pilot nor am I paid for my contributions to the paper.


GMB's European Officer Kathleen Walker-Shaw will be speaking at a meeting held by European Research and Information Service (ERIS) on Saturday 10th Sept 2016. Details can be downloaded below.
You can also download the ERIS newsletters here too.